Eclipse Community Forums - RDF feed
https://www.eclipse.org/forums/
Eclipse Community ForumsBuilding Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/523371/#msg_523371
I wrote a blog about building products with Buckminster and Hudson.
greets
Flavio]]>Flavio Donze2010-03-26T08:37:32-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/523381/#msg_523381
that's great, there can never be enough blogs, thanks for sharing it :)
Also check out the new version of the plugin, there is a few cool new
features (like automatic provisioning of buckminster) in version 0.9.5.
And by next week it will finally support master/slave scenarios and also
automatic update of your buckminster installations. http://wiki.hudson-ci.org/display/HUDSON/Buckminster+PlugIn
In your blog you wrote:
"I just finished setting up our Buckminster/Hudson build server. Due to
lack of documentation it was a real struggle, sharing some of my
experience may help other developers."
Would you mind elaborating what issues you had, what documentation is
missing and what should be better/easier in your opinion? I'm always
interested in how to make life easier for the users.
Best regards,
Johannes]]>Johannes Utzig2010-03-26T09:11:27-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/523472/#msg_523472
Thanks for this additional information. I tried the multiple platform builds, for my project it generates a bit too much output (for my taste ). Since the normal freestyle job works as well with my configurations.
About the documentation, I had some trouble finding information about JUnit tests on the net. I will blog about that next week.
Another point I didn't find information about, are the environment variables of Buckminster/PDE. For example it was pure luck that I found out how to pass the qualifier (qualifier.replacement.*=${version}).
I know that there is the bucky book, but I prefer using Google to find tutorials/examples/snippets of other users. I'm mostly a lot faster this way then reading a whole book. What I meant was "documentation" through the community. That was the reason why I thought I expand this documentation .
BTW, I think Buckminster and Hudson is a great setup. We used TeamCity before and that was a mess! Just being able to use target definitions, product configurations and JUnit launches makes life so much easier and the whole system maintainable!!
greets
Flavio]]>Flavio Donze2010-03-26T14:54:16-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/523644/#msg_523644
Just tested the new "automatic provisioning" feature.
I get the following exception:
ERROR: Cannot run program "sh" (in directory "C:\Programme\Hudson\buckminster-headless-3.6\buckminster"): CreateProcess error=2, Das System kann die angegebene Datei nicht finden
I'm running Hudson on a windows machine.
Should I file a Bug?
greets
flavio]]>Flavio Donze2010-03-27T23:38:36-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/523666/#msg_523666
I don't have a Windows around so it's always a bit difficult for me to
make sure something works on windows. I went along the lines of Hudson's
generic 'Run a Command Installer' in the best hope this would work in
Windows environments.
As far as I know you are supposed to configure the Shell on Windows
Systems in the hudson configuration if you do not have an sh.exe in your
system path.
You can just install cygwin and enter the path to the cygwin binaries in
the hudson configuration.
This is I think necessary for many Hudson features, like the above
stated generic 'run a command' installer, the 'execute shell' build step
and so on...
Best regards,
Johannes]]>Johannes Utzig2010-03-28T08:06:11-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/523674/#msg_523674
> I have some jobs that use windows commands. There is a build step
> "Windows Batch Datei ausführen" (sorry my user interface is in German),
> which then runs windows commands. The shell command are probably similar
> or even the same for the windows command step.
Don't worry, I got it, I'm german as well :)
> Maybe this is an option? I think this would be more user friendly?
>
> If you would like, I could test it for you if you send me a patch?
>
Thank you for the offer. I can probably do this without the shellscript
if I merge everything into a single invocation. I need a few minutes to
apply the necessary changes and attach you the hpi (you can install that
from the advanced section in the 'manage plugins' page).
Best regards,
Johannes]]>Johannes Utzig2010-03-28T09:48:07-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/523668/#msg_523668
Yes I think cygwin would solve this.
I have some jobs that use windows commands. There is a build step "Windows Batch Datei ausführen" (sorry my user interface is in German), which then runs windows commands. The shell command are probably similar or even the same for the windows command step.
Maybe this is an option? I think this would be more user friendly?
If you would like, I could test it for you if you send me a patch?
Otherwise I will just install cygwin.
greets
Flavio]]>Flavio Donze2010-03-28T13:31:44-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/523687/#msg_523687
sorry, I won't be able to do this today. For some reason the json file
for the automatic provision gets no longer downloaded. I need to
investigate that first. I'll write again once I have a chance to build a
hpi with the sh fix.]]>Johannes Utzig2010-03-28T17:11:58-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/523702/#msg_523702
]]>Flavio Donze2010-03-28T22:13:18-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/523703/#msg_523703
]]>Flavio Donze2010-03-28T22:14:48-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/524389/#msg_524389
You are using the Eclipse Forum I guess?
I'm using the newsgroup and write with thunderbird and I think the board
software can't handle attachments properly.
I sent you the file by mail now.
Best regards,
Johannes]]>Johannes Utzig2010-03-31T13:54:14-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/524356/#msg_524356
--------------000009050007000303050808
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Flavio Donzé schrieb:
> No problem, I'm not in a hurry :)
Hi Flavio,
sorry for the delay. I finally had a chance now to make the necessary
changes.
Everything is a single command line invocation now, so it's not longer
necessary to wrap it in a shell script.
I'll attach a custom built buckminster.hpi. You should be able to
install it by uploading it in this form: http://YOURHUDSON:8080/pluginManager/advanced
If you have a chance and are still willing to test, please give it a try
and let me know if it works in a windows environment.
Please try both the installation and the update functionality.
Once we have this working on Windows I will release version 1.0.1 to
include the fix
> The strange thing, being in the directory C:\Programme\Hudson\buckminster
> and running director\director starts the director? Using the windows CMD.
>
yeah, that's odd, especially since I paid attention to use the correct
separator for the OS, I had hoped this would work.
>
>
> How do you run the command? [buckminster] $ looks a lot like linux.
> Not the native shell?
>
I run it with a hudson class that's very similar to a ProcessBuilder
(the hudson counterpart enables remoting i.e Master/Slave) where
director\director is the first argument. Maybe I can try
director\director.bat on a Windows system.
I'll send you another hpi with that fix. If that doesn't work then I
need to think of something else...
Thanks again and best regards,
Johannes]]>Johannes Utzig2010-03-31T16:50:02-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/524385/#msg_524385
I can't download the attachment, should there be a link somewhere?
Tried to copy the base64 string into a file, didn't work. Tried to decode the base64 string, still no success.
Am I missing something
Could you alternatively send me the file per email fdo$$scodi.ch
where $$ would be the @.
greets
flavio]]>Flavio Donze2010-03-31T18:20:36-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/524400/#msg_524400
ok I installed and run a job. this is the error I'm getting:
Unpacking http://download.eclipse.org/tools/buckminster/products/direc tor_latest.zip to C:/Programme/Hudson/buckminster on Hudson
[buckminster] $ director\director -d /C:/Programme/Hudson/buckminster/buckminster -p Buckminster -r "http://download.eclipse.org/tools/buckminster/headless-3.6, http://download.eclipse.org/tools/buckminster/headless-3.6/,http://download.cloudsmith.com/buckminster/external-3.6" -installIU "org.eclipse.equinox.p2.director.feature.feature.group, org.eclipse.buckminster.psf.feature.feature.group, org.eclipse.buckminster.emma.headless.feature.feature.group, org.eclipse.buckminster.pde.headless.feature.feature.group, org.eclipse.buckminster.subclipse.headless.feature.feature.g roup, org.eclipse.buckminster.maven.headless.feature.feature.group , org.eclipse.buckminster.cmdline.product, org.eclipse.buckminster.core.headless.feature.feature.group, org.eclipse.buckminster.git.headless.feature.feature.group, org.eclipse.buckminster.cvs.headless.feature.feature.group"
ERROR: Cannot run program "director\director" (in directory "C:\Programme\Hudson\buckminster"): CreateProcess error=2, Das System kann die angegebene Datei nicht finden
On the file system the director exists: C:\Programme\Hudson\buckminster\director containing the director.bat.
I guess the problem is the damn windows path separator \ .
maybe first change into the directory and then launch the director?
greets
flavio]]>Flavio Donze2010-03-31T19:40:44-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/524401/#msg_524401
greets
flavio]]>Flavio Donze2010-03-31T19:47:08-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/524410/#msg_524410
> ERROR: Cannot run program "director\director" (in directory
> "C:\Programme\Hudson\buckminster"): CreateProcess error=2, Das System
> kann die angegebene Datei nicht finden
>
>
> On the file system the director exists:
> C:\Programme\Hudson\buckminster\director containing the director.bat.
> I guess the problem is the damn windows path separator \ .
> maybe first change into the directory and then launch the director?
>
Hmm, crap :)
The problem is, I cannot just change into directory because that won't
work on linux ('.' is usually not in the path...).
Does something like C:\Programme\Hudson\buckminster\director>./director
work on windows? If so, I could probably change the directory and start
the command with ./director because that'd work on linux.
Best regards,
Johannes]]>Johannes Utzig2010-03-31T20:17:13-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/524417/#msg_524417
The strange thing, being in the directory C:\Programme\Hudson\buckminster
and running director\director starts the director? Using the windows CMD.
The whole command works as well:
director\director -d /C:/Programme/Hudson/buckminster/buckminster -p Buckminster -r "http://download.eclipse.org/tools/buckminster/headless-3.6, http://download.eclipse.org/tools/buckminster/headless-3.6/,http://download.cloudsmith.com/buckminster/external-3.6" -installIU "org.eclipse.equinox.p2.director.feature.feature.group, org.eclipse.buckminster.psf.feature.feature.group, org.eclipse.buckminster.emma.headless.feature.feature.group, org.eclipse.buckminster.pde.headless.feature.feature.group, org.eclipse.buckminster.subclipse.headless.feature.feature.g roup, org.eclipse.buckminster.maven.headless.feature.feature.group , org.eclipse.buckminster.cmdline.product, org.eclipse.buckminster.core.headless.feature.feature.group, org.eclipse.buckminster.git.headless.feature.feature.group, org.eclipse.buckminster.cvs.headless.feature.feature.group"
How do you run the command? [buckminster] $ looks a lot like linux.
Not the native shell?
greets
flavio
]]>Flavio Donze2010-03-31T20:36:50-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/524435/#msg_524435
Unpacking http://download.eclipse.org/tools/buckminster/products/direc tor_latest.zip to C:/Programme/Hudson/buckminster/ on Hudson
[] $ director\director.bat -d /C:/Programme/Hudson/buckminster/buckminster -p Buckminster -r "http://download.eclipse.org/tools/buckminster/headless-3.6, http://download.eclipse.org/tools/buckminster/headless-3.6/,http://download.cloudsmith.com/buckminster/external-3.6" -installIU "org.eclipse.equinox.p2.director.feature.feature.group, org.eclipse.buckminster.psf.feature.feature.group, org.eclipse.buckminster.emma.headless.feature.feature.group, org.eclipse.buckminster.pde.headless.feature.feature.group, org.eclipse.buckminster.subclipse.headless.feature.feature.g roup, org.eclipse.buckminster.maven.headless.feature.feature.group , org.eclipse.buckminster.cmdline.product, org.eclipse.buckminster.core.headless.feature.feature.group, org.eclipse.buckminster.git.headless.feature.feature.group, org.eclipse.buckminster.cvs.headless.feature.feature.group" ERROR: Cannot run program "director\director.bat" (in directory "C:\Programme\Hudson\buckminster"): CreateProcess error=2, Das System kann die angegebene Datei nicht finden
What I meant with changing the directory, first run:
cd director
and then run the command.
or somehow else change the current working directory to the director directory?
cheers
flavio]]>Flavio Donze2010-03-31T22:05:27-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/524751/#msg_524751
I installed Windows on a virtual box and configured it as a hudson slave
to finally have my own testing environment for that.
Everything seems to work fine now on both the Linux host and the Windows
slave (no cygwin installed). I've just released version 1.0.1 that
contains the fixes. I hope it works better for you now.
The new version will show up as usual with a few days delay in your
update center.
Thank you for all the help.
Best regards,
Johannes]]>Johannes Utzig2010-04-02T05:10:15-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/524968/#msg_524968
I just updated to version 1.0.1.
With my previous configuration I now get the following error:
Do you think this is because of a wrong configuration? Or does the buckminster plugin causes this?
greets
Flavio]]>Flavio Donze2010-04-04T23:17:53-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/525000/#msg_525000
Flavio Donzé schrieb:
> Hey Johannes
>
> I just updated to version 1.0.1.
> With my previous configuration I now get the following error:
>
> C:\Programme\Hudson\buckminster\buckminster\buckminster import
> '=C:/Programme/Hudson/workspace/jobs/scodi.server.integratio
> n/workspace/source/scodi-server/features/ch.scodi.server.sit
> e/site.cquery' -vmargs
> -Dbuckminster.output.root=C:\Programme\Hudson\workspace\jobs
> \scodi.server.integration\workspace\buckminster.output
> -Dbuckminster.temp.root=C:\Programme\Hudson\workspace\jobs\s
> codi.server.integration\workspace\buckminster.temp
>
Sorry, but where's the error?]]>Johannes Utzig2010-04-05T04:16:06-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/525261/#msg_525261
[workspace] $ C:\Programme\Hudson\buckminster\buckminster\buckminster.bat -data C:\Programme\Hudson\workspace\jobs\scodi.server.integration\ workspace --loglevel warning -S C:\Programme\Hudson\workspace\jobs\scodi.server.integration\ workspace\commands.txt -vmargs -Dbuckminster.output.root=C:\Programme\Hudson\workspace\jobs \scodi.server.integration\workspace\buckminster.output -Dbuckminster.temp.root=C:\Programme\Hudson\workspace\jobs\s codi.server.integration\workspace\buckminster.temp -Xmx1024m
java.lang.NoClassDefFoundError: C:\Programme\Hudson\workspace\jobs\scodi/server/integration\ workspace\buckminster/output
Caused by: java.lang.ClassNotFoundException: C:\Programme\Hudson\workspace\jobs\scodi.server.integration\ workspace\buckminster.output
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301 )
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: C:\Programme\Hudson\workspace\jobs\scodi.server.integration\ workspace\buckminster.output. Program will exit.
greets
Flavio]]>Flavio Donze2010-04-05T17:35:07-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/525362/#msg_525362
> Hey Thomas and Johannes
>
> I don't think it is a quoting problem.
> I did some testing with the simple "listcommands" command and get the
> same error using the cmd on my server machine:
>
> buckminster listcommands -vmargs -Dbuckminster.output.root=C:/temp
> buckminster listcommands -vmargs -Dbuckminster.output.root="C:/temp"
> buckminster listcommands -vmargs -Dbuckminster.output.root='C:/temp'
>
> Always the same result
> NoClassDefFoundError: C:/temp
>
> Or did you mean, the buckminster.bat is broken and has quoting problems?
>
You need to qoute like this:
- thomas]]>Thomas Hallgren2010-04-06T06:18:08-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/525291/#msg_525291
That sounds like a quoting problem. Forgive me for saying so but the Windows cmd is completely brain dead. Store this
script in a foo.bat
@echo off
echo %%*: %*
echo %%1: %1
echo %%2: %2
Then try it from the command line with:
foo a=b
and
foo "a=b"
and you will see what I mean. Without quotes, the a=b argument is split in two and '=' is forgotten. But only almost.
The %* still contains it. Weird to say the least...
On 04/05/2010 07:35 PM, Flavio Donzé wrote:
> Uhh sorry, it was pretty late :)
>
> [workspace] $
> C:\Programme\Hudson\buckminster\buckminster\buckminster.bat -data
> C:\Programme\Hudson\workspace\jobs\scodi.server.integration\ workspace
> --loglevel warning -S
> C:\Programme\Hudson\workspace\jobs\scodi.server.integration\
> workspace\commands.txt -vmargs
> -Dbuckminster.output.root=C:\Programme\Hudson\workspace\jobs
> \scodi.server.integration\workspace\buckminster.output
> -Dbuckminster.temp.root=C:\Programme\Hudson\workspace\jobs\s
> codi.server.integration\workspace\buckminster.temp -Xmx1024m
> java.lang.NoClassDefFoundError:
> C:\Programme\Hudson\workspace\jobs\scodi/server/integration\
> workspace\buckminster/output
> Caused by: java.lang.ClassNotFoundException:
> C:\Programme\Hudson\workspace\jobs\scodi.server.integration\
> workspace\buckminster.output
> at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301 )
> at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
> Could not find the main class:
> C:\Programme\Hudson\workspace\jobs\scodi.server.integration\
> workspace\buckminster.output. Program will exit.
>
> greets
> Flavio]]>Thomas Hallgren2010-04-06T06:34:55-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/525347/#msg_525347
I don't think it is a quoting problem.
I did some testing with the simple "listcommands" command and get the same error using the cmd on my server machine:
Always the same result
NoClassDefFoundError: C:/temp
Or did you mean, the buckminster.bat is broken and has quoting problems?
greets
Flavio]]>Flavio Donze2010-04-06T10:05:49-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/525561/#msg_525561
I had a further look why it worked on my windows test slave but not in
your configuration.
The reason was actually quite simple:
My test slave had spaces in its path. That caused the process builder to
quote all these arguments automatically and that's why they didn't get
destroyed by the windows shell interpreter.
I reverted some changes now. The plugin uses the equinox launcher jar
again instead of calling the buckminster.bat. That way the arguments no
longer get split up at the '=' and hopefully everything works now.
Please update to 1.0.2 when it's available in the update center and let
me know if it works for you.
Best regards and sorry for the trouble,
Johannes]]>Johannes Utzig2010-04-06T16:46:08-00:00Re: Building Products with Buckminster/Hudson
https://www.eclipse.org/forums/index.php/mv/msg/165216/525843/#msg_525843
The buckminster plugin works again! Thanks a lot for all the promt fixes and release!