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 "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" | ||
|- | |- | ||
− | | | + | |bgcolor="#f0f0f0" colspan="3" align="center"|'''Targets''' |
− | + | ||
− | + | ||
|- | |- | ||
|bgcolor="#f0f0f0"|'''name''' | |bgcolor="#f0f0f0"|'''name''' | ||
Line 97: | Line 95: | ||
| / | | / | ||
|- | |- | ||
− | | | + | |} |
− | + | <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''' |
− | + | ||
|- | |- | ||
|feature-names | |feature-names | ||
|list of all features | |list of all features | ||
− | |||
|- | |- | ||
− | | | + | |} |
− | + | <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''' |
− | + | ||
|- | |- | ||
|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''' | + | |} |
− | + | <br> | |
− | + | {|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''' |
− | + | ||
|- | |- | ||
|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 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>