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