[izpack-users] Exception when adding an Uninstaller (was) Re:Re:Integrating Izpack with eclipse

Jacobo García jacobo.garcia at gmail.com
Thu Aug 31 16:30:04 CEST 2006


First of all I want to thanks Klaus again for all the effor he is putting in
helping me.


I've been trying with a non-blank path and nothing differnt happened. Still
I removed the blank in standalone-compiler.jar (I think was caused for
cut/paste into web broswer.)

So the code looks now this way

<?xml version="1.0" encoding="UTF-8"?>
<project name="Installer Generator" default="default" basedir=".">
    <target name="default" description="Main target">
        <izpack input="/Users/jacobo/Desktop/export/tmp/installer.xml"
output="/Users/jacobo/Desktop/acobo-installer.jar"
basedir="/Users/jacobo/Desktop/export/tmp"
izpackdir="/Users/jacobo/Documents/workspace/EIG/" />
    </target>
</project>

Same nullpointer exception at same place.

I don't know how to debug this, even further I don't know how to compile
izpack by myself.







On 8/31/06, Bartz, Klaus <Klaus.Bartz at coi.de> wrote:
>
>  Hi Jacobo,
> I have tested it on my box and it runs if I remove the blank in
> standalone-compiler.jar.
> With ant 1.6.2 and a little bit changed path. May be try a path without
> blanks.
> Will be nice if you use a little bit bigger fond because then I must not
> copy it to an editor to
> be able to read it right...
> I do not know why it do not run as your side. May be you can make some
> System.out.println in the
> involved code and see what happens. Debugging this will be a little bit
> hard...
> If you will, there is a description in the docu. To invoke
> standalone-compiler.jar it have to be refered
> as external jar and in opposide to "normal" debugging of IzPack infront of
> the project.
> To debug it with ant I do not know.
>
> Cheers
>
> Klaus
>
> -----Original Message-----
> *From:* izpack-users-bounces at lists.berlios.de [mailto:
> izpack-users-bounces at lists.berlios.de]*On Behalf Of *Jacobo García
> *Sent:* Wednesday, August 30, 2006 9:08 PM
> *To:* izpack-users at lists.berlios.de
> *Subject:* Re: [izpack-users] Exception when adding an Uninstaller (was)
> Re:Re:Integrating Izpack with eclipse
>
> I'm not quite sure of this, but does findIzPackResource looks in system
> classpath for files?, standalone-compiler is not in system classpath, but
> in my plugin's one, so maybe something has to be changed in order to make
> this work.
>
> In other side It seems findIzPackResource is returning null. But reading
> findIzPackResource code I can't understand how is this possible, if path
> variable is not null (and it isn`t) the method should return an URL like
> this /lib/uninstaller.jar
>
> If path variable is null, and it isn't because addInfo call
> findIzPackResource directly with String lib/uninstaller.jar  a new
> resource is created, and then returned.
>
> Any clues on this ideas?
>
> On 8/30/06, Jacobo García <jacobo.garcia at gmail.com> wrote:
> >
> > The uninstal.jar file is inside standalone-compiler.jar , so this is not
> > the problem.
> >
> > My ant file is like this
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <project name="Installer Generator" default="default" basedir=".">
> >     <taskdef name="izpack"
> > classpath="/Users/jacobo/Documents/workspace/Eclipse Installer
> > Generator/izpack/lib/standalone- compiler.jar" classname="
> > com.izforge.izpack.ant.IzPackTask" />
> >
> >     <target name="default" description="Main target">
> >         <izpack input="/Users/jacobo/Desktop/export/tmp/installer.xml"
> > output="/Users/jacobo/Desktop/jacobo- installer.jar"
> > basedir="/Users/jacobo/Desktop/export/tmp"
> > izpackdir="/Users/jacobo/Documents/workspace/Eclipse Installer Generator/"
> > />
> >     </target>
> > </project>
> > Here is the folder structure of the plugin, Eclipse Installer Generatoris root plugin folder
> >
> > Eclipse Installer Generator/izpack/lib/installer-generator.jar
> >
> > I've been trying changing last part izpackdir attribute to every
> > combination of (izpack, izpack/lib, izpack/lib/installer- generator.jar)
> >
> > Nothing of this worked.
> >
> > Thanks again for your time.
> >
> >
> >  On 8/30/06, Bartz, Klaus < Klaus.Bartz at coi.de> wrote:
> >
> > >   Hi Jacobo,
> > > normaly it compiles without this error.
> > > Look into findIzPackResource.this method searches in your compiler jar
> > > file for the
> > > needed resources.
> > > Please look into standalone-compiler.jar; there should be stored
> > > uninstaller.jar in path lib\.
> > > If not, it is missing at generating standalone-compiler.jar. Build
> > > stanalone-compiler.jar only
> > > in a full IzPack project with installed sources.
> > > I do not work with the standalone-compiler.jar. May be you have to set
> > > izpackdir also you should
> > > not need it.
> > >
> > > Cheers
> > >
> > > Klaus
> > >
> > >  -----Original Message-----
> > > *From:* izpack-users-bounces at lists.berlios.de [mailto:
> > > izpack-users-bounces at lists.berlios.de]*On Behalf Of *Jacobo García
> > > *Sent:* Wednesday, August 30, 2006 4:22 PM
> > > *To:* izpack-users at lists.berlios.de
> > > *Subject:* [izpack-users] Exception when adding an Uninstaller (was)
> > > Re: Re:Integrating Izpack with eclipse
> > >
> > >  Thanks for your help Klaus, I've managed to run the compiler now. I'm
> > > using the standalone compiler at this moment, and it looks that my plugin
> > > works well with it.
> > >
> > > By the way I'm Having another problem at this moment.
> > >
> > > This is a typical izpack xml file that my plugin generates:
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <installation version="1.0">
> > >   <info>
> > >     <appname>jaco</appname>
> > >     <appversion>dsfa</appversion>
> > >     <authors>
> > >       <author email="fdasadsf" name="asdfads"/>
> > >     </authors>
> > >     <url>http://www.com.com</url>
> > >     <javaversion>1.5</javaversion>
> > >   </info>
> > >   <guiprefs height="600" resizable="no" width="800"/>
> > >   <resources>
> > >     <res id="InfoPanel.info"
> > > src="/Users/jacobo/Desktop/export/tmp/readme.txt"/>
> > >   </resources>
> > >   <panels>
> > >     <panel classname="HelloPanel"/>
> > >     <panel classname="InfoPanel"/>
> > >     <panel classname="InstallPanel"/>
> > >   </panels>
> > >   <packs>
> > >     <pack name="Main" required="yes">
> > >       <description>Main Pack that does all the
> > > installation</description>
> > >       <file dir="/Users/jacobo/Desktop/export/linux.gtk.x86" os="unix"
> > > override="true" targetdir="/opt/jaco"/>
> > >       <file dir="/Users/jacobo/Desktop/export/win32.win32.x86"
> > > os="windows" override="true" targetdir="c:\Program Files\jaco"/>
> > >       <file dir="/Users/jacobo/Desktop/export/macosx.carbon.x86"
> > > os="mac" override="true" targetdir="/Applications/jaco"/>
> > >     </pack>
> > >   </packs>
> > > </installation>
> > >
> > >
> > > When running this file, I get a null pointer exception, this is the
> > > code:
> > >
> > > Caused by: java.lang.NullPointerException
> > >     at org.apache.tools.ant.Task.log(Task.java:346)
> > >     at com.izforge.izpack.ant.IzPackTask.packagerMsg(IzPackTask.java:142)
> > >
> > >     at com.izforge.izpack.compiler.Packager.sendMsg(Packager.java:242)
> > >     at com.izforge.izpack.compiler.Packager.addResource(Packager.java
> > > :371)
> > >     at com.izforge.izpack.compiler.Compiler.addResource(Compiler.java
> > > :408)
> > >     at com.izforge.izpack.compiler.CompilerConfig.addInfo (
> > > CompilerConfig.java:1195)
> > >     at com.izforge.izpack.compiler.CompilerConfig.executeCompiler(
> > > CompilerConfig.java:310)
> > >     at com.izforge.izpack.ant.IzPackTask.execute(IzPackTask.java:234)
> > >     ... 67 more
> > > --- Nested Exception ---
> > >
> > > Looking at izpack source code, the exception comes in
> > > CompilerConfig.java, in this portion of code:
> > >
> > >  XMLElement uninstallInfo = root.getFirstChildNamed("uninstaller");
> > >         if (validateYesNoAttribute(uninstallInfo, "write", YES))
> > >         {
> > >         /* thisline gives the error*/  URL url =
> > > findIzPackResource("lib/uninstaller.jar", "Uninstaller", root);
> > >             compiler.addResource("IzPack.uninstaller", url);
> > >
> > >             if (uninstallInfo != null)
> > >             {
> > >                 String uninstallerName = uninstallInfo.getAttribute
> > > ("name");
> > >                 if (uninstallerName != null &&
> > > uninstallerName.endsWith(".jar")
> > >                         && uninstallerName.length() > ".jar".length())
> > >                     info.setUninstallerName (uninstallerName);
> > >             }
> > >         }
> > >
> > > This happens if I include uninstall element on the xml or not. It
> > > looks like it does not find uninstaller.jar, So I tried to add it to
> > > the same folder where standalone-compiler.jar is. But did not worked.
> > >
> > > ¿Is this a Bug?
> > >
> > > On 8/30/06, Bartz, Klaus <Klaus.Bartz at coi.de> wrote:
> > > >
> > > >
> > > > Hi Jacobo,
> > > > I think only izpackdir is missing in the task, but let us
> > > recapitulate:
> > > >
> > > > You need all contents of lib (except standalone-compiler.jar) and
> > > bin also
> > > > including the sub dirs e.g. bin/panels.
> > > > Panels jars should be exist there, the subdirs created at building
> > > are not
> > > > needed.
> > > >
> > > > Alternate you can use the  standakine-compiler. Then you need
> > > nothing more
> > > > because it should contain all.
> > > > If you have custom panels/actions a rebuild will be needed.
> > > >
> > > > IzPack needs to know where are the bin and the lib directory.
> > > therefore the
> > > > ant call should contain
> > > > also izpackdir. My task (used since some years) seems like:
> > > > ...
> > > >   <taskdef name="izpack" classpath="${ izpack.home}/lib/compiler.jar"
> > >
> > > >     classname="com.izforge.izpack.ant.IzPackTask"/>
> > > > ...
> > > >   <izpack
> > > > input="${installersrc.root}/product/appl/install/IzPackProjects/${
> > > installer.subproject}/install.xml"
> > > >     output="${installerdest.root}/${installer.subproject}/install.jar"
> > >
> > > >     installertype="standard"
> > > >     basedir="${installersrc.root }"
> > > >     izpackdir="${izpack.home}/"/>
> > > >
> > > > Alternate:
> > > >
> > > >
> > > > ...
> > > >   <taskdef name="izpack"
> > > > classpath="${izpack.home}/lib/standalone_compiler.jar"
> > > >     classname="com.izforge.izpack.ant.IzPackTask"/>
> > > > ...  <izpack
> > > > input="${installersrc.root}/product/appl/install/IzPackProjects/${
> > > installer.subproject}/install.xml"
> > > >     output="${ installerdest.root}/${installer.subproject}/install.jar"
> > >
> > > >     installertype="standard"
> > > >     basedir="${installersrc.root}" />
> > > >
> > > > Ant vars are defined at the beginning of the ant script...
> > > >
> > > > If this not work, test with a full IzPack installation.
> > > >
> > > > Hope it helpes
> > > >
> > > >
> > > > Klaus
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: izpack-users-bounces at lists.berlios.de
> > > > [mailto:izpack-users-bounces at lists.berlios.de ]On Behalf Of
> > > > Jacobo García
> > > > Sent: Wednesday, August 30, 2006 1:41 AM
> > > > To: izpack-users at lists.berlios.de
> > > > Subject: [izpack-users] Integrating Izpack with eclipse
> > > >
> > > > Hello,
> > > >
> > > > I am developing an Eclipse plugin that creates an installer for
> > > Eclipse RCP
> > > > applications.
> > > >
> > > > I have copied both lib and bin folders from my OS X Izpack (3.9.0 .
> > > preview)
> > > > installation into a folder called izpack that is in the root of my
> > > plugin
> > > > folder.
> > > >
> > > > The plugin works this way:
> > > >
> > > > The user exports (to a folder, let's call it export folder) an
> > > Eclipse RCP
> > > > application with other Eclipse wizard (not my plugin), usually
> > > Windows, Mac,
> > > > and Linux exports are performed with "Eclipse Delta Pack".
> > > >
> > > > Then user runs the plugin I am developing, in this process he
> > > chooses the
> > > > export folder, and other parameters like the authors or website.
> > > >
> > > > Then the plugin generates an ant script file and an izpack xml
> > > installer
> > > > (named installer.xml). This file is located in a tmp folder located
> > > inside
> > > > the export folder. The ant file contains izpack task, and the plugin
> > > > launches the ant task inside the plugin with a specific Eclipse
> > > class called
> > > > AntRunner.
> > > >
> > > > Here is an example of the ant file.
> > > >
> > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > <project name="Installer Generator" default="default" basedir=".">
> > > >     <target name="default" description="Main target">
> > > >
> > > >         <izpack
> > > > input="/Users/jacobo/Desktop/export/tmp/installer.xml"
> > > > output="/Users/jacobo/Desktop/jj- installer.jar"
> > > > installerType="standard"
> > > > basedir="/Users/jacobo/Desktop/export/tmp"/>
> > > >     </target>
> > > > </project>
> > > >
> > > >
> > > > In eclipse you can register ant tasks in a file called plugin.xml,
> > > so you
> > > > don't have to use  taskdef in order to define tasks, that's what
> > > I've done
> > > > with the code shown above.
> > > >
> > > > The problem is that I am getting the famous - You have misspelt
> > > 'izpack'. -
> > > > ant exception. I am wondering if I do have to register more izpack
> > > tasks
> > > > that IzPackTask depends on. I looked at izpack sources and
> > > IzPackTask only
> > > > depends on other classes that are inside compiler.jar. To be totally
> > > sure, I
> > > > created a little test ant task jar file, and tried to add it to
> > > plugin.xml
> > > > the same way I do with izpack ant tasks, and this worked fine.
> > > >
> > > > Here it comes my first question, am I missing something? some izpack
> > > folder?
> > > > some .jar?
> > > >
> > > >
> > > >
> > > > Also I tried to add the taskdef code to my ant task, so right now
> > > ant task
> > > > looks this way.
> > > >
> > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > <project name="Installer Generator" default="default" basedir=".">
> > > >
> > > >     <taskdef name="izpack"
> > > > classpath="/Users/jacobo/Documents/workspace/Eclipse
> > > > Installer Generator/izpack/lib/compiler.jar" classname="
> > > > com.izforge.izpack.ant.IzPackTask " />
> > > >     <target name="default" description="Main target">
> > > >
> > > >         <izpack
> > > > input="/Users/jacobo/Desktop/export/tmp/installer.xml"
> > > > output="/Users/jacobo/Desktop/jacobo- installer.jar"
> > > > installerType="standard"
> > > > basedir="/Users/jacobo/Desktop/export/tmp"/>
> > > >     </target>
> > > > </project>
> > > >
> > > > This way I am getting this exception: A class needed by class
> > > > com.izforge.izpack.ant.IzPackTask cannot be found:
> > > >
> > > > I am not sure what is wrong in this second file, something related
> > > to
> > > > basedir?
> > > >
> > > > That's all, I can show you all the code if you find it necessary.
> > > >
> > > > Thanks for your attention, and please accept my apologies about my
> > > bad
> > > > english.
> > > >
> > > > --
> > > > Jacobo García López de Araujo
> > > > _______________________________________________
> > > > izpack-users mailing list
> > > > izpack-users at lists.berlios.de
> > > > https://lists.berlios.de/mailman/listinfo/izpack-users
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Jacobo García López de Araujo
> > >
> > >
> > > _______________________________________________
> >
> >
> > izpack-users mailing list
> > izpack-users at lists.berlios.de
> > https://lists.berlios.de/mailman/listinfo/izpack-users
> >
> >
> >
> >
> >
> > --
> > Jacobo García López de Araujo
> >
>
>
>
> --
> Jacobo García López de Araujo
>
> _______________________________________________
> izpack-users mailing list
> izpack-users at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/izpack-users
>
>
>


-- 
Jacobo García López de Araujo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.berlios.de/pipermail/izpack-users/attachments/20060831/53c7ef73/attachment.html 


More information about the izpack-users mailing list