Builder import file (with buildstamp)
From ControlTier
This section describes how to import a single file of the given buildstamp. The examples below assume a buildstamp convention representing a date/time stamp.
Contents |
Directory layout
The command examples that follow correspond to a file directory layout described here:
top_dir
|
|--- afile.xml // a file
|
+--- src/ // source directory
|
`--- target/ // contains build artifacts
|
`--- moduleA // moduleA artifacts
|
`-- moduleA-20080630.war // file to be imported
The top_dir represents some abitrary base directory where various files and subdirectories exist. The "target" subdirectory contains "moduleA" which in turn contains a build artifact that is to be uploaded to the repository.
Command usage
To import the "moduleA-20080630.war" file run repoImport like so:
ctl -m Builder -c repoImport -- -targetdir top_dir/target \
-filebase moduleA -buildstamp 20080630 -extension war \
-type war -installroot /path/to/install/dir
After the repoImport command completes the file will have been uploaded to the repository and a new object defined with the specified metadata.
After the package has been registered you can query the repository and now see it listed:
$ ctl -p default -m Builder -c repoFind -- -packagetype war | |--(war) moduleA-20080630.war
Builder configuration
To default the repoImport options to those shown above define a Builder like so:
File listing: moduleA-Builder.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE project PUBLIC "-//ControlTier Software Inc.//DTD Project Document 1.0//EN"
"project.dtd">
<project>
<!--
**
** Defines Builder repoImport defaulting settings
**
-->
<!--
** defaults option: -extension
-->
<setting type="BuilderPackageExtension" name="moduleA"
description="File extension"
settingValue="war"/>
<!--
** defaults option: -packagetype
-->
<setting type="BuilderPackageType" name="moduleA"
description="Package control module"
settingValue="war"/>
<!--
** defaults option: -installroot
-->
<setting type="BuilderPackageInstallroot" name="moduleA"
description="Installation root directory"
settingValue="/path/to/installroot"/>
<!--
** defaults option: -filebase
-->
<setting type="BuilderPackageFilebase" name="moduleA"
description="The file base name"
settingValue="moduleA"/>
<!--
**
** Defines Builder resource and its settings
**
-->
<deployment
type="Builder"
name="moduleA"
description="A builder object."
installRoot="top_dir/target"
basedir="top_dir">
<resources>
<resource type="BuilderPackageExtension" name="moduleA"/>
<resource type="BuilderPackageType" name="moduleA"/>
<resource type="BuilderPackageInstallroot" name="moduleA"/>
<resource type="BuilderPackageFilebase" name="moduleA"/>
</resources>
<referrers>
<resource type="Node" name="localhost"/>
</referrers>
</deployment>
</project>
To load this XML data use the load-objects command:
ctl -m ProjectBuilder -c load-objects -- -filename moduleA-Builder.xml
Command usage
After the moduleA Builder is defined, the command line options will have your defaults. Now just run repoImport with buildstamp:
ctl -t Builder -o moduleA -c repoImport -- -buildstamp 20080630
| ||||||||||||||||||||||||||

