Skip to content

Commit

Permalink
fixed windows build, you can now build, clean the server and rebuild …
Browse files Browse the repository at this point in the history
…the server.

git-svn-id: file:///home/svn/omero/trunk@5162 05709c45-44f0-0310-885b-81a1db45b4a6
  • Loading branch information
donald committed Sep 30, 2009
1 parent 035363f commit 437061b
Show file tree
Hide file tree
Showing 6 changed files with 732 additions and 427 deletions.
221 changes: 111 additions & 110 deletions build.py
Original file line number Diff line number Diff line change
@@ -1,110 +1,111 @@
#!/usr/bin/env python
#
# $Id$
#
# Copyright 2009 Glencoe Software, Inc. All rights reserved.
# Use is subject to license terms supplied in LICENSE.txt
#
# General build scripts.

import os
import sys
import subprocess

def build_hudson():
"""
Top-level build called by hudson for testing the
"""
#
# Cleaning to prevent strange hudson errors about
# stale tests and general weirdness.
#
java_omero("clean")

# Build & Test
java_omero("build-all")
java_omero("test-integration")
java_omero("test-dist")

#
# Documentation and build reports
#
java_omero("release-docs")
java_omero("release-findbugs")
## java_omero("release-jdepend") ## Doesn't yet work. Running from hudson

#
# Prepare a distribution
#
"rm -f OMERO.server-build*.zip"
java_omero(["-f","components/tools/OmeroImporter/build.xml","release-win-zip"])
java_omero(["-f","components/tools/OmeroImporter/build.xml","release-osx-zip"])
java_omero("release-zip")

# Install into the hudson repository
## Disabling until 4.1 with more work
## on integration
##java_omero("release-hudson")


def java_omero(args):
command = [ find_java() ]
command.extend( calculate_memory_args() )
command.extend(["omero"])
command.extend(choose_omero_version())
if isinstance(args,str):
command.append(args)
else:
command.extend(args)
execute(command)

def find_java():
return "java"

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

def choose_omero_version():
"""
Returns an array specifying the build parameter for
ant. Returned as an array so that an empty value can
be extended into the build command.
If OMERO_BULID is set, then "-Domero.version=${omero-version}-${OMERO_BUILD}"
otherwise nothing.
"""
try:
omero_build = os.environ["OMERO_BUILD"]
command = [ find_java() ]
command.extend( calculate_memory_args() )
command.extend(["omero","-q","version"])
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
omero_version,err = p.communicate()
omero_version = omero_version.split()[1]
return [ "-Domero.version=%s-%s" % (omero_version, omero_build) ]
except KeyError, ke:
return [] # Use default

def execute(args):
rc = subprocess.call(args)
if rc != 0:
sys.exit(rc)


if __name__ == "__main__":
#
# If this is a hudson build, then call the special build_hudson
# method. Otherwise, use java_omero which will specially configure
# the build system.
#
args = list(sys.argv)
args.pop(0)

try:
if len(args) > 0 and args[0] == "-hudson":
build_hudson()
else:
java_omero(args)
except KeyboardInterrupt:
sys.stderr.write("\nCancelled by user\n")
sys.exit(2)
#!/usr/bin/env python
#
# $Id$
#
# Copyright 2009 Glencoe Software, Inc. All rights reserved.
# Use is subject to license terms supplied in LICENSE.txt
#
# General build scripts.

import os
import sys
import subprocess

def build_hudson():
"""
Top-level build called by hudson for testing the
"""
#
# Cleaning to prevent strange hudson errors about
# stale tests and general weirdness.
#
java_omero("clean")

# Build & Test
java_omero("build-all")
java_omero("test-integration")
java_omero("test-dist")

#
# Documentation and build reports
#
java_omero("release-docs")
java_omero("release-findbugs")
## java_omero("release-jdepend") ## Doesn't yet work. Running from hudson

#
# Prepare a distribution
#
"rm -f OMERO.server-build*.zip"
java_omero(["-f","components/tools/OmeroImporter/build.xml","release-win-zip"])
java_omero(["-f","components/tools/OmeroImporter/build.xml","release-osx-zip"])
java_omero("release-zip")

# Install into the hudson repository
## Disabling until 4.1 with more work
## on integration
##java_omero("release-hudson")


def java_omero(args):
command = [ find_java() ]
command.extend( calculate_memory_args() )
command.extend(["omero"])
command.extend(choose_omero_version())
if isinstance(args,str):
command.append(args)
else:
command.extend(args)
execute(command)

def find_java():
return "java"

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

def choose_omero_version():
"""
Returns an array specifying the build parameter for
ant. Returned as an array so that an empty value can
be extended into the build command.
If OMERO_BULID is set, then "-Domero.version=${omero-version}-${OMERO_BUILD}"
otherwise nothing.
"""
try:
omero_build = os.environ["OMERO_BUILD"]
command = [ find_java() ]
command.extend( calculate_memory_args() )
command.extend(["omero","-q","version"])
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
omero_version,err = p.communicate()
omero_version = omero_version.split()[1]
return [ "-Domero.version=%s-%s" % (omero_version, omero_build) ]
except KeyError, ke:
return [] # Use default

def execute(args):
rc = subprocess.call(args)
if rc != 0:
sys.exit(rc)



if __name__ == "__main__":
#
# If this is a hudson build, then call the special build_hudson
# method. Otherwise, use java_omero which will specially configure
# the build system.
#
args = list(sys.argv)
args.pop(0)

try:
if len(args) > 0 and args[0] == "-hudson":
build_hudson()
else:
java_omero(args)
except KeyboardInterrupt:
sys.stderr.write("\nCancelled by user\n")
sys.exit(2)
Loading

0 comments on commit 437061b

Please sign in to comment.