Skip to main content

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.

Jump to: navigation, search

SMILA/Development Guidelines/Introduction to make.xml

< SMILA‎ | Development Guidelines
Revision as of 10:01, 8 April 2013 by Unnamed Poltroon (Talk) (make.xml)

Overview of ant build targets

Build.all.png

Build process graph

make.xml

Targets
name description dependencies
all executes all dependencies, default build target clean, fetch, build, build-jmxclient, test, final-application
clean deletes the build directory (smila.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.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 (eclipse.build) 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 test.report, checkstyle, report.emma, pmd, pmd-cpd
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 /
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 config.in 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


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.smila list of all SMILA plugins (org.eclipse.smila.* - patterns.bundle.excludes)
bundle.dirs.3rd list of all 3rd party plugins (patterns.bundle.all - patterns.bundle.excludes - org.eclipse.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

macros.build.xml

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 that start with specific patterns:

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

Exclude bundles from build

To exclude 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" />
</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.smila.test" />
      ...
    </rsel:or>
  </rsel:not>
</restrict>

Back to the top