On 19-Jul-08, at 6:42 PM, Dennis Lundberg wrote:
No, I don't have Cygwin installed, and I'm seeing the same problem
that Benjamin is.
The problem is that the config.xml for maven-2.1.x-IT-support and
maven-2.1.x-ITs use this:
<builders>
<hudson.tasks.Shell>
<command> ...</command>
</hudson.tasks.Shell>
</builders>
To be able to run such a job in Hudson, it requires the presence of
a "sh" executable, which doesn't exist on Windows, unless you have
Cygwin installed.
We could make an installation like below and that's not a problem. I
can also make another executor for Hudson using the Plexus CLI utils
so that it just works on any platform. I'll add the installation for
now and make another bundle.
The following steps are needed to make the Hudson configuration
platform independent:
1. Create a "MavenInstallation" configuration for Hudson in runtime/
hudson.tasks.Maven.xml that defines the bootstrapped Maven.
<?xml version='1.0' encoding='UTF-8'?>
<hudson.tasks.Maven_-DescriptorImpl>
<installations>
<hudson.tasks.Maven_-MavenInstallation>
<name>Maven 2.1 SNAPSHOT (built by Hudson)</name>
<mavenHome>@[EMAIL PROTECTED]</mavenHome>
</hudson.tasks.Maven_-MavenInstallation>
</installations>
</hudson.tasks.Maven_-DescriptorImpl>
2. Replace the <hudson.tasks.Shell> builders with
<hudson.tasks.Maven> for maven-2.1.x-IT-support. It should look like
this:
<hudson.tasks.Maven>
<targets>[EMAIL PROTECTED]@ clean install</targets>
<mavenName>Maven 2.1 SNAPSHOT (built by Hudson)</mavenName>
</hudson.tasks.Maven>
3. Replace the <hudson.tasks.Shell> builders with
<hudson.tasks.Maven> for maven-2.1.x-ITs. It should look like this:
<hudson.tasks.Maven>
<targets>[EMAIL PROTECTED]@ -Prun-its clean test</targets>
<mavenName>Maven 2.1 SNAPSHOT (built by Hudson)</mavenName>
</hudson.tasks.Maven>
Jason van Zyl wrote:
Brian and Dennis were both running under Windows and Brian didn't
have Cygwin installed. Not sure what Dennis had on his machine.
On 18-Jul-08, at 2:47 PM, Benjamin Bentmann wrote:
Brian E. Fox wrote:
What dependency on cygwin?
I am referring to this error while trying to build maven-2.1.x-IT-
support:
[workspace] $ sh -xe <snip>\Temp\hudson39040.sh
The system cannot find the file specified
FATAL: Command execution failed
java.io.IOException: Cannot run program "sh" (in directory "M:
\hudson\runtime\jobs\maven-2.1.x-IT-support\workspace"):
CreateProcess error=2, The system cannot find the specified file
at java.lang.ProcessBuilder.start(Unknown Source)
at hudson.Proc$LocalProc.<init>(Proc.java:104)
at hudson.Proc$LocalProc.<init>(Proc.java:82)
at hudson.Launcher$LocalLauncher.createLocalProc(Launcher.java:
291)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:282)
at hudson.Launcher.launch(Launcher.java:120)
at hudson.Launcher.launch(Launcher.java:72)
at
hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:60)
at
hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:34)
at hudson.model.Build$RunnerImpl.build(Build.java:130)
at hudson.model.Build$RunnerImpl.doRun(Build.java:105)
at hudson.model.AbstractBuild
$AbstractRunner.run(AbstractBuild.java:231)
at hudson.model.Run.run(Run.java:778)
at hudson.model.Build.run(Build.java:85)
at
hudson.model.ResourceController.execute(ResourceController.java:70)
at hudson.model.Executor.run(Executor.java:88)
Caused by: java.io.IOException: CreateProcess error=2, The system
cannot find the specified file
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 16 more
finished: FAILURE
That batch script seems overly complicated, what's it doing that
the other .bat isn't?
First of all: What "other. bat" file exactly are you referring to?
To make sure I wasn't fooled by my browser's cache, I just
redownloaded the Hudson package from Jason's public_html directory
on people which was last modified on 2008-07-17 21:31:17.
Unpacking this ZIP gives me
440 create.sh
2.441.718 haven-1.0.jar
19.810.714 hudson.war
142 start.sh
<DIR> templates
i.e. there is no Windows batch file at all, only two Unix shell
scripts.
Next up, I manually simulated the commands from start.sh. The
config.xml generated by haven for maven-2.1.x-IT-support contains
<builders>
<hudson.tasks.Shell>
<command>( cd ${WORKSPACE}/core-integration-tests-support;
M2_HOME=M:\hudson\runtime/apache-maven-2.1-SNAPSHOT; M:\hudson
\runtime/apache-maven-2.1-SNAPSHOT/bin/mvn -Dmaven.repo.local=M:
\hudson\runtime\repos\integration clean install )</command>
</hudson.tasks.Shell>
</builders>
which again is no batch file and causes the build to fail on
Windows without cygwin on the PATH since "sh" is not a standard
Windows executable (see error above).
So my best guess is, that we are talking about two different
bundles?
Regarding the purpose of the batch files I posted: The ones you
quoted are merely two lines, effectively the same as the current
shell scripts. The only difference is that I preferred to use "-
f" to specify the POMs instead of changing the current directory.
I mailed about that previously with Jason.
The one I posted before (hudson.bat), yes you're right, that's
overly complex. The second "if" testing for the existence of
%HUDSON_HOME% can be removed since that is handled by haven.
Benjamin
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
jason at sonatype dot com
----------------------------------------------------------
believe nothing, no matter where you read it,
or who has said it,
not even if i have said it,
unless it agrees with your own reason
and your own common sense.
-- Buddha
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Dennis Lundberg
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
jason at sonatype dot com
----------------------------------------------------------
A party which is not afraid of letting culture,
business, and welfare go to ruin completely can
be omnipotent for a while.
-- Jakob Burckhardt
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]