Skip to main content
Jump to: navigation, search

SMILA/Development Guidelines/Introduction to make.xml

Overview of ant build targets


Build process graph


name description dependencies
all executes all dependencies, default build target clean, fetch, build, build-jmxclient, test, final-application
clean deletes the build directory ( 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.SMILA not final-application) /
build-jmxclient builds the jmxclient tool /
test executes all dependencies build, test.clean, emma.init, test.core, report
test.clean executes all dependencies, deletes the eclipse-test dir under the build directory ( and unzips CI.SMILA build.test.feature
build.test.feature builds the test feature /
emma.init initialises emma /
test.core executes all dependencies and starts all junit tests bundle.names.init
report executes all dependencies, checkstyle, report.emma, pmd, pmd-cpd collects unit test results /
checkstyle runs all checkstyle checks /
report.emma creates emma report /
pmd scans Java source code and looks for potential problems /
pmd-cpd Runs pmd-cpd (potential duplication) check /
final-application builds the final application build, build-jmxclient
test.clean2default deletes workspace and configuration folder under eclipse-test and copies default into configuration folder under eclipse-test /
all-without-test executes all dependencies (builds the application but ommits tests) clean,fetch,build,build-jmxclient,final-application

name description
feature-names list of all features

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

name description
bundle.dirs.all list of all plugins (patterns.bundle.all - patterns.bundle.excludes)
bundle.dirs.smila list of all SMILA plugins (org.eclipse.smila.* + org.eccenca.smila.* - patterns.bundle.excludes)
bundle.dirs.3rd list of all 3rd party plugins (patterns.bundle.all - patterns.bundle.excludes - org.eclipse.smila.* - org.eccenca.smila.*)
bundle.dirs.all.test list of all test bundles
bundle.dirs.smila.test list of all SMILA test bundles
bundle.dirs.3rd.test list of all 3rd party test bundles

name description
M_test.bundle.smila executes all tests in a bundle
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.*" />

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="*.feature" />

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:name name="org.eclipse.smila.sample.bundle.test" />

Don´t generate reports for pmd, checkstyle and/or emma (code coverage)

If you don´t want to generate reports for pmd, checkstyle and/or emma you just have to set the values of the properties to false in the

<property name="EMMA.REPORT" value="false" />	
<property name="EMMA.CLASSPATH" value="emma.lib" />	
<property name="CHECKSTYLE.REPORT" value="false" />	
<property name="CHECKSTYLE.CLASSPATH" value="checkstyle.lib" />	
<property name="PMD.REPORT" value="false" />	
<property name="PMD.CLASSPATH" value="pmd.lib" />

Back to the top