Component Builds (Deprecated)
See also: Component Tests
Building With Tycho + Maven :: In Progress
These instructions are a work in progress and therefore subject to change. Please report problems as a JBIDE Build/Releng JIRA.
Option 1. Ant Wraps Maven
This option will fetch sources, generate pom.xml files, and produce update sites for each component. Can also be run from within Eclipse.
- Install JDK 6 (Sun or OpenJDK).
- Install Ant 1.7.1 or newer.
- Fetch the build folder from SVN: http://anonsvn.jboss.org/repos/jbosstools/trunk/build.
svn co http://anonsvn.jboss.org/repos/jbosstools/trunk/build - Read help to learn about options and component build order.
cd build; ant help -logger org.apache.tools.ant.NoBannerLogger - Build components and run tests.
cd build; ant -DCOMPONENTS=tests,common,jmx | tee buildlog.txt - Check for generated update sites in
${COMPONENT}/site/target/ - Check for published jars in m2 repo, either in
~/.m2/repositoryor/tmp/m2-repository
Option 2. Pure Maven
This option assumes you have already fetched sources and that those sources include pom.xml files. To build an update site you will need to have checked in a pom.xml and site.xml for your update site.
- Install JDK 6 (Sun or OpenJDK).
- Install Ant 1.7.1 or newer.
- Install Maven 3 beta 1 or newer, into
/opt/maven3or similar. - If on linux, create an alias to wrap Maven so that UI tests can run on a different X display thread.
alias mvn3='kill -9 `cat /tmp/.X4-lock`; rm -fr /tmp/.X4-lock; Xvfb :4 -ac 2>&1 1>/dev/null & DISPLAY=:4 /opt/maven3/bin/mvn' - Fetch the parent-pom.xml from SVN: http://anonsvn.jboss.org/repos/jbosstools/trunk/parent-pom.xml.
wget http://anonsvn.jboss.org/repos/jbosstools/trunk/parent-pom.xml - Fetch the build folder from SVN: http://anonsvn.jboss.org/repos/jbosstools/trunk/build.
svn co http://anonsvn.jboss.org/repos/jbosstools/trunk/build - Fetch the project(s) you'd like to build.
svn co http://anonsvn.jboss.org/repos/jbosstools/trunk/tests; \
svn co http://anonsvn.jboss.org/repos/jbosstools/trunk/common; \
svn co http://anonsvn.jboss.org/repos/jbosstools/trunk/jmx - Run Maven to build each component in order. Component order can be seen in this pom.xml or in this ant script.Use
-Dmaven.test.skipto build, but not run tests.
cd tests; mvn3 clean install -B -U -fae -q; \
cd ../common; mvn3 clean install -B -U -fae -q-Dmaven.test.skip;\
cd ../jmx; mvn3 clean install -B -U -fae -q -Dmaven.test.skip| tee buildlog.txt - Check for generated update sites in
${COMPONENT}/site/target/ - Check for published jars in m2 repo, either in
~/.m2/repositoryor/tmp/m2-repository
Building with Athena + PDE :: Deprecated
These instructions - being a deprecated method for building - are outdated. Your mileage will vary.
To build JBoss Tools components, you will need to first get the source projects in your Eclipse 3.5 (Galileo) workspace. The example below shows how to build the JMX component. You will require the Eclipse 3.5 SDK + either the Subclipse or Subversive SVN client plugins installed therein.
1. Download three of these five Project Set Files. You will require athena.psf and project.*.psf - choose the appropriate version for your particular SVN client, Subversive or Subclipse. You will also need one of the two releng.*.psf files, again dependent on your SVN client - Subversive or Subclipse.
2. Open Eclipse, and do File > Import > Team > Team Project Set. Browse for the .psf files you downloaded above, and import them. You should end up with several new workspace projects.
org.eclipse.releng.basebuilder
org.eclipse.dash.common.releng
org.jboss.tools.jmx.releng
org.jboss.tools.jmx.* (8 or more plugins and features) 3. Open org.jboss.tools.jmx.releng/build.properties and edit to suit your needs.
The following properties must be set:
projectid=jbosstools.jmx
zipPrefix=JMX
incubation=
buildType=N
version=1.1.0
mainFeatureToBuildID=org.jboss.tools.jmx.sdk.feature
testFeatureToBuildID=org.jboss.tools.jmx.tests.feature
# set path and version of JVM to use; for 1.4, use JAVA14_HOME, for 6.0, use JAVA60_HOME
JAVA_HOME=/usr/lib/jvm/java
JAVA50_HOME=/usr/lib/jvm/java
dependencyURLs=\
http://download.eclipse.org/eclipse/downloads/drops/S-3.5M6-200903130100/eclipse-SDK-3.5M6-linux-gtk-ppc.tar.gz,\
http://path/to/other/required.zip
#what steps should we do?
build.steps=buildUpdate,buildTests,generateDigests,test,publish,cleanup
# You will need this property too, or to perform the equivalent set up manually
# To permit automatic downloads of non-EPL compatible code, set this to property
# to "I accept"
#thirdPartyDownloadLicenseAcceptance="I accept"
# To use Athena with non-Eclipse projects, you need these settings too: domainNamespace=*
projNamespace=org.jboss.tools.jmx
projRelengName=org.jboss.tools.jmx.releng
4. You can also set other PDE variables and compiler settings in your releng project's build.properties, such as:
compilerArg=-enableJavadoc -encoding ISO-8859-1
flattenDependencies=true
parallelCompilation=true
generateFeatureVersionSuffix=true
individualSourceBundles=true
5. Select org.jboss.tools.jmx.releng/build.xml, then Run As > Ant Build.
6. A log of the build will appear as org.jboss.tools.jmx.releng/buildlog.latest.txt.
7. If needs be, you may find additional information related to troubleshooting or server configuration here.
- Common Build Infrastructure/Getting Started/Build In Eclipse
- Common Build Infrastructure/Virtual Server Setup/Fedora
- Common Build Infrastructure/Virtual Server Setup/MacOSX
- Common Build Infrastructure/Virtual Server Setup/WinXP
Should you have any issues with the Athena build system, please don't hesitate to report a bug.