directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From akaras...@apache.org
Subject svn commit: r371823 - in /directory/trunks/apacheds/standalone/installers: plugin/src/main/java/org/apache/directory/server/standalone/installers/ test/
Date Tue, 24 Jan 2006 05:32:43 GMT
Author: akarasulu
Date: Mon Jan 23 21:32:38 2006
New Revision: 371823

URL: http://svn.apache.org/viewcvs?rev=371823&view=rev
Log:
all compiles amd builds fine creating the installation image

Added:
    directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/CreateImageCommand.java
  (with props)
    directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/MojoCommand.java
  (with props)
    directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/ServiceInstallersMojo.java
  (with props)
Removed:
    directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/CreateImage.java
Modified:
    directory/trunks/apacheds/standalone/installers/test/pom.xml

Added: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/CreateImageCommand.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/CreateImageCommand.java?rev=371823&view=auto
==============================================================================
--- directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/CreateImageCommand.java
(added)
+++ directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/CreateImageCommand.java
Mon Jan 23 21:32:38 2006
@@ -0,0 +1,318 @@
+package org.apache.directory.server.standalone.installers;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.Iterator;
+import java.util.Properties;
+
+import org.apache.directory.server.standalone.daemon.InstallationLayout;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.InterpolationFilterReader;
+
+
+public class CreateImageCommand implements MojoCommand
+{
+    private final Properties filterProperties = new Properties( System.getProperties() );
+    private final ServiceInstallersMojo mymojo;
+    private final Target target;
+
+    
+    public CreateImageCommand( ServiceInstallersMojo mojo, Target target )
+    {
+        this.mymojo = mojo;
+        this.target = target;
+        initializeFiltering();
+    }
+
+
+    private void initializeFiltering() 
+    {
+        filterProperties.putAll( mymojo.getProject().getProperties() );
+        filterProperties.put( "app" , mymojo.getApplicationName() );
+        filterProperties.put( "app.caps" , mymojo.getApplicationName().toUpperCase() );
+        filterProperties.put( "app.server.class", mymojo.getApplicationClass() );
+
+        if ( mymojo.getApplicationVersion() != null )
+        {
+            filterProperties.put( "app.version", mymojo.getApplicationVersion() );
+        }
+        
+        if ( mymojo.getApplicationDescription() != null )
+        {
+            filterProperties.put( "app.init.message", mymojo.getApplicationDescription()
);
+        }
+    }
+
+    
+    public void execute() throws MojoExecutionException, MojoFailureException
+    {
+        // make the layout directories
+        File dir = new File( mymojo.getOutputDirectory(), target.getId() );
+        InstallationLayout layout = new InstallationLayout( dir );
+        layout.mkdirs();
+        
+        // copy over the REQUIRED bootstrapper.jar file 
+        try
+        {
+            FileUtils.copyFile( mymojo.getBootstrapper().getFile(), layout.getBootstrapper()
);
+        }
+        catch ( IOException e )
+        {
+            throw new MojoFailureException( "Failed to copy bootstrapper.jar " + mymojo.getBootstrapper().getFile()
+                + " into position " + layout.getBootstrapper() );
+        }
+        
+        // copy over the REQUIRED bootstrapper configuration file
+        try
+        {
+            FileUtils.copyFile( target.getBootstrapperConfiguraitonFile(), layout.getBootstrapperConfigurationFile()
);
+        }
+        catch ( IOException e )
+        {
+            throw new MojoFailureException( "Failed to copy bootstrapper configuration file
"  
+                + target.getBootstrapperConfiguraitonFile() 
+                + " into position " + layout.getBootstrapperConfigurationFile() );
+        }
+        
+        // copy over the optional logging configuration file
+        if ( target.getLoggerConfigurationFile().exists() )
+        {
+            try
+            {
+                FileUtils.copyFile( target.getLoggerConfigurationFile(), 
+                    layout.getLoggerConfigurationFile() );
+            }
+            catch ( IOException e )
+            {
+                mymojo.getLog().error( "Failed to copy logger configuration file "  
+                    + target.getLoggerConfigurationFile() 
+                    + " into position " + layout.getLoggerConfigurationFile(), e );
+            }
+        }
+        
+        // copy over the optional server configuration file
+        if ( target.getServerConfigurationFile().exists() )
+        {
+            try
+            {
+                FileUtils.copyFile( target.getServerConfigurationFile(), 
+                    layout.getConfigurationFile() );
+            }
+            catch ( IOException e )
+            {
+                mymojo.getLog().error( "Failed to copy server configuration file "  
+                    + target.getServerConfigurationFile()
+                    + " into position " + layout.getConfigurationFile(), e );
+            }
+        }
+        
+        // copy over the init script template
+        if ( target.getOsFamily().equals( "unix" ) )
+        {
+            try
+            {
+                copyAsciiFile( getClass().getResourceAsStream( "template.init" ), layout.getInitScript(),
true );
+            }
+            catch ( IOException e )
+            {
+                mymojo.getLog().error( "Failed to copy server configuration file "  
+                    + target.getServerConfigurationFile()
+                    + " into position " + layout.getInitScript(), e );
+            }
+        }
+        
+        // now copy over the jsvc executable renaming it to the applicationName 
+        if ( target.getOsName().equals( "linux" ) && 
+             target.getOsArch().equals( "i386" ) )
+        {
+            File executable = new File ( layout.getBinDirectory(), mymojo.getApplicationName()
);
+            try
+            {
+                copyBinaryFile( getClass().getResourceAsStream( "jsvc_linux_i386" ), executable
);
+            }
+            catch ( IOException e )
+            {
+                throw new MojoFailureException( "Failed to copy jsvc executable file "  
+                    + getClass().getResource( "jsvc_linux_i386" )
+                    + " into position " + executable.getAbsolutePath() );
+            }
+        }
+        
+        // now copy over the jsvc executable renaming it to the mymojo.getApplicationName()

+        if ( target.getOsName().equals( "sunos" ) && 
+             target.getOsArch().equals( "sparc" ) )
+        {
+            File executable = new File ( layout.getBinDirectory(), mymojo.getApplicationName()
);
+            try
+            {
+                copyBinaryFile( getClass().getResourceAsStream( "jsvc_solaris_sparc" ), executable
);
+            }
+            catch ( IOException e )
+            {
+                throw new MojoFailureException( "Failed to copy jsvc executable file "  
+                    + getClass().getResource( "jsvc_solaris_sparc" )
+                    + " into position " + executable.getAbsolutePath() );
+            }
+        }
+        
+        // now copy over the jsvc executable renaming it to the mymojo.getApplicationName()

+        if ( target.getOsName().equals( "macosx" ) && target.getOsArch().equals(
"ppc" ) )
+        {
+            File executable = new File ( layout.getBinDirectory(), mymojo.getApplicationName()
);
+            try
+            {
+                copyBinaryFile( getClass().getResourceAsStream( "jsvc_macosx_ppc" ), executable
);
+            }
+            catch ( IOException e )
+            {
+                throw new MojoFailureException( "Failed to copy jsvc executable file "  
+                    + getClass().getResource( "jsvc_macosx_ppc" )
+                    + " into position " + executable.getAbsolutePath() );
+            }
+        }
+        
+        // now copy over the Prunsrv and Prunmgr executables renaming them to the mymojo.getApplicationName()
+ w for mgr
+        if ( target.getOsFamily().equals( "windows" ) &&  target.getOsArch().equals(
"x86" ) )
+        {
+            File executable = new File ( layout.getBinDirectory(), mymojo.getApplicationName()
+ ".exe" );
+            try
+            {
+                copyBinaryFile( getClass().getResourceAsStream( "prunsrv.exe" ), executable
);
+            }
+            catch ( IOException e )
+            {
+                throw new MojoFailureException( "Failed to copy prunsrv executable file "
 
+                    + getClass().getResource( "prunsrv.exe" )
+                    + " into position " + executable.getAbsolutePath() );
+            }
+
+            executable = new File ( layout.getBinDirectory(), mymojo.getApplicationName()
+ "w.exe" );
+            try
+            {
+                copyBinaryFile( getClass().getResourceAsStream( "prunmgr.exe" ), executable
);
+            }
+            catch ( IOException e )
+            {
+                throw new MojoFailureException( "Failed to copy prunmgr executable file "
 
+                    + getClass().getResource( "prunmgr.exe" )
+                    + " into position " + executable.getAbsolutePath() );
+            }
+        }
+        
+        copyDependencies( layout );
+    }
+
+
+    private void copyBinaryFile( InputStream from, File to ) throws IOException
+    {
+        FileOutputStream out = null;
+        try 
+        {
+            out = new FileOutputStream( to );
+            IOUtil.copy( from, out );
+        }
+        finally
+        {
+            IOUtil.close( from );
+            IOUtil.close( out );
+        }
+    }
+    
+    
+    private void copyAsciiFile( InputStream from, File to, boolean filtering ) throws IOException
+    {
+        // buffer so it isn't reading a byte at a time!
+        Reader fileReader = null;
+        Writer fileWriter = null;
+        try
+        {
+            if ( mymojo.getEncoding() == null || mymojo.getEncoding().length() < 1 )
+            {
+                fileReader = new BufferedReader( new InputStreamReader( from ) );
+                fileWriter = new FileWriter( to );
+            }
+            else
+            {
+                FileOutputStream outstream = new FileOutputStream( to );
+                fileReader = new BufferedReader( new InputStreamReader( from, mymojo.getEncoding()
) );
+                fileWriter = new OutputStreamWriter( outstream, mymojo.getEncoding() );
+            }
+
+            Reader reader = null;
+            if ( filtering )
+            {
+                // support _${token}
+                reader = new InterpolationFilterReader( fileReader, filterProperties, "_${",
"}" );
+                // support ${token}
+                reader = new InterpolationFilterReader( reader, filterProperties, "${", "}"
);
+                // support @token@
+                reader = new InterpolationFilterReader( reader, filterProperties, "@", "@"
);
+    
+                boolean isPropertiesFile = false;
+                if ( to.isFile() && to.getName().endsWith( ".properties" ) )
+                {
+                    isPropertiesFile = true;
+                }
+                reader = new InterpolationFilterReader( reader, 
+                    new ReflectionProperties( mymojo.getProject(), isPropertiesFile ), "${",
"}" );
+            }
+            else
+            {
+                reader = fileReader;
+            }
+            IOUtil.copy( reader, fileWriter );
+        }
+        finally
+        {
+            IOUtil.close( fileReader );
+            IOUtil.close( fileWriter );
+        }
+    }
+
+
+    private void copyDependencies( InstallationLayout layout ) throws MojoFailureException
+    {
+        Artifact artifact = null;
+        Iterator artifacts = mymojo.getProject().getRuntimeArtifacts().iterator();
+        while ( artifacts.hasNext() )
+        {
+            artifact = ( Artifact ) artifacts.next();
+            if ( artifact.equals( mymojo.getBootstrapper() ) )
+            {
+                mymojo.getLog().info( "Not copying bootstrapper " + artifact );
+            }
+            else
+            {
+                String key = artifact.getGroupId() + ":" + artifact.getArtifactId();
+                if ( mymojo.getExcludes().contains( key ) )
+                {
+                    mymojo.getLog().info( "<<<=== excluded <<<=== " + key
);
+                    continue;
+                }
+                
+                try
+                {
+                    FileUtils.copyFileToDirectory( artifact.getFile(), layout.getLibDirectory()
);
+                    mymojo.getLog().info( "===>>> included ===>>> " + key
);
+                }
+                catch ( IOException e )
+                {
+                    throw new MojoFailureException( "Failed to copy dependency artifact "
 
+                        + artifact + " into position " + layout.getLibDirectory() );
+                }
+            }
+        }
+    }
+}

