harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nathan Beyer" <ndbe...@apache.org>
Subject Re: [testing][buildtest] problem with DRLVM build on windows
Date Mon, 19 Feb 2007 03:55:05 GMT
On 2/18/07, Vladimir Ivanov <ivavladimir@gmail.com> wrote:
> On 2/17/07, Nathan Beyer <ndbeyer@apache.org> wrote:
> > Why do we need it ahead of time? I see that we run a build of the
> > classlib, but this seems unnecessary, especially consideing that we
> > don't do it for DRLVM.
>
> Actually, we run a build for both: classlib and DRLVM. But while DRLVM
> build started through the proper build.bat it is not necessary to add
> cpp.jar, for example, to the ANT_HOME/lib.

The DRLVM build can't be running, at least not completely, it runs way
too quickly. At least when I compare it to the classlib build run
during the 'setup' target.

> From my point of view the attempt to build workspace before we run the
> CC allow us to detect some possible issues, like absence of needed
> library, at early stage. It should save user's time in setup and
> maintenance the CC.

I disagree with that. The ability to run the builds of ClassLib and
DRLVM during the 'setup' target isn't a guarantee that the projects
will build at all from CruiseControl. The two environments are
different. This whole thread is anecdotal evidence of that, as I was
able to complete the 'setup' target completely and successfully, but
the DRLVM didn't build at all in CruiseControl.

I think the goal of the setup script is to create and setup the CI
environment for Harmony's projects and do so as quickly as possible.
Between the SVN checkout and the builds, the setup takes between 15
and 30 minutes before we even get to see if CruiseControl starts up.

-Nathan

>
>  thanks, Vladimir
>
> >
> > On 2/15/07, Vladimir Ivanov <ivavladimir@gmail.com> wrote:
> > > On 2/16/07, Nathan Beyer <ndbeyer@apache.org> wrote:
> > > > We do have the ecj.jar before running cruisecontrol.bat. It's
> > > > downloaded when the 'classlib' fetch-depends target is run and this
> > > > happens before the cruisecontrol is ever started.
> > >
> > > While 'setup' process checkout CLASLIB and call 'ant fetch-depends
> > > rebuild' we need in this archive before we run 'ant setup'. But we can
> > > add this jar to the path on the first run and 'setup' will be passed
> > > on second one.
> > >
> > >  thanks, Vladimir
> > >
> > >
> > > >
> > > > -Nathan
> > > >
> > > > On 2/15/07, Vladimir Ivanov <ivavladimir@gmail.com> wrote:
> > > > > On 2/15/07, Nathan Beyer <ndbeyer@apache.org> wrote:
> > > > > > I realize it won't override on the next setup run, but we're
already
> > > > > > changing the BAT file in the setup today, so why not do this
as well.
> > > > > > Also, this seems like a way of downloading the ecj JAR and adding
it
> > > > > > to the classpath. Any reason we haven't done this before?
> > > > > > In fact, we could do the exact same thing that is done to add
the CPP
> > > > > > tasks. The setup forces a classlib and drlvm build/download
and
> > > > > > changes the startup scripts to add the CPP tasks. Let's just
have it
> > > > > > add the ECJ JAR as well, which is downloaded with classlib.
> > > > >
> > > > > We need the 'ecj' jar before we run cruisecontrol.bat (the CPP archive
> > > > > added by drlvm/build.bat file). But any way we can use the Ant from
> > > > > cruisecontrol archive. I prepare the update.
> > > > >
> > > > >  thanks, Vladimir
> > > > >
> > > > >
> > > > > >
> > > > > > I'd also like to consider adding JavaWrapper or something similar
to
> > > > > > make setting this up as a windows service a tad easier.
> > > > > >
> > > > > > -Nathan
> > > > > >
> > > > > > On 2/14/07, Vladimir Ivanov <ivavladimir@gmail.com> wrote:
> > > > > > > On 2/15/07, Nathan Beyer <ndbeyer@apache.org> wrote:
> > > > > > > > I'm confused. Why does the script download Ant and
extract it, but
> > > > > > > > doesn't use it afterwards?
> > > > > > >
> > > > > > > Ant downloaded as part of cruisecontrol archive (it stored
into
> > > > > > > cruisecontrol-bin-2.5.zip) so no special download was done.
> > > > > > > Actually, I prefer to use the user's %ANT_HOME% because
I expect
> > > that
> > > > > > > ecj_3.2.jar was downloading there. Also, it will not override
on the
> > > > > > > next 'setup' run.
> > > > > > >
> > > > > > > thanks, Vladimir
> > > > > > >
> > > > > > > >
> > > > > > > > -Nathan
> > > > > > > >
> > > > > > > > On 2/14/07, Nathan Beyer <ndbeyer@apache.org>
wrote:
> > > > > > > > > Yeah, that's in there. Here's what was generated/massaged
when I
> > > ran
> > > > > > > > > 'ant setup'.
> > > > > > > > >
> > > > > > > > > REM Set this if you're using SSH-based CVS
> > > > > > > > > REM set CVS_RSH=
> > > > > > > > >
> > > > > > > > > REM Uncomment the following line if you have
OutOfMemoryError
> > > errors
> > > > > > > > > set CC_OPTS=-Xmx500m
> > > > > > > > > set BUILD_CFG=debug
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > REM The root of the CruiseControl directory.
 The key
