[izpack-users] Izpack custom panels With Maven2

Eric Rose eric at forge.com.au
Tue Mar 13 00:15:13 CET 2007


On Wednesday 14 February 2007 01:00, Mandeep Saini wrote:
> Hi all,
>
> I am trying to use Izpack with maven2. I have tried to use the maven-
> izpack-plugin but its not working for me. It would be very nice if any
> one of you can provide me a working example for this. I have already
> checked the mail on the forum related to this topic but even the blog
> link posted in those mails is not solving my problem.

Mandeep,

I have been moving all our projects to use maven2, and have created a custom 
archetype that I'm testing for creation of installers. It's all a bit of a 
hack, IMO, but it seems to work.

>
> Along with this, I am writing few custom panels for my installer. Is
> there any way to make jar file of those panels and move it to bin/panels
> directory by using the maven izpack plugin. If not what is the right way
> to incorporate the custom panels using maven2.
>
> In order to write custom panels I am importing few panel classes like
> com.izforge.izpack.panels.UserInputPanel in my panel classes. I have
> defined the dependency on standalone-compiler.jar file but because this
> jar file does not contain the panel classes so not able to compile the
> code. Please suggest me how can I define dependency on these panel jar
> files. Should I deploy jar file of each panel on my remote repository.
> Or there is another way to deal with it.


My setup is to create a multiproject hierarchy with one panel per subproject. 
I've found it sufficient (but maybe not necessary) to add 4 artifacts from 
IzPack to my internal repository:

* InstallPanel 
* UserInputPanel 
* izevent 
* standalone-compiler

Each of my custom panels depends on some of these artifacts and is then 
deployed to the company repository. Once they're in there, I can use them in 
any installer as necessary.

The hacky bit really kicks in when I create the installer. I have a structure 
as follows

src
 /-main
  /-izpack
    /-lang
    /-en
    /-...

where the main izpack configuration files live in src/main/izpack whch is 
treated as a resource directory and filtered so I can have parameters like 
${pom.version} and the resources plugin looks in target/izpack for the output 
of the filtering process.

Some properties from my settings define where Izpack lives

  <properties>
    <izpack.native>/usr/local/IzPack-3.9.0-patched//bin/native</izpack.native>
    <izpack.basedir>/usr/local/IzPack-3.9.0-patched/</izpack.basedir>
    <izpack.panels>/usr/local/IzPack-3.9.0-patched//bin/panels</izpack.panels>

and I use the dependency plugin for the panels I need (defined in the 
dependencies section) to copy the artifacts created by the subprojects from 
my repository into bin/panels.

Really, this should all be put into a custom plugin with a couple of mojos for 
panels, native code, etc. The archetype I created is a POM skeleton  for the 
plugin invocations. It  has the basic outline for jogging the memory of me or 
coworkers as to what needs to be done in creating a new installer (which 
should be rare enough that our memories will need jogging). It certainly 
wouldn't create a valid installer out of the box :(

What I have cobbled together seems to work so far for our needs. I just need 
to get time to refine it. If you want I can send you copy of what I've done.

The more I use  maven, the more I like it as a project development model, and 
it'd be nice if there was momentum to make IzPack a maven project. I fear 
that it's a lot of work, however.

Eric

-- 
Eric Rose              | "Sed quis custodiet ipsos custodes?"
eric at integeo.com       |         Juvenal (Satires, VI.347-8)

***********************************************************************
This message contains privileged and confidential information intended
only for the use of the addressee named above.  If you are not the
intended recipient of this message you must not disseminate, copy or
take any action in reliance on it.  If you have received this message
in error please notify the sender immediately.  Any views expressed in
this message are those of the individual sender, except where the
sender specifically states them to be the views of another (including
a Body Corporate).

If you wish to opt out from future messages, send an email to
unsubscribe at integeo.com with the subject UNSUBSCRIBE
************************************************************************

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : https://lists.berlios.de/pipermail/izpack-users/attachments/20070313/dbb584ff/attachment.pgp 


More information about the izpack-users mailing list