harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ivanov" <ivavladi...@gmail.com>
Subject Re: [testing][buildtest] problem with DRLVM build on windows
Date Mon, 19 Feb 2007 04:41:09 GMT
On 2/19/07, Nathan Beyer <ndbeyer@apache.org> wrote:
> 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.

It is just because the DRLVM build always failed for first run :)
But this is only one issue that I know about VM build so I prefer not
to report 'FAILED' status here.

>
> > 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.

It was a bug in the script. Now it fixed. In general, I try to support
these two environments to be equivalent.

>
> 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.

I'm not sure that quick start of CC will be good if it done over non-working ws.
And when we investigate some issue I prefer as little tools in the
toolchain as possible.
That's for me, I often forget about GUI libs on Linux and the first
attempt of build is very useful here :)

 Thanks, Vladimir
>
> -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