Re: Building frameworks in Eclipse vs. Xcode

From: Joshua Archer (joshu..dl.edu)
Date: Tue Jun 19 2007 - 19:50:10 EDT

  • Next message: Chuck Hill: "Re: Building frameworks in Eclipse vs. Xcode"

    I'm using version 3.2.2 for eclipse, and if I create a new WOnder
    framework project, here's my build.xml:






    <project name="AssetDBSupport" default="build" basedir=".">

            <!-- main targets -->
            <!-- add optional targets to depends list if needed -->
            <target name="build" depends="setProps,init.build,build.woframework"/>

               <target name="compileAndBuild"
    depends="setProps,init.build,compile,build.woframework" />

            <target name="install"
    depends="setProps,init.install,build.woframework"/>
            
            <target name="clean" depends="setProps">
                      <delete dir="dist"/>
            </target>

            <!-- property determination -->
            <target name="setProps">
                    <property file="${user.home}${file.separator}build.properties"/>
                    <property file="build.properties"/>
                    <property file="${user.home}${file.separator}Library$
    {file.separator}wobuild.properties"/>
                    <condition property="wo.properties.check.failed">
                            <not>
                                 <and>
                                           <isset property="wo.wosystemroot"/>
                                           <isset property="wo.wolocalroot"/>
                                 </and>
                         </not>
                       </condition>
                       <fail message="Could not find ${user.home}${file.separator}
    Library${file.separator}wobuild.properties."
    if="wo.properties.check.failed"/>
                    <property name="install.dir" value="${wo.wolocalroot}/Library/
    Frameworks"/>
            </target>

            <!-- basic initializations -->
            <target name="init.install">
                     <tstamp/>
                    <property name="dest.dir" value="${install.dir}"/>
            </target>
            
            <target name="init.build">
                     <tstamp/>
                    <property name="dest.dir" value="dist"/>
            </target>

            <!-- woproject tasks -->
            <target name="build.woframework">
                    
                <taskdef name="woframework"
    classname="org.objectstyle.woproject.ant.WOFramework">
                 </taskdef>

                    <woframework name="${framework.name}" destDir="${dest.dir}"
    customInfoPListContent="${customInfoPListContent}" principalClass="$
    {principalClass}" eoAdaptorClassName="${eoAdaptorClassName}">
                                <classes dir="${classes.dir}">
                                   <patternset>
                                               <includesfile name="woproject/classes.include.patternset"/>
                                            <excludesfile name="woproject/classes.exclude.patternset"/>
                                    </patternset>
                                </classes>
                                <wsresources dir="WebServerResources">
                                   <patternset>
                                               <include name="**/*"/>
                                            <exclude name="CVS"/>
                                            <exclude name=".svn"/>
                                            <excludesfile name="woproject/wsresources.exclude.patternset"/>
                                    </patternset>
                            </wsresources>
                                <resources dir="Resources">
                                   <patternset>
                                               <include name="**/*"/>
                                            <exclude name="CVS"/>
                                            <exclude name=".svn"/>
                                            <excludesfile name="woproject/resources.exclude.patternset"/>
                                    </patternset>
                            </resources>
                                <resources dir="Components">
                                   <patternset>
                                               <include name="**/*"/>
                                            <exclude name="CVS"/>
                                            <exclude name=".svn"/>
                                            <excludesfile name="woproject/resources.exclude.patternset"/>
                                    </patternset>
                            </resources>
                            <lib dir="Libraries">
                                    <include name="*.jar"/>
                                    <exclude name="**/*.framework/**"/>
                            </lib>
                        </woframework>
            </target>

       <target name = "compile" depends = "setProps,init.build" >
         <mkdir dir = "bin"/>
         <javac srcdir = "Sources" destdir = "bin">
           <classpath>
             <fileset dir="${wo.dir.user.home.library.frameworks}"
    includesfile = "woproject/ant.frameworks.user.home">
               <include name = "**/*.jar"/>
             </fileset>
             <fileset dir="${wo.wolocalroot}" includesfile = "woproject/
    ant.frameworks.wo.wolocalroot">
               <include name = "**/*.jar"/>
             </fileset>
             <fileset dir="${wo.wosystemroot}" includesfile = "woproject/
    ant.frameworks.wo.wosystemroot">
               <include name = "**/*.jar"/>
             </fileset>
           </classpath>
         </javac>
       </target>
    </project>

    On Jun 19, 2007, at 4:34 PM, Chuck Hill wrote:

    >
    > On Jun 19, 2007, at 4:20 PM, Joshua Archer wrote:
    >
    >> Hello Chuck et al,
    >>
    >> So, I installed the latest nightly, and created a WOnderFramework
    >> project, and ended up with a build.xml file that looked like the
    >> one I previously described.
    >
    > I just did that with same version that you claim to be using and I
    > get this:
    >
    > <project name="WOnderFramework" default="build" basedir=".">
    >
    > <!-- main targets -->
    > <!-- add optional targets to depends list if needed -->
    > <target name="build"
    > depends="setProps,init.build,build.woframework"/>
    >
    > <target name="compileAndBuild"
    > depends="setProps,init.build,compile,build.woframework" />
    >
    > <target name="install"
    > depends="setProps,init.install,build.woframework"/>
    >
    > <target name="clean" depends="setProps">
    > <delete dir="dist"/>
    > </target>
    >
    > <!-- property determination -->
    > <target name="setProps">
    > <property file="${user.home}${file.separator}build.properties"/>
    > <property file="build.properties"/>
    > <property file="${user.home}${file.separator}Library$
    > {file.separator}wobuild.properties"/>
    > <condition property="wo.properties.check.failed">
    > <not>
    > <and>
    > <isset property="wo.wosystemroot"/>
    > <isset property="wo.wolocalroot"/>
    > </and>
    > </not>
    > </condition>
    > <fail message="Could not find ${user.home}${file.separator}
    > Library${file.separator}wobuild.properties."
    > if="wo.properties.check.failed"/>
    > <property name="install.dir" value="${wo.wolocalroot}/Library/
    > Frameworks"/>
    > </target>
    >
    > <!-- basic initializations -->
    > <target name="init.install">
    > <tstamp/>
    > <property name="dest.dir" value="${install.dir}"/>
    > </target>
    >
    > <target name="init.build">
    > <tstamp/>
    > <property name="dest.dir" value="dist"/>
    > </target>
    >
    > <!-- woproject tasks -->
    > <target name="build.woframework">
    >
    > <taskdef name="woframework"
    > classname="org.objectstyle.woproject.ant.WOFramework">
    > </taskdef>
    >
    > <woframework name="${framework.name}" destDir="${dest.dir}"
    > customInfoPListContent="${customInfoPListContent}" principalClass="$
    > {principalClass}" eoAdaptorClassName="${eoAdaptorClassName}">
    > <classes dir="${classes.dir}">
    > <patternset>
    > <includesfile name="woproject/classes.include.patternset"/>
    > <excludesfile name="woproject/classes.exclude.patternset"/>
    > </patternset>
    > </classes>
    > <wsresources dir="WebServerResources">
    > <patternset>
    > <include name="**/*"/>
    > <exclude name="CVS"/>
    > <exclude name=".svn"/>
    > <excludesfile name="woproject/wsresources.exclude.patternset"/>
    > </patternset>
    > </wsresources>
    > <resources dir="Resources">
    > <patternset>
    > <include name="**/*"/>
    > <exclude name="CVS"/>
    > <exclude name=".svn"/>
    > <excludesfile name="woproject/resources.exclude.patternset"/>
    > </patternset>
    > </resources>
    > <resources dir="Components">
    > <patternset>
    > <include name="**/*"/>
    > <exclude name="CVS"/>
    > <exclude name=".svn"/>
    > <excludesfile name="woproject/resources.exclude.patternset"/>
    > </patternset>
    > </resources>
    > <lib dir="Libraries">
    > <include name="*.jar"/>
    > <exclude name="**/*.framework/**"/>
    > </lib>
    > </woframework>
    > </target>
    >
    > <target name = "compile" depends = "setProps,init.build" >
    > <mkdir dir = "bin"/>
    > <javac srcdir = "Sources" destdir = "bin">
    > <classpath>
    > <fileset dir="${wo.dir.user.home.library.frameworks}"
    > includesfile = "woproject/ant.frameworks.user.home">
    > <include name = "**/*.jar"/>
    > </fileset>
    > <fileset dir="${wo.wolocalroot}" includesfile = "woproject/
    > ant.frameworks.wo.wolocalroot">
    > <include name = "**/*.jar"/>
    > </fileset>
    > <fileset dir="${wo.wosystemroot}" includesfile = "woproject/
    > ant.frameworks.wo.wosystemroot">
    > <include name = "**/*.jar"/>
    > </fileset>
    > </classpath>
    > </javac>
    > </target>
    > </project>
    >
    >
    >
    > Does that look the same as yours?
    >
    >
    >> Did I do something incorrect? Should I use WOFramework instead of
    >> WOnderFramework?
    >
    > The WOnder versions are much easier to work with.
    >
    >
    >> Do I have the wrong nightly build? It seems copying over the
    >> build.xml will not solve my problem in this case.
    >
    > Did you update to Eclipse 3.2.2?
    >
    >
    > Chuck
    >
    >
    >>
    >> Joshua
    >>
    >>> On Jun 18, 2007, at 3:58 PM, Chuck Hill wrote:
    >>>
    >>>> What are you describing is
    >>>>
    >>>> 4. Really, deeply broken Wonder.
    >>>>
    >>>> You, sir, are using an archaic version of WOLips. Things get
    >>>> added and fixed frequency. Hie thee to http://
    >>>> webobjects.mdimension.com/wolips/nightly/ and install something
    >>>> modern. You _will_ need to recreate the project or at least
    >>>> create a project of the same name and move build.xml and
    >>>> woproject/ into this project.
    >>>>
    >>>>
    >>>> Chuck
    >>>>
    >>>>
    >>>>
    >>>> On Jun 18, 2007, at 3:49 PM, Joshua Archer wrote:
    >>>>
    >>>>> mine looks *almost* like that, but it had a section for
    >>>>> 'Components' and 'Libraries', which forced me to create some
    >>>>> empty directories in the process or it would fail.
    >>>>>
    >>>>> On Jun 18, 2007, at 3:42 PM, Chuck Hill wrote:
    >>>>>
    >>>>>> The first thing to figure out is which project format you are
    >>>>>> using:
    >>>>>>
    >>>>>> 1. WOLips standard
    >>>>>> 2. Broken Wonder
    >>>>>> 3. Fixed Wonder
    >>>>>>
    >>>>>> Look in the build.xml for <woframework...
    >>>>>>
    >>>>>> Does it look like this?
    >>>>>>
    >>>>>> <woframework name="${framework.name}" destDir="${dest.dir}"
    >>>>>> customInfoPListContent="${customInfoPListContent}"
    >>>>>> principalClass="${principalClass}" eoAdaptorClassName="$
    >>>>>> {eoAdaptorClassName}">
    >>>>>> <classes dir="${classes.dir}">
    >>>>>> <patternset>
    >>>>>> <includesfile name="woproject/
    >>>>>> classes.include.patternset"/>
    >>>>>> <excludesfile name="woproject/classes.exclude.patternset"/>
    >>>>>> </patternset>
    >>>>>> </classes>
    >>>>>> <wsresources dir="WebServerResources">
    >>>>>> <patternset>
    >>>>>> <include name="**/*"/>
    >>>>>> <exclude name="CVS"/>
    >>>>>> <exclude name=".svn"/>
    >>>>>> <excludesfile name="woproject/
    >>>>>> wsresources.exclude.patternset"/>
    >>>>>> </patternset>
    >>>>>> </wsresources>
    >>>>>> <resources dir="Resources">
    >>>>>> <patternset>
    >>>>>> <include name="**/*"/>
    >>>>>> <exclude name="CVS"/>
    >>>>>> <exclude name=".svn"/>
    >>>>>> <excludesfile name="woproject/
    >>>>>> resources.exclude.patternset"/>
    >>>>>> </patternset>
    >>>>>> </resources>
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>>> On Jun 18, 2007, at 3:21 PM, Joshua Archer wrote:
    >>>>>>
    >>>>>>> I've checked, and the only thing in there is Info.plist and
    >>>>>>> the Java dir. I've got several other files that need to make
    >>>>>>> it into Resources/, what do I edit to get them in? I'm by no
    >>>>>>> means an ant build expert (really just starting out). I
    >>>>>>> suspect I need to add something in there to copy the files at
    >>>>>>> build, yes?
    >>>>>>>
    >>>>>>> On Jun 18, 2007, at 2:46 PM, Chuck Hill wrote:
    >>>>>>>
    >>>>>>>>
    >>>>>>>>> and in /Library/Frameworks I got the framework to build
    >>>>>>>>> with the jar. I have associated plist files etc. -- did
    >>>>>>>>> those get into the jar, or do I need to modify my ant
    >>>>>>>>> script to copy those into the framework?
    >>>>>>>>
    >>>>>>>> They _should_ get copied. Check in the .framework/Resources
    >>>>>>>> directory to verify. If not, you will need to do something.
    >>>>>>>
    >>>>>>> ----------------------------------------------------------------
    >>>>>>> -------------
    >>>>>>> Joshua Archer
    >>>>>>> Software Engineer, CSU - Center for Distributed Learning
    >>>>>>> Phone: 707.664.2085, Fax: 707.664.4350
    >>>>>>> ----------------------------------------------------------------
    >>>>>>> -------------
    >>>>>>>
    >>>>>>>
    >>>>>>>
    >>>>>>>
    >>>>>>
    >>>>>> --
    >>>>>>
    >>>>>> Practical WebObjects - for developers who want to increase
    >>>>>> their overall knowledge of WebObjects or who are trying to
    >>>>>> solve specific problems.
    >>>>>> http://www.global-village.net/products/practical_webobjects
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>>>
    >>>>>
    >>>>> ------------------------------------------------------------------
    >>>>> -----------
    >>>>> Joshua Archer
    >>>>> Software Engineer, CSU - Center for Distributed Learning
    >>>>> Phone: 707.664.2085, Fax: 707.664.4350
    >>>>> ------------------------------------------------------------------
    >>>>> -----------
    >>>>>
    >>>>>
    >>>>>
    >>>>>
    >>>>
    >>>> --
    >>>>
    >>>> Practical WebObjects - for developers who want to increase their
    >>>> overall knowledge of WebObjects or who are trying to solve
    >>>> specific problems.
    >>>> http://www.global-village.net/products/practical_webobjects
    >>>>
    >>>>
    >>>>
    >>>>
    >>>>
    >>>>
    >>>
    >>> --------------------------------------------------------------------
    >>> ---------
    >>> Joshua Archer
    >>> Software Engineer, CSU - Center for Distributed Learning
    >>> Phone: 707.664.2085, Fax: 707.664.4350
    >>> --------------------------------------------------------------------
    >>> ---------
    >>>
    >>>
    >>>
    >>>
    >>
    >> ---------------------------------------------------------------------
    >> --------
    >> Joshua Archer
    >> Software Engineer, CSU - Center for Distributed Learning
    >> Phone: 707.664.2085, Fax: 707.664.4350
    >> ---------------------------------------------------------------------
    >> --------
    >>
    >>
    >>
    >>
    >
    > --
    >
    > Practical WebObjects - for developers who want to increase their
    > overall knowledge of WebObjects or who are trying to solve specific
    > problems.
    > http://www.global-village.net/products/practical_webobjects
    >
    >
    >
    >
    >
    >

    ------------------------------------------------------------------------
    -----
    Joshua Archer
    Software Engineer, CSU - Center for Distributed Learning
    Phone: 707.664.2085, Fax: 707.664.4350
    ------------------------------------------------------------------------
    -----



    This archive was generated by hypermail 2.0.0 : Tue Jun 19 2007 - 19:51:21 EDT