Re: WOLips project and build server

From: Mertz Stéphan (s.mert..mprove.fr)
Date: Thu Dec 04 2008 - 16:52:46 EST

  • Next message: Jonathan Ricker: "Fully embedded and NEXT_ROOT"

    Thank you for the example.
    Its assimilation is in hand. Very heavy, indeed ;-)

    Le 4 déc. 08 à 18:23, Mike Schrag a écrit :

    >> Is it possible to use build server (like Hudson or Continuum) with
    >> WOLips project ?
    >> Does somebody have examples, configuration to share?
    > Quinton sent me his Hudson config, and I modified it some for our
    > environment. I still don't have a generic impl for pulling deps,
    > though I'll probably just write a little script, or possibly a
    > hudson plugin, that parses the .classpath file and grabs them. For
    > now I just shove all the frameworks in our system into the hudson
    > workspace to make them available to link against. Seems to work
    > fine, just a little clunky.
    >
    > So I set:
    >
    > Project name: myapp
    >
    > SCS:
    > Your info
    >
    > Build Triggers:
    > Build after (deps -- this should be a plugin, really)
    >
    > Build:
    > Execute Shell: /Volumes/DevStorage/Users/mdt_build/Hudson/
    > setupWorkspace.sh ${WORKSPACE} 53
    > Invoke Ant: -propertyfile Root/wolips.properties -lib Root/lib clean
    > build
    >
    > Post-build:
    > Archive artifacts: dist/*.tar.gz
    > Email notification
    >
    >
    > That setupWorkspace.sh is:
    > #!/bin/bash
    > WORKSPACE=$1
    > REPOS=`dirname $0`
    > WO_VERSION=$2
    > ROOT=$WORKSPACE/Root
    > WONDER=Wonder-latest-Frameworks-${WO_VERSION}.tar.gz
    > WOPROJECT=woproject.jar
    > JOB_ROOT=${WORKSPACE}/../..
    >
    > if [ "$WORKSPACE" == "" ]; then
    > echo "You must provide a workspace setting."
    > exit 1
    > fi
    >
    > if [ "$WO_VERSION" == "" ]; then
    > echo "You must provide a WO version."
    > exit 1
    > fi
    >
    > # Make sure the Libraries folder exists
    > mkdir -p ${WORKSPACE}/Libraries
    >
    > # Setup System and Library
    > #rm -rf ${ROOT}
    > mkdir -p ${ROOT}
    > mkdir -p ${ROOT}/lib
    > cp ${REPOS}/${WOPROJECT} ${ROOT}/lib
    > rm -rf ${ROOT}/Library/Frameworks
    > mkdir -p ${ROOT}/Library/Frameworks
    > mkdir -p ${ROOT}/Library/WebObjects/Extensions
    > mkdir -p ${ROOT}/Network/Library/Frameworks
    > mkdir -p ${ROOT}/User/Library/Frameworks
    > ln -sf ${REPOS}/WebObjects${WO_VERSION}/System ${ROOT}/System
    >
    > # Setup Wonder
    > (cd ${ROOT}/Library/Frameworks; tar xfz ${REPOS}/${WONDER})
    >
    > # Setup Internal Frameworks
    > # This is the really lame part btw -- this should parse
    > from .classpath
    > for FRAMEWORK in MDTWOExtensions MDTImage MDTCMS MDTAccounting Swarm
    > MDTDirectory Scheduler; do
    > (cd ${ROOT}/Library/Frameworks; tar xfz ${JOB_ROOT}/$
    > {FRAMEWORK}/lastSuccessful/archive/dist/${FRAMEWORK}.tar.gz)
    > done
    >
    > # Setup wolips.properties
    > cat >> ${ROOT}/wolips.properties << END
    > wo.system.root=${ROOT}/System
    > wo.user.frameworks=${ROOT}/User/Library/Frameworks
    > wo.system.frameworks=${ROOT}/System/Library/Frameworks
    > wo.bootstrapjar=${ROOT}/System/Library/WebObjects/JavaApplications/
    > wotaskd.woa/WOBootstrap.jar
    > wo.network.frameworks=${ROOT}/Network/Library/Frameworks
    > wo.api.root=/Developer/ADC%20Reference%20Library/documentation/
    > WebObjects/Reference/API/
    > wo.network.root=${ROOT}/Network
    > wo.extensions=${ROOT}/Library/WebObjects/Extensions
    > wo.user.root=${ROOT}/User
    > wo.local.frameworks=${ROOT}/Library/Frameworks
    > wo.apps.root=${ROOT}/Library/WebObjects/Applications
    > wo.local.root=${ROOT}
    > END
    >



    This archive was generated by hypermail 2.0.0 : Thu Dec 04 2008 - 16:53:33 EST