A build definition file is an XML file that identifies components and characteristics for a customized installation package (CIP).
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.
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 Commom.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.
Related information
Developing and installing customized installation packages
Customized installation package preview
ifcli command
ifgui command
The following example shows some elements from one version of the build definition file. See the IF_install_root/samples/was/SampleBuildDefinition.xml file for a current example.
Always 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-N01, 5733-W60 (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>0</release> <refreshPack>2</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>0</release> <refreshPack>0</refreshPack> <fixPack>1</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 Refresh Pack --> <sourceMaintenanceInstallPackages installOrder="1" maintenanceType="refreshPack"> <rootFolder> <whichFolderToUse>literalRootProvided</whichFolderToUse> <rootFolder>C:\WASImage\Maintenance\Windows\MaintPacks</rootFolder> </rootFolder> <relativeFolder>.</relativeFolder> <fileNamePattern isRegEx="false">6.0-WS-WAS-WinX32-RP0000002.pak</fileNamePattern> </sourceMaintenanceInstallPackages> <!-- 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.0.2-WS-WASJavaSDK-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> </configurationInfo> <common:features> <feature> <featureId> <featureId isRegEx="false">javadocs</featureId> </featureId> <selectedByDefault>false</selectedByDefault> <userModifiable>true</userModifiable> <hidden>false</hidden> </feature> <feature> <featureId> <featureId isRegEx="false">server.samples</featureId> </featureId> <selectedByDefault>false</selectedByDefault> <userModifiable>true</userModifiable> <hidden>false</hidden> </feature> </common:features> </basebuilddef:buildDefinition>