Re: wobuild.properties NOT used by Wonder build files

From: Archibal Singleton (concierg..xidia.com)
Date: Thu Feb 14 2008 - 19:35:18 EST

  • Next message: Mike Schrag: "Re: Eclipse or WOLips java.lang.NullPointerException"

    On 14 Feb 2008, at 18:43, Anjo Krank wrote:

    > you can edit Build/build/generic.xml and change
    >
    > <property name="wo.woroot" value="/System" />
    >
    > to
    >
    > <property name="wo.woroot" value="${wo.wosystemroot}" />
    >
    > and see if this works. If It does, I'll change it in the code. My
    > guess is that this part of wonder predates woproject's handling by a
    > huge margin...

    Did not work (I tested it) I think for the following reasons (warning:
    I'm a total Ant newbie...)

    1. Build/build/Mac OS X.properties already defines wo.woroot=/System
    and this is set earlier than the above with the following line in
    generic.xml which comes before the above.

            <property file="${wonder.root}/Build/build/${os.name}.properties" />

    2. Besides, AFAIK, generic.xml has no knowledge of wo.wosystemroot (as
    I wrote earlier, the Wonder Ant build files don't seem to use ~/
    Library/wobuild.properties at all).

    One solution would be to include this line

            <property file="${user.home}/Library/wobuild.properties" />

    right after

             <property file="${wonder.root}/Build/build/build.properties" />

    in generic.xml AND then set wo.woroot in wobuild.properties.

    If I understand correctly, wobuild.properties is an artifact of
    woproject and that's why Wonder which predates woproject ignores it
    and provides its own properties which makes it problematic to provide
    sensible defaults for Wonder properties using wolips/woproject
    properties (besides Wonder can be built without woproject/wolips being
    installed).

    The following which appears in Wonder BUILD.txt is misleading I think
    since Wonder does not use this file but instead uses $
    {user.home}build.properties and {user.home}/build.wonder.properties.:

    3. A wobuild.properties file should be placed in, on Mac OS X, the ~/
    Library directory.
        On Windows, this should go into a Library folder in the directory
    pointed to
        by the 'user.home' Java system property. Usually, this may be at
        C:\Documents and Settings\<user name>\Library.

     From Build/build/generic.xml:

        <target name="global.environment">
             <property name="wonder.root" value="${basedir}" />
             <property file="${wonder.root}/Build/build/build.properties" />
             <property file="${user.home}/build.wonder.properties" />
             <property file="${user.home}/build.properties" />
             <property file="${wonder.root}/Build/build/
    default.properties" />
             <property file="${wonder.root}/Build/build/$
    {os.name}.properties" />
             <property file="${wonder.root}/Build/build/default-
    os.properties" />

             <!-- default values. can be overridden by *.properties files
    or -D options. -->
             <property name="wo.woroot" value="/System" />

    Regards,

    = tmk =

    >
    >
    > Cheers, Anjo
    >
    > Am 14.02.2008 um 22:09 schrieb Archibal Singleton:
    >
    >>
    >> On 11 Feb 2008, at 20:03, Archibal Singleton wrote:
    >>
    >>>
    >>> On 26 Oct 2007, at 12:21, Anjo Krank wrote:
    >>>
    >>>> IIRC, you just set:
    >>>>
    >>>> wo.wosystemroot=/some/place/or/other
    >>>>
    >>>> where /some/place/or/other/Library/Frameworks/ has all the WO
    >>>> stuff in it.
    >>
    >> [snip]
    >>
    >>> ie I've replace all occurences of /System on the right side of the
    >>> assignments with the location for my 53 System Frameworks because
    >>> just setting wo.wosystemroot=/Users/tmk/Library/WebObjects/53/
    >>> System didn't work.
    >>>
    >>> Problem is it doesn't seem to be working either.
    >>>
    >>> Please see below the output of issuing: ant frameworks
    >>>
    >>> Apparently the the WO system frameworks can't be found? I've
    >>> double-checked and the paths in the wobuild.properties file are
    >>> correct.
    >>>
    >>> I guess I must be missing something obvious :-(
    >>
    >> First I need to clarify that what failed to build was the *Wonder*
    >> source. I'm using Wonder source as per http://wiki.objectstyle.org/confluence/display/WONDER/Working+with+Wonder+source+in+Eclipse
    >>
    >> To answer my own questions, what I was missing which is NOT obvious
    >> IMHO is that AFAIK the Wonder Ant build files do not use ~/
    >> Wobuild.properties :-(.
    >>
    >> Instead they are using their own set of properties files.
    >>
    >> After learning Ant (sooner that I'd wished) and then reading Wonder
    >> Ant build files I realised that Wonder uses the following
    >> properties files:
    >> ${user.home}/build.wonder.properties and ${user.home}/
    >> build.properties. I only tested with the first one where I set
    >> wo.woroot to point to my folder with the WO System Frameworks and
    >> Wonder built then built like usual.
    >>
    >> Wonder's BUILD.txt file which only mention ~/wobuild.properties may
    >> be misleading in this regard.
    >>
    >> OTOH, the build.xml that's included to build new projects created
    >> by WOLips and WOLips itself *do* use the ~/wobuild.properties so if
    >> someone already had the Wonder stuff built, changing
    >> wo.wosystemroot as instructed above does work.
    >>
    >> Maybe it would less confusing if the same properties were used
    >> everywhere, and the unused stuff removed (or at least marked as
    >> deprecated)
    >>
    >> Funny thing is I found the following exchange between Mike and Anjo
    >> where Mike allude to the fact that wo.woroot is deprecated.
    >> Well not in Project Wonder it would seem (I'm tracking Wonder CVS,
    >> so my version is a few days old at max)
    >>
    >> ---
    >>
    >> On 05 Dec 2007, at 06:14, Anjo Krank wrote:
    >>
    >>> I was wondering about that, too. It may be that the wo.dir ones
    >>> where thought of as a consolidated namespace thing that was never
    >>> implemented.
    >>>
    >>> Cheers, Anjo
    >>>
    >>> Am 05.12.2007 um 10:05 schrieb Mike Schrag:
    >>>
    >>>> There are a lot of crazy wobuild.properties flying around and all
    >>>> the examples have 500 different paths in them that all look the
    >>>> same ... I did some searching on the source, and it APPEARS that
    >>>> the only settings that are even used are:
    >>>>
    >>>> wo.woroot (which is basically deprecated in favor of wosystemroot/
    >>>> wolocalroot)
    >>>> wo.wosystemroot
    >>>> wo.wolocalroot
    >>>> wo.homeroot
    >>>> wo.dir.reference.api
    >>>> wo.externalbuildroot
    >>>>
    >>>> and to build WOLips itself, I think you might need
    >>>> wo.dir.library.frameworks
    >>>>
    >>>> Does anyone know of any places that use the other values that
    >>>> maybe I'm just missing in this search?
    >>
    >> = tmk =
    >



    This archive was generated by hypermail 2.0.0 : Thu Feb 14 2008 - 19:37:33 EST