Build definition file
A build definition file is an XML file that identifies components and characteristics for a customized installation package (CIP).
In some cases, you might be unable to use the Installation Factory console (ifgui command) on the target operating system platform. You have two options in such a case:
- Use the console in disconnected mode on a supported machine to create a build definition file for the target operating system on another machine.
Then copy the file to the target operating system and use the command line interface to start the processing engine and create the customized installation package.
See Creating a build definition for another machine for a description of such a procedure.
- Create the build definition XML document using a validating XML editor.
Copy one of the sample build definition documents from the IF_install_root/samples/was directory to get started.
After making your changes, validate the build definition document with its XML schema (the Common.xsd, BaseBuildDefinition.xsd, and BuildDefinition.xsd files) using a validating XML parser or editor. Then use the command-line interface to start the processing engine and create the customized installation package.
The XML schema files are in...
IF_install_root/eclipse/plugins/com.ibm.ws.install.factory.was_6.1.0/xsd
Example build definition
The following example shows some elements from one version of the build definition file. For a current example, see...
IF_install_root/samples/was/SampleBuildDefinition.xmlAlways consult the latest build definition XML schema for definitive answers to XML coding questions.
<?xml version="1.0" encoding="UTF-8"?> <!-- /** * THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM * 5724-I63, 5724-H88, 5655-N02, 5733-W70 (C) COPYRIGHT International Business Machines Corp. 2005 * All Rights Reserved * Licensed Materials - Property of IBM * US Government Users Restricted Rights - Use, duplication or disclosure * restricted by GSA ADP Schedule Contract with IBM Corp. */ --> <basebuilddef:buildDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:basebuilddef="http://www.ibm.com/xmlns/prod/websphere/if/basebuilddef" xmlns:builddef="http://www.ibm.com/xmlns/prod/websphere/if/builddef" xmlns:common="http://www.ibm.com/xmlns/prod/websphere/if/common" xsi:type="builddef:BuildDefinition"> <installFactoryVersion> <version>6</version> <release>1</release> <refreshPack>0</refreshPack> <fixPack>0</fixPack> <buildID></buildID> </installFactoryVersion> <description lang="en">Sample Build Definition</description> <qualifiedVersionedPackageId> <offeringId isRegEx="false">WAS</offeringId> <editionId isRegEx="false">ND</editionId> <installPackageId isRegEx="false">APPSERVER</installPackageId> <version> <version>6</version> <release>1</release> <refreshPack>0</refreshPack> <fixPack>0</fixPack> </version> </qualifiedVersionedPackageId> <platformInfo> <common:osVendor>MICROSOFT</common:osVendor> <common:osName>WINDOWS</common:osName> <common:osVersion>NA</common:osVersion> <common:osPatchLevel>NA</common:osPatchLevel> <common:osArch>x86</common:osArch> </platformInfo> <buildOptions> <targetLocation>C:\if_Created_Images</targetLocation> <overwriteWithoutWarning>false</overwriteWithoutWarning> </buildOptions> <authorInfo lang="en"> <organization>My Company</organization> </authorInfo> <modeSelection>Connected</modeSelection> <packageIdentifier> <fullPackageIdentifier>company.division.dept_1.0.0.0</fullPackageIdentifier> <identifier>company.division.dept</identifier> <version>1.0.0.0</version> </packageIdentifier> <packageMergeInfo> <sourceFullInstallPackageLocation>C:\WASImage\ND</sourceFullInstallPackageLocation> <!-- Maintenance packages Fix Pack --> <sourceMaintenanceInstallPackages installOrder="2" maintenanceType="fixPack"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WASImage\Maintenance\Windows\MaintPacks</rootFolder> </rootFolder> <relativeFolder>.</relativeFolder> <fileNamePattern isRegEx="false">6.1.1-WS-WAS-WinX32-FP0000001.pak</fileNamePattern> </sourceMaintenanceInstallPackages> <sourceMaintenanceInstallPackages installOrder="3" maintenanceType="fixPack"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WASImage\Maintenance\Windows\MaintPacks</rootFolder> </rootFolder> <relativeFolder>.</relativeFolder> <fileNamePattern isRegEx="false">6.1.1-WS-WASSDK-WinX32-FP0000001.pak</fileNamePattern> </sourceMaintenanceInstallPackages> <!-- Interim Fixes --> <interimFixes maintenanceType="interimFix"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WASImage\Maintenance\Fixes</rootFolder> </rootFolder> <relativeFolder>.</relativeFolder> <fileNamePattern>PQ20029.pak</fileNamePattern> </interimFixes> </packageMergeInfo> <!-- User Files (optional) --> <userFiles> <files> <fileSet> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\Scripts\</rootFolder> </rootFolder> <relativeFolder includeSubfolders="true">install</relativeFolder> <fileNamePattern isRegEx="true">.*</fileNamePattern> </fileSet> <relativeTargetFolder>scripts/install</relativeTargetFolder> <preserveFolderStructure>true</preserveFolderStructure> </files> <files> <fileSet> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\Scripts</rootFolder> </rootFolder> <relativeFolder includeSubfolders="true">uninstall</relativeFolder> <fileNamePattern isRegEx="true">.*</fileNamePattern> </fileSet> <relativeTargetFolder>scripts/uninstall</relativeTargetFolder> <preserveFolderStructure>true</preserveFolderStructure> </files> </userFiles> <!-- Custom configuration (optional) --> <configurationInfo> <!-- Install / Uninstall time custom configuration --> <installUninstallActions> <installActions> <scripts executionOrder="1" fatalErrorWhenExecutionFailed="false"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\Scripts\</rootFolder> </rootFolder> <relativeFolder>.</relativeFolder> <fileNamePattern isRegEx="false">setupEnv1.ant</fileNamePattern> </scripts> <scripts executionOrder="2"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\Scripts\</rootFolder> </rootFolder> <relativeFolder>.</relativeFolder> <fileNamePattern isRegEx="false">setupEnv2.ant</fileNamePattern> </scripts> </installActions> <uninstallActions> <scripts executionOrder="1" fatalErrorWhenExecutionFailed="false"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\Scripts\</rootFolder> </rootFolder> <relativeFolder>.</relativeFolder> <fileNamePattern isRegEx="false">cleanupEnv.ant</fileNamePattern> </scripts> </uninstallActions> </installUninstallActions> <!-- Profile creation / deletion custom configuration --> <profileActions> <!-- Profile Type - default --> <profileType> <profileType>default</profileType> <common:displayName> <messageKey>COMD.ProfileType.default</messageKey> <alternateText /> </common:displayName> </profileType> <profileCreationActions> <!-- Configuration Archive --> <configurationArchive executionOrder="1" fatalErrorWhenExecutionFailed="true"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\CAs</rootFolder> </rootFolder> <relativeFolder>.</relativeFolder> <fileNamePattern isRegEx="false">AppSrv01.car</fileNamePattern> </configurationArchive> <!-- DeployEAR(s) --> <deployEARs executionOrder="2" fatalErrorWhenExecutionFailed="true" applicationName="SAMPLE GALLERY"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\EARs</rootFolder> </rootFolder> <relativeFolder>.</relativeFolder> <fileNamePattern isRegEx="false">SamplesGallery.ear</fileNamePattern> </deployEARs> <deployEARs executionOrder="3" fatalErrorWhenExecutionFailed="true" applicationName="Cache Monitor"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\EARs</rootFolder> </rootFolder> <relativeFolder>.</relativeFolder> <fileNamePattern isRegEx="false">CacheMonitor.ear</fileNamePattern> </deployEARs> <!-- Script(s) --> <scripts executionOrder="4" fatalErrorWhenExecutionFailed="false"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\Scripts\</rootFolder> </rootFolder> <relativeFolder>create</relativeFolder> <fileNamePattern isRegEx="false">create_SC1.jacl</fileNamePattern> </scripts> </profileCreationActions> <profileDeletionActions> <!-- Script(s) --> <scripts executionOrder="1" fatalErrorWhenExecutionFailed="false"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\Scripts\</rootFolder> </rootFolder> <relativeFolder></relativeFolder> <fileNamePattern isRegEx="false">delete_SC1.ant</fileNamePattern> </scripts> </profileDeletionActions> </profileActions> <!-- Custom Configuration for dmgr --> <profileActions> <!-- Profile Type - dmgr --> <profileType> <profileType>dmgr</profileType> <common:displayName> <messageKey>COMD.ProfileType.dmgr</messageKey> <alternateText /> </common:displayName> </profileType> <profileCreationActions> <!-- Script(s) --> <scripts executionOrder="2" fatalErrorWhenExecutionFailed="false"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\Scripts\</rootFolder> </rootFolder> <relativeFolder>create</relativeFolder> <fileNamePattern isRegEx="false">create_SC1.jacl</fileNamePattern> </scripts> </profileCreationActions> <profileDeletionActions> <!-- Script(s) --> <scripts executionOrder="1" fatalErrorWhenExecutionFailed="false"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\Scripts\</rootFolder> </rootFolder> <relativeFolder></relativeFolder> <fileNamePattern isRegEx="false">delete_SC1.ant</fileNamePattern> </scripts> </profileDeletionActions> </profileActions> <!-- Custom Configuration for managed --> <profileActions> <!-- Profile Type - managed --> <profileType> <profileType>managed</profileType> <common:displayName> <messageKey>COMD.ProfileType.managed</messageKey> <alternateText /> </common:displayName> </profileType> <profileCreationActions> <!-- Script(s) --> <scripts executionOrder="1" fatalErrorWhenExecutionFailed="false"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\Scripts\</rootFolder> </rootFolder> <relativeFolder>create</relativeFolder> <fileNamePattern isRegEx="false">create_SC1.jacl</fileNamePattern> </scripts> </profileCreationActions> <profileDeletionActions> <!-- Script(s) --> <scripts executionOrder="1" fatalErrorWhenExecutionFailed="false"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WAS Customizations\Scripts\</rootFolder> </rootFolder> <relativeFolder></relativeFolder> <fileNamePattern isRegEx="false">delete_SC1.ant</fileNamePattern> </scripts> </profileDeletionActions> </profileActions> <profileSetActions> <!-- Custom Configuration for profile set - cell --> <profileSetName> <profileSet>cell</profileSet> <common:displayName> <messageKey>COMD.profileType.cell</messageKey> </common:displayName> </profileSetName> <profiles> <!-- Custom Configuration for dmgr --> <profileType> <profileType>dmgr</profileType> <common:displayName> <messageKey>COMD.profileType.dmgr</messageKey> </common:displayName> </profileType> <profileCreationActions> <!-- Script(s) --> <scripts executionOrder="1" fatalErrorWhenExecutionFailed="true"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>D:\Test\WAS Customizations\Scripts\create\</rootFolder> </rootFolder> <relativeFolder includeSubfolders="false">.</relativeFolder> <fileNamePattern isRegEx="false" permissions="755">create_SC3.bat</fileNamePattern> </scripts> </profileCreationActions> <profileDeletionActions> <scripts executionOrder="1" fatalErrorWhenExecutionFailed="true"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>D:\Test\WAS Customizations\Scripts\delete\</rootFolder> </rootFolder> <relativeFolder includeSubfolders="false">.</relativeFolder> <fileNamePattern isRegEx="false" permissions="755">delete_SC3.bat</fileNamePattern> </scripts> </profileDeletionActions> </profiles> <profiles> <!-- Custom Configuration for federated appserver --> <profileType> <profileType>default</profileType> <common:displayName> <messageKey>COMD.profileType.default</messageKey> </common:displayName> </profileType> <profileCreationActions> <!-- Script(s) --> <scripts executionOrder="1" fatalErrorWhenExecutionFailed="true"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>D:\Test\WAS Customizations\Scripts\create\</rootFolder> </rootFolder> <relativeFolder includeSubfolders="false">.</relativeFolder> <fileNamePattern isRegEx="false" permissions="755">create_SC3.bat</fileNamePattern> </scripts> <scripts executionOrder="2" fatalErrorWhenExecutionFailed="true"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>D:\Test\WAS Customizations\Scripts\create\</rootFolder> </rootFolder> <relativeFolder includeSubfolders="false">.</relativeFolder> <fileNamePattern isRegEx="false" permissions="755">create_SC1.jacl</fileNamePattern> </scripts> </profileCreationActions> <profileDeletionActions> <scripts executionOrder="1" fatalErrorWhenExecutionFailed="true"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>D:\Test\WAS Customizations\Scripts\delete\</rootFolder> </rootFolder> <relativeFolder includeSubfolders="false">.</relativeFolder> <fileNamePattern isRegEx="false" permissions="755">delete_SC3.bat</fileNamePattern> </scripts> </profileDeletionActions> </profiles> </profileSetActions> </configurationInfo> <common:features> <feature> <featureId> <featureId isRegEx="false">server.samples</featureId> </featureId> <selectedByDefault>false</selectedByDefault> <userModifiable>true</userModifiable> <hidden>false</hidden> </feature> </common:features> </basebuilddef:buildDefinition>
Related information
Developing and installing customized installation packages
Customized installation package preview
ifcli command
ifgui command