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 "OTHowtos/Compiling With Ant"
< OTHowtos
(→Compiling OT/J source using ANT) |
|||
Line 1: | Line 1: | ||
=Compiling OT/J source using ANT= | =Compiling OT/J source using ANT= | ||
''Thanks to Carsten Pfeiffer for these instructions. | ''Thanks to Carsten Pfeiffer for these instructions. | ||
− | Cf. also this [http://help.eclipse.org/ | + | Cf. also this [http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_api_compile.htm Eclipse help page] (scroll to "Using the ant javac adapter").'' |
Should you need to compile an [[OTJ|OT/J]] program outside the [[Object Teams Development Tooling|OTDT]], the following steps should enable you to use ANT for this task: | Should you need to compile an [[OTJ|OT/J]] program outside the [[Object Teams Development Tooling|OTDT]], the following steps should enable you to use ANT for this task: | ||
− | * download http://www. | + | * download [http://www.eclipse.org/downloads/download.php?file=/objectteams/ecotj/ecotj-R-0.7.1-201009231848.jar ecotj.jar] |
+ | : ''you'll always find the latest version [http://www.eclipse.org/objectteams/download.php here] in the column "Command Line Compiler"'' | ||
* add it to your ANT runtime classpath (either place it in your ant_lib directory or provide the path by a <code>-lib</code> command line option to ant). | * add it to your ANT runtime classpath (either place it in your ant_lib directory or provide the path by a <code>-lib</code> command line option to ant). | ||
* in your <code>build.xml</code> set the property <code>build.compiler</code> to use the OTDT compiler in <code><nowiki><javac></nowiki></code> tasks, like that: <pre><property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" /></pre> | * in your <code>build.xml</code> set the property <code>build.compiler</code> to use the OTDT compiler in <code><nowiki><javac></nowiki></code> tasks, like that: <pre><property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" /></pre> |
Revision as of 20:52, 20 November 2010
Compiling OT/J source using ANT
Thanks to Carsten Pfeiffer for these instructions. Cf. also this Eclipse help page (scroll to "Using the ant javac adapter").
Should you need to compile an OT/J program outside the OTDT, the following steps should enable you to use ANT for this task:
- download ecotj.jar
- you'll always find the latest version here in the column "Command Line Compiler"
- add it to your ANT runtime classpath (either place it in your ant_lib directory or provide the path by a
-lib
command line option to ant). - in your
build.xml
set the propertybuild.compiler
to use the OTDT compiler in<javac>
tasks, like that:<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
- just use
<javac>
tasks in yourbuild.xml
to compile the code.
Here is a build.xml
that can be used for compiling the sample OTSample-Flightbonus, provided that subcomponents have already been compiled into booking.jar and bonussystem.jar:
<?xml version="1.0" encoding="UTF-8"?> <project name="fbapplication" default="all" basedir="."> <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" /> <!-- adjust this to your project's requirements: --> <property name="user.classpath" value="booking.jar:bonussystem.jar" /> <target name="compile"> <!-- regular use of javac task (source="1.5" or greater is actually required): --> <javac srcdir="src" destdir="bin" classpath="${otre.path}:${user.classpath}" source="1.5" target="1.5"/> </target> </project>
This script is invoked with
$ ant -lib ecj-export -Dotre.path=lib/otre.jar
You'll have to substitute the following paths:
- ecj-export: directory containing the appropriate
ecotj-version.jar
- lib: path to the Object Teams Runtime Environment (OTRE), which can be found in
eclipse/plugins/org.objectteams.otdt_version/lib
.
This path can of course also be defined using a property definition within the build script.