> > > requirement is
> > > > > > > > > that this is the parent
> > > > > > > > > REM directory of CruiseControl's lib and dist
directories.
> > > > > > > > > REM By default assume they are using the batch
file from the
> > > local directory.
> > > > > > > > > REM Acknowledgments to Ant Project for this batch
file
> > > incantation
> > > > > > > > > REM %~dp0 is name of current script under NT
> > > > > > > > > set CCDIR=%~dp0
> > > > > > > > >
> > > > > > > > > :setClassPath
> > > > > > > > > set CRUISE_PATH=
> > > > > > > > >
> > > > > > > > > :checkJava
> > > > > > > > > if not defined JAVA_HOME goto noJavaHome
> > > > > > > > > set CRUISE_PATH=%JAVA_HOME%\lib\tools.jar
> > > > > > > > > goto setCruise
> > > > > > > > >
> > > > > > > > > :noJavaHome
> > > > > > > > > echo Warning: You have not set the JAVA_HOME
environment
> > > variable. Any
> > > > > > > > > tasks relying on the tools.jar file (such as
<javac>) will not
> > > work
> > > > > > > > > properly.
> > > > > > > > >
> > > > > > > > > :setCruise
> > > > > > > > > set LIBDIR=%CCDIR%lib
> > > > > > > > >
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\cruisecontrol.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\log4j.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\jdom.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\ant.jar
> > > > > > > > > set
> > > CRUISE_PATH=%CRUISE_PATH%;%ANT_HOME%\lib\ant-apache-regexp.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%ANT_HOME%\lib\ecj_3.2.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%ANT_HOME%\lib\ant-nodeps.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%ANT_HOME%\lib\ant-xslp.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%ANT_HOME%\lib\ant-trax.jar
> > > > > > > > > set
> > > CRUISE_PATH=%CRUISE_PATH%;C:\buildtest\trunk\cc/projects/drlvm/trunk/build\make\tmp\ant-contrib.jar
> > > > > > > > > set
> > > CRUISE_PATH=%CRUISE_PATH%;C:\buildtest\trunk\cc/projects/drlvm/trunk/build\make\tmp\cpptasks\patched.classes
> > > > > > > > > set
> > > CRUISE_PATH=%CRUISE_PATH%;C:\buildtest\trunk\cc/projects/drlvm/trunk/build\make\tmp\cpptasks.jar
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\ant-launcher.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\jasper-compiler.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\jasper-runtime.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\xercesImpl-2.8.0.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\xml-apis-2.8.0.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\xmlrpc-2.0.1.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\xalan-2.7.0.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\serializer-2.7.0.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\jakarta-oro-2.0.3.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\mail.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\junit.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\activation.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\commons-net-1.1.0.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\starteam-sdk.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\mx4j.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\mx4j-tools.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\mx4j-remote.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\smack.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\comm.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\x10.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\fast-md5.jar
> > > > > > > > > set
> > > CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\maven-embedder-2.0.3-dep.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\javax.servlet.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\org.mortbay.jetty.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\commons-logging.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\commons-el.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;%LIBDIR%\jaxen-1.1-beta-8.jar
> > > > > > > > > set CRUISE_PATH=%CRUISE_PATH%;.
> > > > > > > > >
> > > > > > > > > set EXEC="%JAVA_HOME%\bin\java" %CC_OPTS% -cp
"%CRUISE_PATH%"
> > > > > > > > >
> > > -Djavax.management.builder.initial=mx4j.server.MX4JMBeanServerBuilder
> > > > > > > > > CruiseControlWithJetty %* -jmxport 8000
> > > > > > > > > echo %EXEC%
> > > > > > > > > %EXEC%
> > > > > > > > >
> > > > > > > > > On 2/14/07, Vladimir Ivanov <ivavladimir@gmail.com>
wrote:
> > > > > > > > > > Please check that you have the string:
> > > > > > > > > > "set CRUISE_PATH=%CRUISE_PATH%;%ANT_HOME%\lib\ant-trax.jar"
> > > > > > > > > > in the cruisecontrol.bat and "ant-trax.jar"
in the ant libs.
> > > > > > > > > >
> > > > > > > > > >  thanks, Vladimir
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > On 2/15/07, Nathan Beyer <ndbeyer@apache.org>
wrote:
> > > > > > > > > > > Now that I have a buildtest instance
running, I'm able to
> > > build the
> > > > > > > > > > > 'classlib' project in CruiseControl,
but the others are all
> > > failing.
> > > > > > > > > > > I'm running on Windows and launching
with the generate
> > > > > > > > > > > 'cruisecontrol.bat' file.
> > > > > > > > > > >
> > > > > > > > > > > Here's the log from the 'drlvm' project.
Is another item
> > > missing in
> > > > > > > > > > > the classpath?
> > > > > > > > > > >
> > > > > > > > > > > java.lang.ClassNotFoundException:
> > > > > > > > > > > org.apache.tools.ant.taskdefs.optional.XslpLiaison
> > > > > > > > > > > at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> > > > > > > > > > > at java.security.AccessController.doPrivileged(Native
> > > Method)
> > > > > > > > > > > at
> > > java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> > > > > > > > > > > at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> > > > > > > > > > > at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> > > > > > > > > > > at
> > > java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> > > > > > > > > > > at java.lang.Class.forName0(Native
Method)
> > > > > > > > > > > at java.lang.Class.forName(Class.java:169)
> > > > > > > > > > > at
> > > org.apache.tools.ant.taskdefs.XSLTProcess.loadClass(XSLTProcess.java:419)
> > > > > > > > > > > at
> > > org.apache.tools.ant.taskdefs.XSLTProcess.resolveProcessor(XSLTProcess.java:397)
> > > > > > > > > > > at
> > > org.apache.tools.ant.taskdefs.XSLTProcess.getLiaison(XSLTProcess.java:619)
> > > > > > > > > > > at
> > > org.apache.tools.ant.taskdefs.XSLTProcess.execute(XSLTProcess.java:212)
> > > > > > > > > > > at
> > > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> > > > > > > > > > > at org.apache.tools.ant.Task.perform(Task.java:364)
> > > > > > > > > > > at org.apache.tools.ant.Target.execute(Target.java:341)
> > > > > > > > > > > at org.apache.tools.ant.Target.performTasks(Target.java:369)
> > > > > > > > > > > at
> > > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
> > > > > > > > > > > at
> > > org.apache.tools.ant.Project.executeTarget(Project.java:1185)
> > > > > > > > > > > at
> > > org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
> > > > > > > > > > > at
> > > org.apache.tools.ant.Project.executeTargets(Project.java:1068)
> > > > > > > > > > > at org.apache.tools.ant.Main.runBuild(Main.java:668)
> > > > > > > > > > > at org.apache.tools.ant.Main.startAnt(Main.java:187)
> > > > > > > > > > > at
> > > org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
> > > > > > > > > > > at
> > > org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
> > > > > > > > > > > java.lang.ClassNotFoundException:
> > > > > > > > > > > org.apache.tools.ant.taskdefs.optional.XalanLiaison
> > > > > > > > > > > at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> > > > > > > > > > > at java.security.AccessController.doPrivileged(Native
> > > Method)
> > > > > > > > > > > at
> > > java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> > > > > > > > > > > at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> > > > > > > > > > > at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> > > > > > > > > > > at
> > > java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> > > > > > > > > > > at java.lang.Class.forName0(Native
Method)
> > > > > > > > > > > at java.lang.Class.forName(Class.java:169)
> > > > > > > > > > > at
> > > org.apache.tools.ant.taskdefs.XSLTProcess.loadClass(XSLTProcess.java:419)
> > > > > > > > > > > at
> > > org.apache.tools.ant.taskdefs.XSLTProcess.resolveProcessor(XSLTProcess.java:402)
> > > > > > > > > > > at
> > > org.apache.tools.ant.taskdefs.XSLTProcess.getLiaison(XSLTProcess.java:616)
> > > > > > > > > > > at
> > > org.apache.tools.ant.taskdefs.XSLTProcess.execute(XSLTProcess.java:212)
> > > > > > > > > > > at
> > > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> > > > > > > > > > > at org.apache.tools.ant.Task.perform(Task.java:364)
> > > > > > > > > > > at org.apache.tools.ant.Target.execute(Target.java:341)
> > > > > > > > > > > at org.apache.tools.ant.Target.performTasks(Target.java:369)
> > > > > > > > > > > at
> > > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
> > > > > > > > > > > at
> > > org.apache.tools.ant.Project.executeTarget(Project.java:1185)
> > > > > > > > > > > at
> > > org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
> > > > > > > > > > > at
> > > org.apache.tools.ant.Project.executeTargets(Project.java:1068)
> > > > > > > > > > > at org.apache.tools.ant.Main.runBuild(Main.java:668)
> > > > > > > > > > > at org.apache.tools.ant.Main.startAnt(Main.java:187)
> > > > > > > > > > > at
> > > org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
> > > > > > > > > > > at
> > > org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Mime
View raw message