Propchange: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/CreateImageCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/MojoCommand.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/MojoCommand.java?rev=371823&view=auto
==============================================================================
--- directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/MojoCommand.java
(added)
+++ directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/MojoCommand.java
Mon Jan 23 21:32:38 2006
@@ -0,0 +1,11 @@
+package org.apache.directory.server.standalone.installers;
+
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+
+
+public interface MojoCommand
+{
+    public abstract void execute() throws MojoExecutionException, MojoFailureException;
+}

Propchange: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/MojoCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/ServiceInstallersMojo.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/ServiceInstallersMojo.java?rev=371823&view=auto
==============================================================================
--- directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/ServiceInstallersMojo.java
(added)
+++ directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/ServiceInstallersMojo.java
Mon Jan 23 21:32:38 2006
@@ -0,0 +1,308 @@
+package org.apache.directory.server.standalone.installers;
+
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.project.MavenProject;
+
+
+/**
+ * Maven 2 mojo creating the platform specific installation layout images.
+ * 
+ * @goal generate
+ * @description Creates platform specific installation layout images.
+ * @phase package
+ * @requiresDependencyResolution runtime
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class ServiceInstallersMojo extends AbstractMojo
+{
+    static final String BOOTSTRAPPER_ARTIFACT_ID = "org.apache.directory.server.standalone.daemon";
+    static final String BOOTSTRAPPER_GROUP_ID = "org.apache.directory.server.standalone.daemon";
+
+    /**
+     * The target directory into which the mojo creates os and platform 
+     * specific images.
+     * @parameter expression="target/images"
+     */
+    private File outputDirectory;
+
+    /**
+     * The source directory where various configuration files for the installer 
+     * are stored.
+     * 
+     * @parameter expression="src/main/installers"
+     */
+    private File sourceDirectory;
+
+    /**
+     * @parameter expression="${project}"
+     * @required
+     */
+    private MavenProject project;
+
+    /**
+     * @parameter
+     */
+    private IzPackTarget[] izPackTargets;
+
+    /**
+     * @parameter
+     */
+    private RpmTarget[] rpmTargets;
+
+    /**
+     * @parameter
+     */
+    private PkgTarget[] pkgTargets;
+
+    /**
+     * @parameter
+     */
+    private InnoTarget[] innoTargets;
+
+    /**
+     * @parameter
+     */
+    private DebTarget[] debTargets;
+
+    /**
+     * @parameter 
+     * @required
+     */
+    private String applicationName;
+    
+    /**
+     * @parameter 
+     * @required
+     */
+    private String applicationClass;
+
+    /**
+     * @parameter 
+     * @required
+     */
+    private String applicationVersion;
+
+    /**
+     * @parameter 
+     */
+    private String applicationDescription;
+
+    /**
+     * @parameter
+     */
+    private String encoding;
+    
+    /**
+     * @parameter
+     */
+    private Set excludes;
+
+    private Artifact bootstrapper;
+    private List allTargets;
+    
+    
+    public void execute() throws MojoExecutionException, MojoFailureException
+    {
+        // collect all targets 
+        initializeAllTargets();
+        
+        // makes sure defaulted values are set to globals
+        setDefaults();
+        
+        // bail if there is nothing to do 
+        if ( allTargets.isEmpty() )
+        {
+            getLog().info( "==================================================================="
);
+            getLog().info( "[installers:generate]" );
+            getLog().info( "No installers to generate." );
+            getLog().info( "==================================================================="
);
+            return;
+        }
+        
+        // report what we have to build 
+        reportSetup();
+
+        // search for and find the bootstrapper artifact
+        setBootstrapperArtifact();
+        
+        // creates installation images for all targets
+        for ( int ii = 0; ii < allTargets.size(); ii++ )
+        {
+            CreateImageCommand command = new CreateImageCommand( this, ( Target ) allTargets.get(
ii ) );
+            command.execute();
+        }        
+    }
+    
+    
+    private void initializeAllTargets()
+    {
+        allTargets = new ArrayList();
+        addAll( allTargets, izPackTargets );
+        addAll( allTargets, innoTargets );
+        addAll( allTargets, rpmTargets );
+        addAll( allTargets, debTargets );
+        addAll( allTargets, pkgTargets );
+    }
+    
+
+    private void addAll( List list, Object[] array )
+    {
+        if ( array == null ) return;
+        for ( int ii = 0; ii < array.length; ii++ )
+        {
+            list.add( array[ii] );
+        }
+    }
+    
+    
+    private void setDefaults()
+    {
+        if ( allTargets == null )
+        {
+            return;
+        }
+        
+        for ( int ii = 0; ii < allTargets.size(); ii++ )
+        {
+            Target target = ( Target ) allTargets.get( ii );
+
+            if ( target.getLoggerConfigurationFile() == null )
+            {
+                target.setLoggerConfigurationFile( new File( sourceDirectory, "log4j.properties"
) );
+            }
+            if ( target.getBootstrapperConfiguraitonFile() == null )
+            {
+                target.setBootstrapperConfiguraitonFile( new File( sourceDirectory, "bootstrapper.properties"
) );
+            }
+            if ( target.getServerConfigurationFile() == null )
+            {
+                target.setServerConfigurationFile( new File( sourceDirectory, "server.xml"
) );
+            }
+            if ( target.getOsVersion() == null )
+            {
+                target.setOsVersion( "*" );
+            }
+        }
+    }
+    
+    
+    private void setBootstrapperArtifact() throws MojoFailureException
+    {
+        Artifact artifact = null;
+        Iterator artifacts = project.getDependencyArtifacts().iterator();
+        while ( artifacts.hasNext() )
+        {
+            artifact = ( Artifact ) artifacts.next();
+            if ( artifact.getArtifactId().equals( BOOTSTRAPPER_ARTIFACT_ID ) || artifact.getGroupId().equals(
BOOTSTRAPPER_GROUP_ID ) )
+            {
+                getLog().info( "Found bootstrapper dependency with version: " + artifact.getVersion()
);
+                bootstrapper = artifact;
+                return;
+            }
+        }
+
+        throw new MojoFailureException( "Bootstrapper dependency artifact required: " 
+            + BOOTSTRAPPER_GROUP_ID + ":" + BOOTSTRAPPER_ARTIFACT_ID );
+    }
+    
+    
+    public void reportSetup()
+    {
+        getLog().info( "==================================================================="
);
+        getLog().info( "[installers:create]" );
+        getLog().info( "applicationName = " + applicationName );
+        getLog().info( "sourceDirectory = " + sourceDirectory );
+        getLog().info( "outputDirectory = " + outputDirectory );
+        getLog().info( "----------------------------- allTargets -----------------------------"
);
+        
+        if ( allTargets != null )
+        {
+            for ( int ii = 0; ii < allTargets.size(); ii++ )
+            {
+                getLog().info( "id: " + ( ( Target ) allTargets.get( ii ) ).getId() );
+                getLog().info( "osName: " + ( ( Target ) allTargets.get( ii ) ).getOsName()
);
+                getLog().info( "osArch: " + ( ( Target ) allTargets.get( ii ) ).getOsArch()
);
+                getLog().info( "osVersion: " + ( ( Target ) allTargets.get( ii ) ).getOsVersion()
);
+                getLog().info( "daemonFramework: " + ( ( Target ) allTargets.get( ii ) ).getDaemonFramework()
);
+                getLog().info( "loggerConfigurationFile: " + 
+                    ( ( Target ) allTargets.get( ii ) ).getLoggerConfigurationFile() );
+                getLog().info( "bootstrapperConfiguraitonFiles: " + 
+                    ( ( Target ) allTargets.get( ii ) ).getBootstrapperConfiguraitonFile()
);
+                getLog().info( "serverConfigurationFil: " + 
+                    ( ( Target ) allTargets.get( ii ) ).getServerConfigurationFile() );
+                
+                if ( ii + 1 < allTargets.size() )
+                {
+                    getLog().info( "" );
+                }
+            }
+        }
+        
+        getLog().info( "==================================================================="
);
+    }
+
+    
+    public File getOutputDirectory()
+    {
+        return outputDirectory;
+    }
+
+
+    public Artifact getBootstrapper()
+    {
+        return bootstrapper;
+    }
+
+
+    public String getApplicationName()
+    {
+        return applicationName;
+    }
+
+
+    public String getEncoding()
+    {
+        return this.encoding;
+    }
+
+
+    public MavenProject getProject()
+    {
+        return project;
+    }
+
+
+    public Set getExcludes()
+    {
+        return this.excludes;
+    }
+
+
+    public String getApplicationVersion()
+    {
+        return this.applicationVersion;
+    }
+
+
+    public String getApplicationClass()
+    {
+        return this.applicationClass;
+    }
+
+
+    public String getApplicationDescription()
+    {
+        return this.applicationDescription;
+    }
+}

