[izpack-changes] r2017 - izpack-src/trunk/src/doc-reST

noreply at berlios.de noreply at berlios.de
Fri Jan 25 23:14:26 CET 2008


Author: jgordon
Date: 2008-01-25 23:14:22 +0100 (Fri, 25 Jan 2008)
New Revision: 2017

Added:
   izpack-src/trunk/src/doc-reST/sample-install-definition.txt
   izpack-src/trunk/src/doc-reST/sample-userInputSpec.txt
Log:
New files

Added: izpack-src/trunk/src/doc-reST/sample-install-definition.txt
===================================================================
--- izpack-src/trunk/src/doc-reST/sample-install-definition.txt	2008-01-25 22:12:59 UTC (rev 2016)
+++ izpack-src/trunk/src/doc-reST/sample-install-definition.txt	2008-01-25 22:14:22 UTC (rev 2017)
@@ -0,0 +1,162 @@
+Sample Install Definition
+================================
+
+.. include:: include-top.inc
+
+This shows an example of how to use many of the features and advanced features 
+discussed in many of the other sections of this documentation.  Look in the 
+sample directory for a more basic example and all the necessary files and 
+instructions to build your first IzPack installer.
+
+Normally, a build process will call IzPack from Ant using something like the following:
+
+::
+
+	  <!-- Allows us to use the IzPack Ant task, standalone-compiler.jar added to Ant lib -->
+	  <taskdef name="izpack" classpath="${install.lib}/standalone-compiler.jar" 
+	      classname="com.izforge.izpack.ant.IzPackTask"/>
+
+::
+
+    <!-- Run installer build -->
+    <echo message="Running IzPack to build the installer..."/>  
+    <izpack input="install-definition.xml"
+            output="${output.dir}/${product.short.name}-${product.version}-install.jar"
+            installerType="standard"
+            inheritAll="true"
+            basedir="${temp.dir}"
+            compression="deflate"
+            compressionlevel="9"/>
+    <!-- Clean working directory -->
+    <echo message="Cleaning up working directory..."/>  
+    <delete dir="${temp.dir}" quiet="true" includeemptydirs="true"/>
+    <echo message="Done."/>  
+
+
+**install-definition.xml**
+
+::
+
+		<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
+		
+		<installation version="1.0">
+		  <!-- Ant properties in this file can be referenced with @{}, 
+		       otherwise use variables below in installer files with ${} -->
+		  <info>
+		    <appname>@{product.name}</appname>
+		    <appversion>@{product.version}</appversion>
+		    <uninstaller name="remove.task" write="yes"/>
+		  </info>
+		  
+		  <guiprefs width="600" height="480" resizable="no">
+		    <laf name="kunststoff">
+		      <os family="unix" />
+		    </laf>
+		    <modifier key="useHeadingPanel" value="yes"/>
+		    <modifier key="useHeadingForSummary" value="yes"/>
+		    <modifier key="headingLineCount" value="2"/>
+		    <modifier key="headingFontSize" value="1.5"/>
+		    <modifier key="headingBackgroundColor" value="0x00ffffff"/>
+		    <modifier key="headingPanelCounter" value="text"/>
+		    <modifier key="headingPanelCounterPos" value="inHeading"/>
+		  </guiprefs>
+		  
+		  <locale>
+		    <langpack iso3="eng"/>
+		  </locale>
+		  
+		  <!-- Need to define ant properties we want to use during install as variables -->
+		  <variables>
+		    <variable name="app.name" value="@{app.name}"/>
+		    <variable name="UserPathPanelVariable" value="@{default.dest.dir.sql}"/>
+		    <variable name="UserPathPanelDependsName" value="Install Database Server"/>
+		    <variable name="jboss.version" value="@{jboss.version}"/>
+		    <variable name="install.jboss.service" value="true"/>
+		  </variables>
+		  
+		  <resources>
+		    <res id="box-out-32.png" src="@{install.res}/box-out-32.png"/>
+		    <res id="customicons.xml" src="@{install.res}/custom.icons.xml"/>
+		    <res id="CustomLangpack.xml_eng" src="@{install.res}/custom.eng.xml"/>
+		    <res id="HTMLInfoPanel.info" src="@{install.res}/license-notice.html"/>
+		    <res id="Heading.image" src="@{install.res}/heading-image.png"/>
+		    <res id="Installer.image" src="@{install.res}/side-image.png" />
+		    <res id="ProcessPanel.Spec.xml" src="@{build.dir}/processing-tasks.xml"/>
+		    <res id="userInputSpec.xml" src="@{build.dir}/userInputSpec.xml" />
+		    <res id="uninstaller.warning" src="@{install.res}/uninstall-warn.txt"/>
+		    <!-- default-dir.txt is written by the calling build.xml -->
+		    <res id="TargetPanel.dir" src="@{install.res}/default-dir.txt"/>
+		  </resources>
+		  
+		  <panels>
+		    <panel classname="HelloPanel"/>
+		    <panel classname="HTMLInfoPanel"/>
+		    <panel classname="TargetPanel"/> 
+		    <panel classname="InstallationGroupPanel"/>
+		    <panel classname="PacksPanel"/>
+		    <panel classname="UserInputPanel" id="UserInputPanel.0"/>
+		    <panel classname="UserInputPanel" id="UserInputPanel.1"/>
+		    <panel classname="UserInputPanel" id="UserInputPanel.2"/>
+		    <panel classname="UserPathPanel"/>
+		    <panel classname="SummaryPanel"/>
+		    <panel classname="InstallPanel"/>
+		    <panel classname="ProcessPanel"/>
+		    <panel classname="SimpleFinishPanel"/>
+		  </panels>
+		  
+		  <listeners>
+		      <listener installer="SummaryLoggerInstallerListener">
+		          <os family="windows"/>
+		      </listener>
+		  </listeners>  
+		  
+		  <packs>
+		    <pack name="Main Application" required="yes" installGroups="New Application" >
+		      <description>The first application deployed in a new JBoss application server.</description>
+		      <file src="@{jboss.version}" targetdir="$INSTALL_PATH"/>
+		    </pack>
+		    <pack name="Install Database Server" required="no" preselected="yes" os="windows" installGroups="New Application">
+		      <description>New server installation of the selected database as required by the application.</description>
+		      <file src="postgresql" targetdir="$INSTALL_PATH"/>
+		      <file src="sql" targetdir="$INSTALL_PATH"/>
+		      <executable
+		        targetfile="$INSTALL_PATH/postgresql/postgres_install_windows.bat"
+		        stage="postinstall"
+		        keep="true"
+		      >
+		        <args>
+		          <arg value="${UserPathPanelVariable}"/>
+		          <arg value="$HOST_NAME"/>
+		          <arg value="${db.service.name}"/>
+		          <arg value="${db.service.password}"/>
+		          <arg value="${db.su.password}"/>
+		        </args>  
+		      </executable>
+		    </pack>
+		    <pack name="JBoss Source Code" required="no" preselected="no" installGroups="New Application">
+		      <description>The JBoss application server source is available as required by the LGPL.</description>
+		      <file src="src" targetdir="$INSTALL_PATH/@{jboss.version}" />
+		    </pack>
+		    <pack name="Update Application" required="yes" installGroups="Update Existing Application">
+		      <description>The required application files to update an existing installation.</description>
+		      <file src="update" targetdir="$INSTALL_PATH"/>
+		    </pack>
+		    <pack name="Post-Install Tasks" required="yes">
+		      <description>Configuration and cleanup required for the installation.</description>
+		      <file src="ant" targetdir="$INSTALL_PATH"/>
+		      <file src="post-install-tasks.bat" targetdir="$INSTALL_PATH"/>
+		      <file src="build.xml" targetdir="$INSTALL_PATH"/>
+		      <file src="Uninstall_PostgreSQL_and_Application.bat" targetdir="$INSTALL_PATH"/>
+		      <file src="Uninstall_Application_Only.bat" targetdir="$INSTALL_PATH"/>
+		      <parsable targetfile="$INSTALL_PATH/post-install-tasks.bat"/>
+		      <parsable targetfile="$INSTALL_PATH/build.xml"/>
+		      <parsable targetfile="$INSTALL_PATH/@{jboss.version}/bin/system.properties"/>
+		      <parsable targetfile="$INSTALL_PATH/Uninstall_PostgreSQL_and_Application.bat"/>
+		      <parsable targetfile="$INSTALL_PATH/Uninstall_Application_Only.bat"/>
+		    </pack>
+		  </packs>
+		  
+		  <!-- The native libraries to add. This is required for creating shortcuts on Windows -->
+		  <native type="izpack" name="ShellLink.dll"/>
+		  
+		</installation>

