Warning | ||
---|---|---|
| ||
Most of the information on this page is now out of date, as it refers to the old Maven 1 build system. The lcsim projects have been ported to use Maven 2 instead. |
Prerequisites
To build the org.lcsim software, you should have the following installed.
- Java JDK 1.5 or 1.0 (aka Java 5.0)
- Netbeans IDE 4.1 (optional but recommended)
- install the Netbeans with JDK 5.0 bundle if you don't already have a suitable Java SDK installed
- Maven
- Follow the instructions at Installing Maven with Netbeans Support to setup Maven with Netbeans support.
- CVS client (normally pre-installed on any Linux box)
Tip | ||
---|---|---|
| ||
|
SLAC Unix Tools
The tools above , with the exception of Netbeans, are all
pre-installed on SLAC Unix.
Just issue the command:
No Format |
---|
setenv JAVAVER 1.5 |
- 6
- Maven 2.0.9
- Netbeans 6.5
- CVS client such as command-line on Linux, Tortoise CVS, or just use the Netbeans cvs client
If you are following the lcsim tutorial instructions, these tools should be setup by nowto make sure you get the correct Java version.
Building org.lcsim software
The lcsim software consists of two three primary packages, a geometry package,
and the analysis and reconstruction package. You must obtain and
build the geometry package first, since the analysis package
depends on it: GeomConverter, org.lcsim, and lcsim-contrib.
Most users will be primarily interested in building and running lcsim and/or lcsim-contrib.
Here are condensed instructions, which you can execute from
the Linux or Cygwin bash any bash-like unix shell.
No Format |
---|
export CVSROOT=:pserver:anonymous@cvs.freehep.org:/cvs/lcd cvs login (just hit enter when prompted for password) cvs co GeomConverter cvs co lcsim cd GeomConverterlcsim maven cd ../lcsim maven mvn |
The build procedure for lcsim-contrib is virtually the same. Just replace "lcsim" in the above instructions by "lcsim-contrib".
Keeping the Release Current
Oftentimes new directories are added in a new release. In order
to make sure that cvs adds those, please use the command
No Format |
---|
cvs update -PdA |
which will
P: prune empty directories
d: create directories
A: reset sticky tags
No Format |
---|
man cvs |
will give more information on the cvs program.
Installing Custom JARs into JAS3
Developers of org.lcsim may want to use a version in JAS3 that is more up-to-date
than the distributed plugin.
Execute the following from the lcsim checkout directory to install the lcsim target
JAR into the JAS3 extensions directory, overwriting the JAR that was automatically
downloaded.
No Format |
---|
maven jas:install
|
By default, your lcsim and lcsim-contrib builds install their current jar files into ~/.JAS3/extensions.
Edit the pom.xml file to turn off this behaviorThis will copy the lcsim and GeomConverter jars to ~/.JAS3/extensions.
Testing the installation
Note | ||
---|---|---|
| ||
By default, maven will also run the JUnit tests associated with this distribution.
|
If you wish to build without testing, issue the following command:
...
The above command run the Main class to convert the given compact description to a HepRep.
Compiler Warnings
By default, compiler warnings about deprecation and unchecked method or class usages are turned off.
To turn on these warnings, remove the "#" from these two lines in lcsim/project.properties
No Format |
---|
#maven.compile.deprecation=on
#maven.compile.compilerargs=-Xlint:unchecked
|
Now you should see lots of warning messages, which will effect both Netbeans and command-line builds.
To customize Netbeans, only, you can change how the Netbeans Build Mapping works.
Right-click on the org.lcsim project and select "Properties". Now double-click on "Goal to IDE Mappings". Where it says "Build", you should see "jar:install".
To see all warnings, change the Build line to this:
No Format |
---|
jar:install -Dmaven.compile.deprecation=on -Dmaven.compile.compilerargs=-Xlint:unchecked
|
This should have the same effect as changing the project.properties file, but command-line builds using maven only will unaffected.
Building the Documentation
Generating the documentation with maven is quite easy. Just execute this command.
No Format |
---|
maven site
|
This builds the site at the location ./target/docs. You can use this site for local documentation by browsing to ./target/docs/index.html.
The reference copy of the lcsim documentation is kept at http://www.lcsim.org/software/lcsim. This usually corresponds to the CVS head version.
Increasing the Java Heap and Perm Size
The LCSim tests can take up more memory than the default heap/perm size assigned to the java VM.
Use this environment variable setting to allocate more memory, i.e. 1 gigabyte heap / 256 megabyte perm, to maven.
No Format |
---|
MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
|
If you are building the lcsim documentation, including running all the tests, you are required to increase the heap size beyond the initial default of 256 megabytes. Otherwise, the target will fail due to an "out of memory" error.