Propchange: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/ServiceInstallersMojo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: directory/trunks/apacheds/standalone/installers/test/pom.xml
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/installers/test/pom.xml?rev=371823&r1=371822&r2=371823&view=diff
==============================================================================
--- directory/trunks/apacheds/standalone/installers/test/pom.xml (original)
+++ directory/trunks/apacheds/standalone/installers/test/pom.xml Mon Jan 23 21:32:38 2006
@@ -86,47 +86,45 @@
           <applicationName>test</applicationName>
           <applicationClass>org.apache.ldap.server.DirectoryServer</applicationClass>
           <applicationVersion>${pom.version}</applicationVersion>
-          <targets>
-            <target>
+          <innoTargets>
+            <innoTarget>
               <id>windows-xp-procrun-izpack</id>
               <osName>Windows XP</osName>
               <osFamily>windows</osFamily>
               <osVersion>5.1</osVersion>
               <osArch>x86</osArch>
               <daemonFramework>procrun</daemonFramework>
-              <installer>inno</installer>
-            </target>
-            <target>
+            </innoTarget>
+          </innoTargets>
+          <izPackTargets>
+            <izPackTarget>
               <id>linux-jsvc-izpack</id>
               <osName>Linux</osName>
               <osFamily>unix</osFamily>
               <osArch>i386</osArch>
               <daemonFramework>jsvc</daemonFramework>
-              <installer>izpack</installer>
-            </target>
-            <target>
+            </izPackTarget>
+            <izPackTarget>
               <id>macosx-jsvc-izpack</id>
               <osName>macosx</osName>
               <osFamily>unix</osFamily>
               <osArch>ppc</osArch>
               <daemonFramework>jsvc</daemonFramework>
-              <installer>izpack</installer>
-            </target>
-            <target>
+            </izPackTarget>
+            <izPackTarget>
               <id>solaris-jsvc-izpack</id>
               <osName>sunos</osName>
               <osFamily>unix</osFamily>
               <minVersion>5.6</minVersion>
               <osArch>sparc</osArch>
               <daemonFramework>jsvc</daemonFramework>
-              <installer>izpack</installer>
-            </target>
-          </targets>
+            </izPackTarget>
+          </izPackTargets>
         </configuration>
         <executions>
           <execution>
             <goals>
-              <goal>create</goal>
+              <goal>generate</goal>
             </goals>
           </execution>
         </executions>



Mime
View raw message