8 Replies Latest reply on May 30, 2006 1:16 AM by mculpepper

    Integrating FreeMarker into nightly build

    maxandersen


      I'm working on subject so we can get the nightly build/updatesite working for the freemarker build.

      In doing that I've come upon some "fun" parts of the nightly build - i'll add them to this thread as I find them ;)

      The first thing is:

      [get] Getting: http://repository.jboss.com/eclipse/sdk/3.2RC5/eclipse-SDK-
      3.2RC5-linux-gtk.tar.gz
      [get] To: C:\temp\jbide\buildoutput\eclipse-SDK-linux-gtk.tar.gz

      Why is it downloading the linux AND windows SDK ? (I don't have 100 gbit wire directly into the download center ;)

        • 1. Re: Integrating FreeMarker into nightly build
          maxandersen

          Any reason why we have .sh/.bat files ? Why is it not just ant files ?

          • 2. Re: Integrating FreeMarker into nightly build
            maxandersen

            [java] Buildfile: C:/temp/jbide/buildoutput/clean-eclipse/eclipse/plugins/org.eclipse.pde.build_3.1.2/scripts/build.xml

            [java] BUILD FAILED
            [java] Buildfile: C:\temp\jbide\buildoutput\clean-eclipse\eclipse\plugins\org.eclipse.pde.build_3.1.2\scripts\build.xml does not exist


            Why is it using 3.1.2 and not 3.2.0 here ? (I thought the build were using 3.2 ?)

            • 3. Re: Integrating FreeMarker into nightly build
              maxandersen

              I fixed that issue by setting it in the global.properties.template, but now I bump into a case where it is trying to look up hibernate-tools/customTargets.xml in the eclipse directory instead of the builders....

              ...debugging...

              • 4. Re: Integrating FreeMarker into nightly build
                maxandersen


                ok so if I change hibernate-tool/customTargets.xml
                from

                <target name="allElements">
                 <ant antfile="${genericTargets}" target="${target}" >
                 <property name="customTargets" value="customTargets.xml"/>
                 <property name="type" value="feature" />
                 <property name="id" value="org.hibernate.eclipse.feature" />
                 </ant>
                </target>
                


                to

                <target name="allElements">
                 <ant antfile="${genericTargets}" target="${target}" >
                 <property name="customTargets" value="${builderDirectory}/customTargets.xml"/>
                 <property name="type" value="feature" />
                 <property name="id" value="org.hibernate.eclipse.feature" />
                 </ant>
                </target>
                


                Then it seems to work muuuch better ;)

                Any idea why ?

                • 5. Re: Integrating FreeMarker into nightly build

                  To answer some of your posts..

                  Why is it downloading the linux AND windows SDK ?

                  We download both linux and win32 by default as we create bundles of them for the integration and release builds (it's easy to remove one, just go into builders/common/build.requires and remove the eclipse platform requirement you don't want)

                  Any reason why we have .sh/.bat files ? Why is it not just ant files

                  I find it easier to work with system commands for bootstrapping the build but maybe that's just me (ant isn't so keen on command line arguments)

                  Why is it using 3.1.2 and not 3.2.0 here ? (I thought the build were using 3.2 ?)

                  This is definately a bug.. the port of the build system to 3.2 is still dodgy at best. Any bugs you find would be great if you could commit your fixes/findings!

                  WRT to the customTargets.xml error, this must be new behavior in the 3.2 based build that I haven't stumbled upon yet. Go ahead and commit those 2 changes you made (to the customTargets.xml and global.properties.template), and i will copy your customTargets.xml change over to the rest of the builders.

                  • 6. Re: Integrating FreeMarker into nightly build
                    maxandersen

                    the "funny" thing is that it seems to only be hibernate-tools that need this "fix".

                    Is there still a difference between how that is built compared to the "others"

                    • 7. Re: Integrating FreeMarker into nightly build
                      maxandersen

                      regarding bat/sh files then how can it be good to have *six* bat/sh files that basically does the same but because they are seperate/platform dependent insanely hard to keep in sync.

                      Talking about hard to keep in sync; how many places do i need to add "freemarker" to integrate it into this build ? It looks to be *alot* of places or am i wron g?

                      • 8. Re: Integrating FreeMarker into nightly build

                         

                        Is there still a difference between how that is built compared to the "others"(?)

                        Not that I know of... very strange indeed.

                        regarding bat/sh files then how can it be good to have *six* bat/sh files that basically does the same but because they are seperate/platform dependent insanely hard to keep in sync.

                        Well yes, one script for each platform/type of build ;). It would probably be possible / fine to integrate all 3 into one global "build.sh/build.bat" script and have the first argument be the TYPE of build. If this is something you think would be more usable it's not something that would be too hard to do (crossing fingers)

                        how many places do i need to add "freemarker" to integrate it into this build ? It looks to be *alot* of places or am i wrong?

                        Your new nickname for the week is Mr. Alarmist =). The only thing you should have to do is create the builder directory, and add the the name of that directory to the list of builders in builders/product/build.properties.template.