Skip to main content
Jump to: navigation, search

Difference between revisions of "SMILA/Development Guidelines/Introduction to make.xml"

m (make.xml)
m (make.xml)
Line 9: Line 9:
 
{|width="100%" border="1"
 
{|width="100%" border="1"
 
|-
 
|-
|width="20%" bgcolor="#f0f0f0"|'''Targets'''
+
|bgcolor="#f0f0f0" colspan="3" align="center"|'''Targets'''
|width="50%" bgcolor="#f0f0f0"|
+
|width="30%" bgcolor="#f0f0f0"|
+
 
|-
 
|-
 
|bgcolor="#f0f0f0"|'''name'''
 
|bgcolor="#f0f0f0"|'''name'''
Line 97: Line 95:
 
| /  
 
| /  
 
|-
 
|-
|bgcolor="#f0f0f0"|'''Properties'''
+
|}
|bgcolor="#f0f0f0"|
+
<br>
|bgcolor="#f0f0f0"|
+
{|width="50%" border="1"
 +
|bgcolor="#f0f0f0" colspan="2" align="center"|'''Properties'''
 
|-
 
|-
|bgcolor="#f0f0f0"|'''name'''
+
|bgcolor="#f0f0f0" width="25%"|'''name'''
|bgcolor="#f0f0f0"|'''description'''
+
|bgcolor="#f0f0f0" width="25%"|'''description'''
|bgcolor="#f0f0f0"|
+
 
|-
 
|-
 
|feature-names
 
|feature-names
 
|list of all features
 
|list of all features
|
 
 
|-
 
|-
|bgcolor="#f0f0f0"|'''Patternsets'''
+
|}
|bgcolor="#f0f0f0"|
+
<br>
|bgcolor="#f0f0f0"|
+
{|width="50%" border="1"
 +
|bgcolor="#f0f0f0" colspan="2" align="center"|'''Patternsets'''
 
|-
 
|-
|bgcolor="#f0f0f0"|'''name'''
+
|bgcolor="#f0f0f0" width="25%"|'''name'''
|bgcolor="#f0f0f0"|'''description'''
+
|bgcolor="#f0f0f0" width="25%"|'''description'''
|bgcolor="#f0f0f0"|
+
 
|-
 
|-
 
|patterns.bundle.all
 
|patterns.bundle.all
 
|list of all plugins
 
|list of all plugins
|
 
 
|-
 
|-
 
|patterns.bundle.excludes
 
|patterns.bundle.excludes
 
|list of all exluded plugins
 
|list of all exluded plugins
|
 
 
|-
 
|-
|bgcolor="#f0f0f0"|'''Dirsets/Restrict'''
+
|}
|bgcolor="#f0f0f0"|
+
<br>
|bgcolor="#f0f0f0"|
+
{|width="50%" border="1"
 +
|bgcolor="#f0f0f0" colspan="2" align="center"|'''Dirsets/Restrict'''
 
|-
 
|-
|bgcolor="#f0f0f0"|'''name'''
+
|bgcolor="#f0f0f0" width="25%"|'''name'''
|bgcolor="#f0f0f0"|'''description'''
+
|bgcolor="#f0f0f0" width="25%"|'''description'''
|bgcolor="#f0f0f0"|
+
 
|-
 
|-
 
|bundle.dirs.all
 
|bundle.dirs.all
 
|list of all plugins (patterns.bundle.all - patterns.bundle.excludes)
 
|list of all plugins (patterns.bundle.all - patterns.bundle.excludes)
|
 
 
|-
 
|-
 
|bundle.dirs.all.test
 
|bundle.dirs.all.test
 
|list of all test bundles
 
|list of all test bundles
|
+
|-
 
|}
 
|}
  

Revision as of 06:50, 21 January 2009

Overview of ant build targets

Build.all.png

Build process graph

make.xml

Targets
name description dependencies
all builds a windows and a linux distribution, executes all dependencies, default build target clean,fetch,build,build-jmxagent,test,final-application-windows,final-application-linux
all-windows builds a windows distribution, executes all dependencies clean,fetch,build,build-jmxagent,test,final-application-windows
all-linux builds a linux distribution, executes all dependencies clean,fetch,build,build-jmxagent,test,final-application-linux
clean deletes the build directory (eclipse.build) and the workspace folder under SMILA.builder /
fetch copies all features and plugins to the build directory bundle.names.init
bundle.names.init white space delimited list of bundle names (i.e. their dir name) /
build executes all dependencies fetch, build.core
build.core builds the application (CI.EILF not final-application) /
build-jmxagent builds the jmxagent /
test executes all dependencies build, test.clean, emma.init, test.core, report
test.clean deletes the eclipse-test dir under the build directory (eclipse.build) /
emma.init initialises emma /
test.core executes all dependencies and starts all junit tests bundle.names.init
report executes all dependencies test.report, checkstyle, report.emma, pmd
test.report collects unit test results /
checkstyle runs all checkstyle checks /
report.emma creates emma report /
pmd scans Java source code and looks for potential problems /
final-application builds the final application build
test.clean2default deletes workspace and configuration folder under eclipse-test and copies default config.in into configuration folder under eclipse-test /


Properties
name description
feature-names list of all features


Patternsets
name description
patterns.bundle.all list of all plugins
patterns.bundle.excludes list of all exluded plugins


Dirsets/Restrict
name description
bundle.dirs.all list of all plugins (patterns.bundle.all - patterns.bundle.excludes)
bundle.dirs.all.test list of all test bundles

macros.build.xml

name description
M_test.bundle.eilf executes all tests
M_dirset2list converts a dirset of plugins to a name list


Tips and Tricks

Our make.xml includes all packages those start with the following patterns: com, javax, net, oracle, org.

<patternset id='patterns.bundle.all'>
  <include name="com.*" />
  <include name="javax.*" />
  <include name="net.*" />
  <include name="oracle.*" />
  <include name="org.*" />
</patternset>

Exclude bundles from build

To exlude a bundle (core or test) from build you have to include your bundle in the patterns.bundle.excludes-section.

<!-- the follwoing projects are excluded from build -->
<patternset id='patterns.bundle.excludes'>
  ... 
  <exclude name="org.eclipse.eilf.sample.bundle" />
  ...
</patternset>

Don´t execute a test

To don´t execute a test you have to include your test bundle in the bundle.dirs.all.test-section.

<restrict id="bundle.dirs.all.test">
  <dirset refid="bundle.dirs.all" />
  <rsel:name name="*.test" />
  <rsel:not>
    <rsel:or>
      ...
      <rsel:name name="org.eclipse.eilf.sample.bundle.test" />
      ...
    </rsel:or>
  </rsel:not>
</restrict>

Back to the top