Machine Setup | ||
---|---|---|
![]() |
![]() |
|
Committers | Policies |
You need Sun JDK 6, Apache Ant 1.8.2 or later, and git. You'll probably want an IDE such as Eclipse and, in order for Virgo projects to build under Eclipse, the Virgo IDE tooling and AJDT (the current update site may be found on http://www.eclipse.org/ajdt/downloads/).
<span style="color:#ff0000">Don't forget to install AJDT as this is needed so that Eclipse produces the same compiled classes as the Ant build!</span>
At the time of writing, some ant targets occasionally fail because they cannot load classes from jsch-0.1.42.jar. A workaround on Mac OS X is to copy this JAR from virgo-build's /lib/ivy directory to /opt/local/share/java/apache-ant/lib.
On Mac OS X, increase the default number of concurrently open files by adding this to .profile:
ulimit -n 10000
To run certain scripts (don't run them unless you know what you're doing—and why), you'll need ruby, gems, and the 'choice' gem. On Mac OS you can get these by installing the XCode tools (from the Mac OS X disk) and MacPorts, then issuing:
sudo port -v install ruby sudo port -v install rb-rubygems sudo gem install --remote choice
To run scripts such as Releaselor or Ripplor you'll need to:
-Dkey.file=$HOME/.ssh/id_dsa
If you have headless environment you may want to add to ANT_OPTS:
-Djava.awt.headless=true
To enable Clover you will need to specify in ANT_OPTS the path to the licence:
-Dclover.license.path=/opt/clover.license
I have found that the <code>sun-java6-jdk</code> package is not installable directly from a fresh install of this level of Ubuntu (I'm running this in a virtual machine). (I set <code>JAVA_HOME</code> to be <code>/usr/lib/jvm/java-6-sun</code> which is a symbolic link, and this doesn't need updating after the install below.)
To get the jdk to be installed I issued the following commands (which you might find useful):
sudo add-apt-repository "deb http:''//''archive.canonical.com''/'' lucid partner"
(which made the package visible to the package-manager)
sudo apt-get update
(to reset the package-manager indexes)
sudo apt-get install --fix-missing sun-java6-jdk
The <code>--fix-missing</code> option is necessary since other packages are required.
The JCraft's jsch library needed for SSH/SCP support in ANT may need to be installed, e.g.:
sudo apt-get install libjsch-java
Check in ANT if its available:
ant -diagnostics
If the output says under "Tasks availability" <code>sshexec : Missing dependency com.jcraft.jsch.Logger</code>, then you'll need to provide this library to ANT. On Linux you can do this by creating a symlink:
sudo ln -s /usr/share/java/jsch-0.1.42.jar /usr/share/ant/lib/jsch-0.1.42.jar
or on Mac OS, place (a link to) the JAR in ~/.ant/lib:
cp jsch-0.1.42.jar ~/.ant/lib/.
Finally, you may check if the JAR is correct (as suggested in this blog):
jar tvf /usr/share/ant/lib/jsch*jar
or:
jar tvf ~/.ant/lib/jsch*jar
If everything is ok you should get a list of files inside the archive. Be sure to check "ant -diagnostics" too.
![]() |
![]() |
![]() |
Committers | Policies |