Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "ALF/Build Vocabulary"
(→API) |
(→Schema) |
||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | [http://wiki.eclipse.org/index.php/ALF ALF Wiki Home] | ||
+ | == Introduction == | ||
+ | The Build Vocabulary focuses on the translation of source code into binary format. This | ||
+ | translation occurs through the use of compilers and linkers. Build tools call the compilers and | ||
+ | linkers and are not compilers or linkers themselves. | ||
+ | |||
+ | == Assumptions == | ||
+ | The Build Vocabulary will not be responsible for checking out code or determining the correct source | ||
+ | code to include in the Build. The ALF Service flow should be setup so that the pre and post steps are | ||
+ | handled by ALF. The Build Vocabulary will interact with | ||
+ | the other vocabularies such as SCM, Problem Tracking and Requirements gathering to obtain information | ||
+ | that should be included in the build results, i.e. the runnable binaries. | ||
+ | |||
== Objects == | == Objects == | ||
+ | === Build === | ||
+ | The compile and link process. | ||
+ | |||
+ | === Project === | ||
+ | Name of the items to be built. | ||
+ | |||
+ | === Identifier === | ||
+ | Name of Vendor Tool project specific identifier. | ||
+ | |||
=== Build Workspace === | === Build Workspace === | ||
A Build Workspace corresponds to the SCM Workspace. | A Build Workspace corresponds to the SCM Workspace. | ||
Line 21: | Line 43: | ||
Target - item to be built, ie. helloworld.jar | Target - item to be built, ie. helloworld.jar | ||
− | ==== | + | ==== Clean ==== |
− | + | Clean - remove all Targets and Intermediate Targets in the Build Workspace | |
− | ==== | + | ==== All ==== |
− | + | All - represents all Targets | |
− | ==== | + | ==== ForceAFullBuild ==== |
− | Force full build - indicate to the Build Engine to build regardless of timestamp or versions. | + | Force a full build - indicate to the Build Engine to build regardless of timestamp or versions. |
− | ==== | + | ==== DebugOrRelease ==== |
− | + | DebugOrRelease - indicate to the Build Engine to perform a build using debug or release compile options | |
− | + | ||
− | + | ||
− | + | ||
==== BuildAsVersion ==== | ==== BuildAsVersion ==== | ||
Line 96: | Line 115: | ||
* SCM Workspace Type allows as to obtain the Client Machine and the SCM Root Dir | * SCM Workspace Type allows as to obtain the Client Machine and the SCM Root Dir | ||
* The ProjectName + BuildIdentifier will allow us to obtain the correct Build WorkSpace and then the BuildConfiguration will allow us to obtain the correct Build options within the Build Workspace. | * The ProjectName + BuildIdentifier will allow us to obtain the correct Build WorkSpace and then the BuildConfiguration will allow us to obtain the correct Build options within the Build Workspace. | ||
+ | |||
+ | == Schema == | ||
+ | [[ALF/Build Vocabulary/Schema | Schema]] | ||
+ | == WSDL == | ||
+ | [[ALF/Build Vocabulary/WSDL | WSDL]] |
Latest revision as of 20:47, 10 October 2006
Contents
Introduction
The Build Vocabulary focuses on the translation of source code into binary format. This translation occurs through the use of compilers and linkers. Build tools call the compilers and linkers and are not compilers or linkers themselves.
Assumptions
The Build Vocabulary will not be responsible for checking out code or determining the correct source code to include in the Build. The ALF Service flow should be setup so that the pre and post steps are handled by ALF. The Build Vocabulary will interact with the other vocabularies such as SCM, Problem Tracking and Requirements gathering to obtain information that should be included in the build results, i.e. the runnable binaries.
Objects
Build
The compile and link process.
Project
Name of the items to be built.
Identifier
Name of Vendor Tool project specific identifier.
Build Workspace
A Build Workspace corresponds to the SCM Workspace.
The Build Workspace would be identified by a Project + Identifier. For example, Project: Hello World + "Version 1".
Build Configuration
A Build Configuration is a pre-defined way a Build will run.
Within a Build Workspace there would be 0-N Build Configurations.
Build Properties
A Build Property is an option to the Build Engine.
A Build Configuration would contain 0-N, Build Properties.
Build Property
Target
Target - item to be built, ie. helloworld.jar
Clean
Clean - remove all Targets and Intermediate Targets in the Build Workspace
All
All - represents all Targets
ForceAFullBuild
Force a full build - indicate to the Build Engine to build regardless of timestamp or versions.
DebugOrRelease
DebugOrRelease - indicate to the Build Engine to perform a build using debug or release compile options
BuildAsVersion
BuildAsVersion - version of the target to create, ie. helloworld-1.4.3.jar where 1.4.3 is the BuildAsVersion.
BuildLabel
BuildLabel - label used to indicate the Build or SCM label, ie. "Nightly Build"
BuildNumber
BuildNumber - number of the build, ie Build 327
BuildResults
BuildLog
- File or http pointer to step output
- 0-N occurrences
- Type: String
ReturnCode
- Over all SUCESS or FAILURE of the Build
- Type: Integer (SUCESS = 1, FAILURE = 0)
StepReturnCode
- Individual Step return codes
- 0-N occurrences
- Type: Integer
Reports
- ReportType
- File or http pointer to Build Reports
- 0-N occurrences
- Type: Dictionary - ReportType (Key, String) BuildReport (Value, URL)
BuiltTargetList
- List of Targets that where built
- 0-N occurrences
- Type: String
FailedTargetList
- List of Targets that where NOT built
- 0-N occurrences
- Type: String
FailedSourceList
- List of Source File that had errors
- 0-N occurrences
- Type: String
API
BuildResults Build(SCM Workspace, ProjectName, BuildIdentifier, BuildConfiguration)
Example: BuildResults br = Build("Hello Snapshot","Hello World","Version 1","DEBUG");
Notes:
- SCM Workspace Type allows as to obtain the Client Machine and the SCM Root Dir
- The ProjectName + BuildIdentifier will allow us to obtain the correct Build WorkSpace and then the BuildConfiguration will allow us to obtain the correct Build options within the Build Workspace.