Skip to content

Commit

Permalink
Remove hard-coded memory settings for 64bit Java 6
Browse files Browse the repository at this point in the history
maxmem is no longer set for javac and javadoc in
etc/local.properties.example. Nor are these set by
build.py. If the system is detected to be a 64 bit
Java 6 VM, then no properties are set at all.

Otherwise, defaults are taken.

Note: my local environment had javac.maxmem set in
ANT_OPTS which has likely made this more complicated
then it ever needed to be.
  • Loading branch information
joshmoore committed Apr 5, 2013
1 parent dd7fa58 commit cb38d3e
Show file tree
Hide file tree
Showing 5 changed files with 186 additions and 118 deletions.
2 changes: 1 addition & 1 deletion build.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def find_java():
return "java"

def calculate_memory_args():
return "-Xmx600M -Djavac.maxmem.default=750M -Djavadoc.maxmem.default=750M -XX:MaxPermSize=256m".split(" ")
return "-Xmx600M -XX:MaxPermSize=256m".split(" ")

def choose_omero_version():
"""
Expand Down
161 changes: 89 additions & 72 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -678,81 +678,94 @@ To get started using Eclipse, execute "./build.py build-dev" and import the top-
<mkdir dir="target/docs"/>
<copy file="docs/overview.html" tofile="target/docs/overview.html" overwrite="true"/>
<replace file="target/docs/overview.html" token="@VERSION@" value="${omero.version}"/>
<javadoc
failonerror="true"
Verbose="false"
maxmemory="${javadoc.maxmem}"
destdir="${dist.dir}/docs/api"
author="true"
version="true"
use="true"
breakiterator="true"
windowtitle="OMERO (OME Remote Objects) Server"
overview="target/docs/overview.html"
stylesheetfile="docs/javadocsstyle.css">

<classpath>
<fileset dir="lib">
<include name="**/*.jar"/>
<exclude name="repository/omero/**"/>
<exclude name="repository/omero-tools/**"/>
<presetdef name="nomemoryjavadoc">
<javadoc
failonerror="true"
Verbose="false"
destdir="${dist.dir}/docs/api"
author="true"
version="true"
use="true"
breakiterator="true"
windowtitle="OMERO (OME Remote Objects) Server"
overview="target/docs/overview.html"
stylesheetfile="docs/javadocsstyle.css">

<classpath>
<fileset dir="lib">
<include name="**/*.jar"/>
<exclude name="repository/omero/**"/>
<exclude name="repository/omero-tools/**"/>
</fileset>
</classpath>

<fileset dir="components/common/" defaultexcludes="yes">
<patternset refid="all.java.files"/>
</fileset>
<fileset dir="components/server/" defaultexcludes="yes">
<patternset refid="all.java.files"/>
</fileset>
<fileset dir="components/romio/" defaultexcludes="yes">
<patternset refid="all.java.files"/>
</fileset>
<fileset dir="components/rendering/" defaultexcludes="yes">
<patternset refid="all.java.files"/>
</fileset>
<!-- Skipping generated files for blitz. Just too many -->
<fileset dir="components/blitz/src" defaultexcludes="yes" includes="**/*.java"/>
<fileset dir="components/tools/OmeroJava" defaultexcludes="yes">
<patternset refid="all.java.files"/>
</fileset>
</classpath>

<fileset dir="components/common/" defaultexcludes="yes">
<patternset refid="all.java.files"/>
</fileset>
<fileset dir="components/server/" defaultexcludes="yes">
<patternset refid="all.java.files"/>
</fileset>
<fileset dir="components/romio/" defaultexcludes="yes">
<patternset refid="all.java.files"/>
</fileset>
<fileset dir="components/rendering/" defaultexcludes="yes">
<patternset refid="all.java.files"/>
</fileset>
<!-- Skipping generated files for blitz. Just too many -->
<fileset dir="components/blitz/src" defaultexcludes="yes" includes="**/*.java"/>
<fileset dir="components/tools/OmeroJava" defaultexcludes="yes">
<patternset refid="all.java.files"/>
</fileset>
<doctitle><![CDATA[<h1> Omero API </h1>]]></doctitle>
<bottom><![CDATA[
<div id="ome-logo-for-top" style="display:none"><a href="http://hudson.openmicroscopy.org.uk/job/OMERO/javadoc/" target="_top"><div id="ome-logo-inner"><img src="http://hudson.openmicroscopy.org.uk/userContent/ome_docs_trac_banner.png" alt="OME Docs"></a></div></div>
<div id="doc-name-right" style="position: absolute;top: 90px;right: 20px;"><b>OmeroJava Api</b></div>
<p><i>Version: ${omero.version}</i></p>
<p><b><i>Copyright &#169; @@YEAR@@ The University of Dundee &amp; Open Microscopy Environment. All Rights Reserved.</i></b></p>
]]></bottom>

<tag name="DEV.TODO" scope="all" description="To do:"/>

<group title="A. Core System"
packages="ome.api:ome.conditions*:ome.parameters*:ome.system*"/>
<group title="B. Model"
packages="ome.model*"/>
<group title="C. Client Packages"
packages="ome.client*:ome.adapters*:pojos*"/>
<group title="D. Server Packages"
packages="ome.api.local*:ome.services*:ome.logic*:ome.tools*:ome.security*:ome.io*:ome.annotations*"/>
<group title="E. Blitz Server"
packages="ome.services.blitz*"/>
<group title="E. Blitz Client"
packages="omero*:omeroj*"/>
<group title="G. Rendering Engine"
packages="omeis*"/>
<group title="H. Utilities"
packages="ome.util*"/>
<group title="I. Deprecated"
packages="ome.dynamic*:ome.rules*"/>

<link href="http://java.sun.com/j2se/1.5/docs/api/"/>
<link href="http://www.springframework.org/docs/api/"/>
<link href="http://www.hibernate.org/hib_docs/v3/api/"/>
<link href="http://aopalliance.sourceforge.net/doc/"/>
<link href="http://lucene.apache.org/java/2_2_0/api"/>

</javadoc>
</presetdef>

<if>
<isset property="javadoc.maxmem"/>
<then>
<nomemoryjavadoc
maxmemory="${javadoc.maxmem}"/>
</then>
<else>
<nomemoryjavadoc/>
</else>
</if>

<doctitle><![CDATA[<h1> Omero API </h1>]]></doctitle>
<bottom><![CDATA[
<div id="ome-logo-for-top" style="display:none"><a href="http://hudson.openmicroscopy.org.uk/job/OMERO/javadoc/" target="_top"><div id="ome-logo-inner"><img src="http://hudson.openmicroscopy.org.uk/userContent/ome_docs_trac_banner.png" alt="OME Docs"></a></div></div>
<div id="doc-name-right" style="position: absolute;top: 90px;right: 20px;"><b>OmeroJava Api</b></div>
<p><i>Version: ${omero.version}</i></p>
<p><b><i>Copyright &#169; @@YEAR@@ The University of Dundee &amp; Open Microscopy Environment. All Rights Reserved.</i></b></p>
]]></bottom>

<tag name="DEV.TODO" scope="all" description="To do:"/>

<group title="A. Core System"
packages="ome.api:ome.conditions*:ome.parameters*:ome.system*"/>
<group title="B. Model"
packages="ome.model*"/>
<group title="C. Client Packages"
packages="ome.client*:ome.adapters*:pojos*"/>
<group title="D. Server Packages"
packages="ome.api.local*:ome.services*:ome.logic*:ome.tools*:ome.security*:ome.io*:ome.annotations*"/>
<group title="E. Blitz Server"
packages="ome.services.blitz*"/>
<group title="E. Blitz Client"
packages="omero*:omeroj*"/>
<group title="G. Rendering Engine"
packages="omeis*"/>
<group title="H. Utilities"
packages="ome.util*"/>
<group title="I. Deprecated"
packages="ome.dynamic*:ome.rules*"/>

<link href="http://java.sun.com/j2se/1.5/docs/api/"/>
<link href="http://www.springframework.org/docs/api/"/>
<link href="http://www.hibernate.org/hib_docs/v3/api/"/>
<link href="http://aopalliance.sourceforge.net/doc/"/>
<link href="http://lucene.apache.org/java/2_2_0/api"/>

</javadoc>
<replace dir="${dist.dir}/docs/api">
<replacetoken><![CDATA[<HEAD>]]></replacetoken>
<replacevalue><![CDATA[<HEAD profile="http://www.w3.org/2005/10/profile">
Expand Down Expand Up @@ -1057,8 +1070,12 @@ omero.version=${omero.version}

<target name="print-mem">
<echo>
*.maxmem.* settings
-------------------
javac.maxmem=${javac.maxmem}
javadoc.maxmem=${javadoc.maxmem}
javac.maxmem.default=${javac.maxmem.default}
javadoc.maxmem.default=${javadoc.maxmem.default}
</echo>
</target>
</project>
15 changes: 15 additions & 0 deletions components/antlib/resources/global.xml
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,21 @@
<taskdef resource="net/sf/antcontrib/antlib.xml"
classpath="${lib.dir}/repository/ant-contrib-1.0b3.jar"/>

<if>
<and>
<contains string="${os.arch}" substring="x86_64"/>
<contains string="${java.version}" substring="1.6" casesensitive="false" />
</and>
<then>
<property name="maxmem.set" value="false"/>
</then>
<else>
<property name="javac.maxmem.default" value="750M"/>
<property name="javadoc.maxmem.default" value="750M"/>
<property name="maxmem.set" value="true"/>
</else>
</if>

<!-- prevent direct use of ant -->
<if><not><isset property="build.py"/></not>
<then>
Expand Down
122 changes: 79 additions & 43 deletions components/antlib/resources/lifecycle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# $Id$
#
#
# Copyright 2006 University of Dundee. All rights reserved.
# Use is subject to license terms supplied in LICENSE.txt
#
#
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -116,6 +116,19 @@ omero.version=${omero.version}
<copyResources/>
</target>

<presetdef name="nomemoryjava">
<javac
fork="yes"
sourcepath=""
source="${javac.source}"
target="${javac.target}"
encoding="UTF-8"
debug="${javac.debug}"
debuglevel="${javac.debuglevel}"
deprecation="on">
</javac>
</presetdef>

<!-- javac macro which can contain any number of path
elements for compilation. Usually src.dir and src.dest
will need to be compiled together because of inter-
Expand All @@ -128,21 +141,26 @@ omero.version=${omero.version}

<tempfile property="temp.file" deleteonexit="true" prefix="_omero_build_" suffix=".tmp"/>
<concat destfile="${temp.file}">-classpath ${toString:@{classpathref}}</concat>
<javac
fork="yes"
destdir="@{destdir}"
sourcepath=""
source="${javac.source}"
target="${javac.target}"
encoding="UTF-8"
debug="${javac.debug}"
debuglevel="${javac.debuglevel}"
deprecation="on"
memoryMaximumSize="${javac.maxmem}"
>
<compilerarg value="@${temp.file}"/>
<srcelements/>
</javac>
<if>
<isset property="javac.maxmem"/>
<then>
<nomemoryjava
destdir="@{destdir}"
memoryMaximumSize="${javac.maxmem}"
>
<compilerarg value="@${temp.file}"/>
<srcelements/>
</nomemoryjava>
</then>
<else>
<nomemoryjava
destdir="@{destdir}"
>
<compilerarg value="@${temp.file}"/>
<srcelements/>
</nomemoryjava>
</else>
</if>
<delete file="${temp.file}" quiet="true" failonerror="false"/>
</sequential>
</macrodef>
Expand All @@ -163,41 +181,59 @@ omero.version=${omero.version}
<ivy:retrieve settingsRef="ivy.${ant.project.name}.test" pattern="${deps.lib.dir}/test/[artifact].[ext]" log="quiet" sync="false" symlink="true"/>
<taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="omero.test.classpath"/>
<taskdef resource="emma_ant.properties" classpathref="omero.classpath" />
<presetdef name="nomemorytestng">
<testng outputDir="${testreports.dir}"
haltonfailure="${test.with.fail}"
haltonskipped="${test.with.fail}"
verbose="${testng.verbose}"
useDefaultListeners="${testng.useDefaultListeners}"
listeners="org.uncommons.reportng.HTMLReporter,org.uncommons.reportng.JUnitXMLReporter"
>
<classpath>
<pathelement location="${emmaclasses.dir}"/>
<path refid="omero.test.classpath"/>
<pathelement location="${testclasses.dir}"/>
<pathelement location="${classes.dir}"/>
<pathelement location="${test.dir}"/>
</classpath>
<jvmarg value="-XX:MaxPermSize=256m"/>
<jvmarg value="-Demma.coverage.out.file=${target.dir}/coverage.emma" />
<jvmarg value="-Dlog4j.configuration=log4j.xml"/>
<jvmarg value="-Domero.db.name=${omero.db.name}"/>
<jvmarg value="-Domero.db.host=${omero.db.host}"/>
<jvmarg value="-Domero.db.port=${omero.db.port}"/>
<jvmarg value="-Domero.db.user=${omero.db.user}"/>
<jvmarg value="-Domero.db.pass=${omero.db.pass}"/>
<jvmarg value="-Domero.data.dir=${omero.data.dir}"/>
</testng>
</presetdef>
</target>

<macrodef name="suite">
<attribute name="groups" default=""/>
<attribute name="methods" default=""/>
<element name="files" implicit="yes"/>
<sequential>
<testng outputDir="${testreports.dir}"
haltonfailure="${test.with.fail}"
haltonskipped="${test.with.fail}"
verbose="${testng.verbose}"
<if>
<isset property="javac.maxmem"/>
<then>
<nomemorytestng
groups="@{groups}"
methods="@{methods}"
>
<files/>
<jvmarg value="-Xmx${javac.maxmem}"/>
</nomemorytestng>
</then>
<else>
<nomemorytestng
groups="@{groups}"
methods="@{methods}"
useDefaultListeners="${testng.useDefaultListeners}"
listeners="org.uncommons.reportng.HTMLReporter,org.uncommons.reportng.JUnitXMLReporter"
>
<classpath>
<pathelement location="${emmaclasses.dir}"/>
<path refid="omero.test.classpath"/>
<pathelement location="${testclasses.dir}"/>
<pathelement location="${classes.dir}"/>
<pathelement location="${test.dir}"/>
</classpath>
<files/>
<jvmarg value="-Xmx${javac.maxmem}"/>
<jvmarg value="-XX:MaxPermSize=256m"/>
<jvmarg value="-Demma.coverage.out.file=${target.dir}/coverage.emma" />
<jvmarg value="-Dlog4j.configuration=log4j.xml"/>
<jvmarg value="-Domero.db.name=${omero.db.name}"/>
<jvmarg value="-Domero.db.host=${omero.db.host}"/>
<jvmarg value="-Domero.db.port=${omero.db.port}"/>
<jvmarg value="-Domero.db.user=${omero.db.user}"/>
<jvmarg value="-Domero.db.pass=${omero.db.pass}"/>
<jvmarg value="-Domero.data.dir=${omero.data.dir}"/>
</testng>
>
<files/>
</nomemorytestng>
</else>
</if>
</sequential>
</macrodef>

Expand Down
4 changes: 2 additions & 2 deletions etc/local.properties.example
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ javac.target=1.5
javac.debug=on
javac.debuglevel=lines,vars,source
# "300m" suffices on 32 bit machines
javac.maxmem=500000000
javadoc.maxmem=500000000
#javac.maxmem=500000000
#javadoc.maxmem=500000000
exe4j.home=/opt/exe4j

# Which version of Ice this build of OMERO is
Expand Down

0 comments on commit cb38d3e

Please sign in to comment.