Added: izpack-src/trunk/src/doc-reST/sample-userInputSpec.txt
===================================================================
--- izpack-src/trunk/src/doc-reST/sample-userInputSpec.txt	2008-01-25 22:12:59 UTC (rev 2016)
+++ izpack-src/trunk/src/doc-reST/sample-userInputSpec.txt	2008-01-25 22:14:22 UTC (rev 2017)
@@ -0,0 +1,178 @@
+Sample userInputSpec.xml
+=============================
+
+.. include:: include-top.inc
+
+Here's an example 3 panel userInputSpec.xml file. You specify the use of this XML document inside your install definition in the resource section like this (assuming your ant build.xml uses a property called build.dir):
+
+::
+
+	<resources>
+	  <res id="userInputSpec.xml" src="@{build.dir}/userInputSpec.xml" />
+	</resources>
+
+
+**userInputSpec.xml**
+
+::
+		
+		<userInput>
+		  <!-- Install -->
+		    <panel order="0">
+		        <createForPack name="Main Application" />
+		        <field type="title" txt="Import Keystores" bold="true" size="1" />
+		        <field type="divider" align="top"/>
+		        <!-- Keystore -->
+		        <field type="staticText" align="left" txt="Existing SSL keystore to import:"/>
+		        <field type="file" align="left" variable="existing.ssl.keystore">
+		          <spec txt="" size="25" set=""/>
+		        </field>
+		        <field type="space"/>
+		        <!-- Truststore -->
+		        <field type="staticText" align="left" txt="Existing SSL truststore to import:"/>
+		        <field type="file" align="left" variable="existing.ssl.truststore">
+		          <spec txt="" size="25" set=""/>
+		        </field>
+		        <field type="space"/>
+		        <!-- Signing Keystore -->
+		        <field type="staticText" align="left" txt="Existing signing keystore to import:"/>
+		        <field type="file" align="left" variable="existing.signing.keystore">
+		          <spec txt="" size="25" set=""/>
+		        </field>
+		        <field type="space"/>
+		        <field type="divider" align="bottom"/>
+		    </panel> 
+		    <panel order="1">
+		      <!-- Validate access to keystores with information from last panel -->
+		        <createForPack name="Main Application" />
+		        <field type="title" txt="SSL Keystore Settings" bold="true" size="1" />
+		        <field type="divider" align="bottom"/>
+		        <!-- Skip validation in case customer has something wrong they want to fix later -->
+		        <field type="check" align="left" variable="skip.keystore.validation">
+		          <spec txt=" Skip keystore password validation (not recommended)" size="25" true="true" false="false" set="false"/>
+		        </field>
+		        <field type="divider" align="top"/>
+		        <!-- Keystore -->
+		        <field type="combo" variable="existing.ssl.keystore.type">
+		          <spec txt="Keystore type:" id="existing.ssl.keystore.type">
+		            <choice txt="JKS" value="JKS" set="true"/>
+		            <!--
+		            <choice txt="PKCS12" value="PKCS12"/>
+		            -->
+		          </spec>
+		        </field>
+		        <field type="space"/>
+		        <field type="text" align="left" variable="keystore.key.alias">
+		            <spec txt="Keystore Key Alias:" size="25" set="alias-1"/>
+		        </field>
+		        <field type="password" align="left" variable="keystore.password">
+		          <spec>
+		            <pwd txt="Keystore Password:" size="25" set=""/>
+		            <pwd txt="Retype Password:" size="25" set=""/>
+		          </spec>
+		          <validator class="com.izforge.izpack.util.PasswordEqualityValidator" txt="Both keystore passwords must match." id="key for the error text"/>
+		          <validator class="com.izforge.izpack.util.PasswordKeystoreValidator" txt="Could not validate keystore with password and alias provided." id="key for the error text">
+		            <param name="keystoreFile" value="${existing.ssl.keystore}"/>
+		            <param name="keystoreType" value="${existing.ssl.keystore.type}"/>
+		            <param name="keystoreAlias" value="${keystore.key.alias}"/>
+		            <param name="skipValidation" value="${skip.keystore.validation}"/>
+		          </validator>
+		        </field>
+		        <field type="space"/>
+		        <!-- Truststore -->
+		        <field type="combo" variable="existing.ssl.truststore.type">
+		          <spec txt="Truststore type:" id="existing.ssl.truststore.type">
+		            <choice txt="JKS" value="JKS" set="true"/>
+		            <!--
+		            <choice txt="PKCS12" value="PKCS12"/>
+		            -->
+		          </spec>
+		        </field>
+		        <field type="space"/>
+		        <field type="password" align="left" variable="truststore.password">
+		          <spec>
+		            <pwd txt="Truststore Password:" size="25" set=""/>
+		            <pwd txt="Retype Password:" size="25" set=""/>
+		          </spec>
+		          <validator class="com.izforge.izpack.util.PasswordEqualityValidator" txt="Both truststore passwords must match." id="key for the error text"/>
+		          <validator class="com.izforge.izpack.util.PasswordKeystoreValidator" txt="Could not validate keystore with password and alias provided." id="key for the error text">
+		            <param name="keystoreFile" value="${existing.ssl.truststore}"/>
+		            <param name="keystoreType" value="${existing.ssl.truststore.type}"/>
+		            <param name="skipValidation" value="${skip.keystore.validation}"/>
+		          </validator>
+		        </field>
+		        <field type="divider" align="bottom"/>
+		    </panel> 
+		    <panel order="2">
+		      <!-- Validate access to signing keystore with information from last panel -->
+		        <createForPack name="Main Application" />
+		        <field type="title" txt="Signing Keystore Settings" bold="true" size="1" />
+		        <field type="divider" align="bottom"/>
+		        <!-- Skip validation in case customer has something wrong they want to fix later -->
+		        <field type="check" align="left" variable="skip.keystore.validation">
+		          <spec txt=" Skip keystore password validation (not recommended)" size="20" true="true" false="false" set="false"/>
+		        </field>
+		        <field type="divider" align="top"/>
+		        <!-- Keystore -->
+		        <field type="combo" variable="existing.signing.keystore.type">
+		          <spec txt="Keystore type:" id="existing.signing.keystore.type">
+		            <choice txt="JKS" value="JKS" set="true"/>
+		            <!--
+		            <choice txt="PKCS12" value="PKCS12"/>
+		            -->
+		          </spec>
+		        </field>
+		        <field type="space"/>
+		        <field type="password" align="left" variable="signing.keystore.password">
+		          <spec>
+		            <pwd txt="Keystore Password:" size="20" set=""/>
+		            <pwd txt="Retype Password:" size="20" set=""/>
+		          </spec>
+		          <validator class="com.izforge.izpack.util.PasswordEqualityValidator" txt="Both signing keystore passwords must match." id="key for the error text"/>
+		          <validator class="com.izforge.izpack.util.PasswordKeystoreValidator" txt="Could not access keystore with password provided." id="key for the error text">
+		            <param name="keystoreFile" value="${existing.signing.keystore}"/>
+		            <param name="keystoreType" value="${existing.signing.keystore.type}"/>
+		            <param name="skipValidation" value="${skip.keystore.validation}"/>
+		          </validator>
+		        </field>
+		        <field type="space"/>
+		        <!-- Signing Key 1 -->
+		        <field type="text" align="left" variable="first.signing.keystore.key.alias">
+		            <spec txt="First Signing Alias:" size="20" set="alias-1"/>
+		        </field>
+		        <field type="password" align="left" variable="first.signing.password">
+		          <spec>
+		            <pwd txt="First Signing Password:" size="20" set=""/>
+		            <pwd txt="Retype Password:" size="20" set=""/>
+		          </spec>
+		          <validator class="com.izforge.izpack.util.PasswordEqualityValidator" txt="Both first signing key passwords must match." id="key for the error text"/>
+		          <validator class="com.izforge.izpack.util.PasswordKeystoreValidator" txt="Could not validate keystore with password and first signing alias provided." id="key for the error text">
+		            <param name="keystoreFile" value="${existing.signing.keystore}"/>
+		            <param name="keystoreType" value="${existing.signing.keystore.type}"/>
+		            <param name="keystorePassword" value="${signing.keystore.password}"/>
+		            <param name="keystoreAlias" value="${first.signing.keystore.key.alias}"/>
+		            <param name="skipValidation" value="${skip.keystore.validation}"/>
+		          </validator>
+		        </field>
+		        <field type="space"/>
+		        <!-- Signing Key 2 -->
+		        <field type="text" align="left" variable="second.signing.keystore.key.alias">
+		            <spec txt="Second Signing Alias:" size="20" set="crate-cmd-alias"/>
+		        </field>
+		        <field type="password" align="left" variable="second.signing.password">
+		          <spec>
+		            <pwd txt="Second Signing Password:" size="20" set=""/>
+		            <pwd txt="Retype Password:" size="20" set=""/>
+		          </spec>
+		          <validator class="com.izforge.izpack.util.PasswordEqualityValidator" txt="Both second signing key passwords must match." id="key for the error text"/>
+		          <validator class="com.izforge.izpack.util.PasswordKeystoreValidator" txt="Could not validate keystore with password and second signing alias provided." id="key for the error text">
+		            <param name="keystoreFile" value="${existing.signing.keystore}"/>
+		            <param name="keystoreType" value="${existing.signing.keystore.type}"/>
+		            <param name="keystorePassword" value="${signing.keystore.password}"/>
+		            <param name="keystoreAlias" value="${second.signing.keystore.key.alias}"/>
+		            <param name="skipValidation" value="${skip.keystore.validation}"/>
+		          </validator>
+		        </field>
+		        <field type="divider" align="bottom"/>
+		    </panel> 
+		</userInput>
\ No newline at end of file



More information about the izpack-changes mailing list