Contributing to OMERO.insight
=============================
Getting started with OMERO.insight
----------------------------------
Getting started with OMERO.insight entails that you have an
:doc:`OMERO.server ` already deployed.
Installing from source
----------------------
Since January 2011, OMERO.insight code base is part of the OMERO code base.
See :doc:`/developers/using-git`, to check out code using
``_
Requirements
~~~~~~~~~~~~
- Install a Java 6 or Java 7 Development Kit (JDK), available from
`Java SE Downloads
`_ and
required for both the OMERO server and client code. Set the ``JAVA_HOME``
environment variable to your JDK installation.
Running code
~~~~~~~~~~~~
It is helpful to set up the project in `Eclipse `_.
Because the OMERO Java and Python source files are encoded in UTF-8, ensure
that the encoding in Eclipse
(:menuselection:`Preferences --> General --> Workspace --> Text file encoding`)
is also set to UTF-8.
Build system
~~~~~~~~~~~~
Ant
^^^
The compilation, testing, launch, and delivery of the application are
automated by means of an `Ant `_ build file,
located under the ``build`` directory (See :doc:`/developers/Insight/DirectoryContents`).
Move to the build directory and, from the command line, enter:
::
java build
This will display the available targets to compile, run, test, and
create a distribution bundle. Use the target you wish, for example:
::
java build all
Because all the tools needed to build the software are already included
in the build directory, you do not need to have Ant on your machine. If
you wish to use Ant instead, you can still do it by using the
``build.xml`` file under the ``build`` directory. However, there are
some dependencies to satisfy before; these are clearly documented in the
``build.xml`` file itself.
Jenkins
^^^^^^^
The OME project currently uses Jenkins_ (formerly known as hudson) as a
continuous integration server available :jenkins:`here <>`. OMERO.insight is
built as part of the :omerojob:`"OMERO" job <>`.
Jenkins checks for SVN changes every 15 minutes and executes:
::
export JBOSS_HOME=$HOME/root/opt/jboss
export JAVA_OPTS="-Xmx600M -Djavac.maxmem=600M -Djavadoc.maxmem=600M -XX:MaxPermSize=256m"
#
# Build
#
J=7 java $JAVA_OPTS omero build-all
# integration unfinished
#
# Documentation and build reports
#
java $JAVA_OPTS omero -f components/antlib/resources/release.xml -Dbasedir=. javadoc
java $JAVA_OPTS omero findbugs # separate call to prevent PermGen OOM
java $JAVA_OPTS omero coverage
#
# Prepare a distribution
#
rm -f OMERO.insight-build*.zip
java -Domero.version=build$BUILD_NUMBER omero zip