Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Buckminster » Hudson-Buckminster No suitable provider
Hudson-Buckminster No suitable provider [message #499609] Mon, 23 November 2009 14:33 Go to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Hi,

I´m trying to set up a buckminster headless Build of my Eclipse RCP. I´ve installed a hudson server and created a RCP Project while following the tutorial on http://www.ralfebert.de/blog/eclipsercp/rcp_builds/

Everything worked fine until I want to build my hudson-job.

When I´m try to build I get the following error:
Gestartet durch Benutzer anonymous
Commandline: 
java -Dbuckminster.output.root=/C:/hudson/jobs/rcp_target/workspace//buckminster.output -Dbuckminster.temp.root=/C:/hudson/jobs/rcp_target/workspace//buckminster.temp -DtargetPlatformPath=C:/buckminsterTargetPlatform -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.buckminster.cmdline.headless -data /C:/hudson/jobs/rcp_target/workspace/ --loglevel info -S C:\hudson\jobs\rcp_target\builds\2009-11-23_15-13-24/commands.txt INFO:  import 'file:///D:/workspaces/buckminster/com.example.target/target.mspec'
ERROR   [0001] : No suitable provider for component com.example.target:eclipse.feature was found in resourceMap file:/D:/workspaces/buckminster/com.example.target/target-resources.rmap
  ERROR   [0001] : No suitable provider for component com.example.target:eclipse.feature was found in searchPath default
    ERROR   [0001] : Resolution attempt ended with exception: Provider local(file:///C:/hudson/jobs/rcp_target/workspace/com.example.target/): Missing CSpec source required by component type eclipse.feature
      ERROR   Provider local(file:///C:/hudson/jobs/rcp_target/workspace/com.example.target/): Missing CSpec source required by component type eclipse.feature
INFO:  TAG-ID 0001 = Query for com.example.target:eclipse.feature

Archiviere Artefakte
Finished: FAILURE


I´ve checked my files and compared them to the ones in the tutorial. I think that everything is fine
I´ve even downloaded the original code from the tutorial which is available on [ CODEhttp://github.com/ralfebert/com.example.mail.buckminster][/CODE].

Doe´s anybody has a solution for my problem?
Thanks

[Updated on: Tue, 24 November 2009 06:58]

Report message to a moderator

Re: Hudson-Buckminster No suitable provider [message #499682 is a reply to message #499609] Mon, 23 November 2009 17:04 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
Hi,

I would say that it's very likely that your rmap simply points to a
wrong directory. You probably use a local resolver and look for
${buckminster.component} in workspace root?
It is important to know that buckminster component is the ID, the name
of the component. So if your feature ID is com.example.target, make sure
that the directory where to find that feature xml really is
'${workspace.root}/com.example.target'.
Many people seem to have suffixes like -feature, or .feature at their
feature projects. This will work as well with buckminster, but you need
to state that properly in the rmap. For example you can have 2 different
providers within a searchpath. One applies only for osgi.bundle and
points to something like file:{0}/{1} where {0} is workspace.root and
{1} is buckminster.component. The other only applies for eclipse.feature
component types and points to file:{0}/{1}-suffix
That way buckminster will look for the correct directory name depending
on the type of component.

As a side note, you have more / than necessary in your path:
file:///C:/hudson/jobs/rcp_target/workspace/com.example.targ et/
It should still work, but you might want to fix it anyway.


If that does not help you, it would be best if you'd post your rmap here
and explain how the physical structure of your workspace looks like.

Best regards,
Johannes

TW schrieb:
> Hi,
>
> I´m trying to set up a buckminster headless Build of my Eclipse RCP.
> I´ve installed a hudson server and created a RCP Project while following
> the tutorial on http://www.ralfebert.de/blog/eclipsercp/rcp_builds/
>
> Everything worked fine until I want to build my hudson-job.
>
> When I´m try to build I get the following error:
> Gestartet durch Benutzer anonymous
> Commandline: java
> -Dbuckminster.output.root=/C:/hudson/jobs/rcp_target/workspa ce//buckminster.output
> -Dbuckminster.temp.root=/C:/hudson/jobs/rcp_target/workspace //buckminster.temp
> -DtargetPlatformPath=C:/buckminsterTargetPlatform -jar
> plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715. jar
> -application org.eclipse.buckminster.cmdline.headless -data
> /C:/hudson/jobs/rcp_target/workspace/ --loglevel info -S
> C:\hudson\jobs\rcp_target\builds\2009-11-23_15-13-24/command s.txt INFO:
> import ' file:///D:/workspaces/buckminster/com.example.target/target. mspec'
> ERROR [0001] : No suitable provider for component
> com.example.target:eclipse.feature was found in resourceMap
> file:/D:/workspaces/buckminster/com.example.target/target-re sources.rmap
> ERROR [0001] : No suitable provider for component
> com.example.target:eclipse.feature was found in searchPath default
> ERROR [0001] : Resolution attempt ended with exception: Provider
> local( file:///C:/hudson/jobs/rcp_target/workspace/com.example.targ et/):
> Missing CSpec source required by component type eclipse.feature
> ERROR Provider
> local( file:///C:/hudson/jobs/rcp_target/workspace/com.example.targ et/):
> Missing CSpec source required by component type eclipse.feature
> INFO: TAG-ID 0001 = Query for com.example.target:eclipse.feature
>
> Archiviere Artefakte
> Finished: FAILURE
>
> I´ve checked my files and compared them to the ones in the tutorial. I
> think that everythink is fine I´ve even downloaded the original code
> from the tutorial which is available on
> [ CODEhttp://github.com/ralfebert/com.example.mail.buckminster][/CODE].
>
> Doe´s anybody has a solution for my problem?
> Thanks
Re: Hudson-Buckminster No suitable provider [message #499793 is a reply to message #499682] Tue, 24 November 2009 08:04 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Hi,

I think that I´ve done everythink right in my rmap. Maybe I messed up my hudson configuration, but I can´t find anything wrong.

First of all my workspace of my Eclipse project is:
D:\workspaces\buckminster
+ org.example.mail
+ org.example.mail.feature
+ org.example.mail.site
- org.example.target
- target-resources.rmap
- target.mspec
- target.cquery
- feature.xml
- build.properties

This is by the structure that ralf ebert used in his tutorial.

My rmap file (target-resources.rmap):
<?xml version="1.0" encoding="UTF-8"?>
<rmap
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://www.eclipse.org/buckminster/RMap-1.0"
	xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
	xmlns:mp="http://www.eclipse.org/buckminster/MavenProvider-1.0"
	xmlns:pp="http://www.eclipse.org/buckminster/PDEMapProvider-1.0">

	<searchPath name="resources">
		<provider readerType="local" componentTypes="osgi.bundle,eclipse.feature" mutable="true" source="true">
			<uri format="file:///{0}/{1}/">
				<bc:propertyRef key="workspace.root" />
				<bc:propertyRef key="buckminster.component" />
			</uri>
		</provider>
		<provider readerType="eclipse.import" componentTypes="osgi.bundle,eclipse.feature" mutable="false" source="true">
			<uri format="http://download.eclipse.org/releases/galileo"/>
		</provider>
	</searchPath>

	<locator searchPathRef="resources"/>

</rmap>


The second provider was used to create the target platform with up to date features and plugins.

Now some additional informations about the resources which are used during the headless build.

- Headless Buckminster : (C:\Buckminsterheadless)
Was installed like described in ralf eberts tutorial and has the important plugin org.eclipse.equinox.p2.director.app....jar

- RCP Target Platform (C:\rcp_target)
Created with "Resolve to Wizard" from target.cquery. Includes "Features", "Plugins" Folder and artifacts.xml File.

- Hudson (C:\hudson)
Installed by setting the home directory to C:\hudson and calling java -jar hudson.war
Buckminster Plugin successfully installed.

Now I´ll post the configuration of hudson and the config of my hudson job(I´m not quite sure if I´ve entered the right information here)

->Hudson Configuration:
-"Buckminster Installations":
Eclipse Buckminster 3.5; 3.5; C:\Buckminsterheadless

->"Free-Style" Job Configuration:
-"Build"
Eclipse Buckminster 3.5; None: Info(Default); import file:///D:/workspaces/buckminster/com.example.target/target. mspec

- "Advanced Options"
-DtargetPlatformPath=file:///C:/buckminsterTargetPlatform

- "Post-Build Actions"
[x] archive and publish an Eclipse Target Platform
Path: C:\buckminsterTargetPlatform
Name: MailApp Target Platform

This is all information that I have.
I´m confused about the error log of my previous message. There hudson wants to look for a cspeq in file:///C:/hudson/jobs ??

Maybe someone can help my by analyzing my data

Thanks for your support

(By the way: Using just two "//" did bring up another error when importing file://D:/ ...)

[Updated on: Tue, 24 November 2009 08:05]

Report message to a moderator

Re: Hudson-Buckminster No suitable provider [message #499795 is a reply to message #499793] Tue, 24 November 2009 08:21 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
Hi,

I think there is a slight missunderstanding going on here. Your own
workspace does not count, when I say workspace, I talk about the
Workspace Hudson will create for your job. The Buckminster PlugIn will
set the eclipse data directory (eclipse workspace) for the build to the
hudson workspace, so those two are identical


> This is all information that I have.
> I´m confused about the error log of my previous message. There hudson
> wants to look for a cspeq in file:///C:/hudson/jobs ??

Exactly, all Hudson Workspaces are in HUDSON_HOME/jobs/JOB_NAME. This is
were your plugins/featues need to be during the build. You have two ways
of doing this, either by letting Buckminster checkout your projects, or
by letting Hudson checkout your projects. Since you're using a local
resolver, I guess you let Hudson do the checkout. Did you confirm that
your hudson job workspace has the right contents? i.e. you open the job,
click on 'Workspace' and see all your plugins and features there?

> Eclipse Buckminster 3.5; None: Info(Default); import
> file:///D:/workspaces/buckminster/com.example.target/target. mspec

This is probably not how you want to do it. Like stated earlier, Hudson
creates its own workspace for every job, so you should use it:
import file:/${WORKSPACE}/com.example.target/target.mspec


Best regards,
Johannes
Re: Hudson-Buckminster No suitable provider [message #499800 is a reply to message #499795] Tue, 24 November 2009 09:00 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Hi,

I found the workspace folder in the hudson directory just some minutes ago and tried to copied my eclipse workspace into it.

Then I tried to build my project and everything worked fine.
I also tried to set the import file:/${WORKSPACE}/com.example.target/target.mspec.

But that doesn´t work. Hudson chooses a wrong workspace for some weird reason.
Here is the Error log:
Gestartet durch Benutzer anonymous
Commandline: 
java -Dbuckminster.output.root=/C:/hudson/jobs/rcp_target/workspace//buckminster.output -Dbuckminster.temp.root=/C:/hudson/jobs/rcp_target/workspace//buckminster.temp -DtargetPlatformPath=C:\hudson\jobs\rcp_target\workspace/rcp_target -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.buckminster.cmdline.headless -data /C:/hudson/jobs/rcp_target/workspace/ --loglevel info -S C:\hudson\jobs\rcp_target\builds\2009-11-24_09-52-10/commands.txt INFO:  import 'file:/C:hudsonjobscp_targetworkspace/com.example.target/target.mspec'
File not found: file:/C:hudsonjobscp_targetworkspace/com.example.target/target.mspec
Archiviere Artefakte
Löse einen neuen Build von product_build #3 aus
Finished: FAILURE


If I enter the absolute path:
import file:///C:/hudson/jobs/rcp_target/workspace/com.example.targ et/target.mspec
Everything works fine. That´s a little bit confusing for me because now I also import the target platform with : -DtargetPlatformPath=${WORKSPACE}/rcp_target (I´ve copied it in the workspace folder inside hudson jobs).

But if I enter the absolute path to my .mspec file the build of my target platform succeeds.

Because of that I´ve tried to build my product with my targetplaform like ralf ebert described it in his tutorial.

I get the same error I had before with the build of my target platform:
Gestartet durch vorgelagertes Projekt "product_build", Build 4
Commandline: 
java -Dbuckminster.output.root=/C:/hudson/jobs/product_build/workspace/arch/x86/os/win32/ws/win32//buckminster.output -Dbuckminster.temp.root=/C:/hudson/jobs/product_build/workspace/arch/x86/os/win32/ws/win32//buckminster.temp -Dtarget.os=win32 -Dtarget.ws=win32 -Dtarget.arch=x86 -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.buckminster.cmdline.headless -data /C:/hudson/jobs/product_build/workspace/arch/x86/os/win32/ws/win32/ --loglevel info -S C:\hudson\jobs\product_build\configurations\axis-arch\x86\axis-os\win32\axis-ws\win32\builds\2009-11-24_09-56-43/commands.txt INFO:  setpref 'targetPlatformPath=C:hudsonjobs
cp_targetbuilds2009-11-24_09-56-10archive/targetPlatform'
targetPlatformPath set to the value 'C:hudsonjobs
cp_targetbuilds2009-11-24_09-56-10archive/targetPlatform'
INFO:  import 'file:///C:/hudson/jobs/rcp_target/workspace/com.example.mail.site/site.cquery'
ERROR   [0001] : No suitable provider for component com.example.mail.site:eclipse.feature was found in resourceMap file:/C:/hudson/jobs/rcp_target/workspace/com.example.mail.site/resources.rmap
  ERROR   [0001] : No suitable provider for component com.example.mail.site:eclipse.feature was found in searchPath resources
    ERROR   [0001] : Resolution attempt ended with exception: Provider local(file:///C:/hudson/jobs/product_build/workspace/arch/x86/os/win32/ws/win32/com.example.mail.site/): Missing CSpec source required by component type eclipse.feature
      ERROR   Provider local(file:///C:/hudson/jobs/product_build/workspace/arch/x86/os/win32/ws/win32/com.example.mail.site/): Missing CSpec source required by component type eclipse.feature
INFO:  TAG-ID 0001 = Query for com.example.mail.site:eclipse.feature

Archiviere Artefakte
Finished: FAILURE


So my checked the folders which were created, and there is a workspace folder or every os. So do i have to copy my workspace x times to the directories like C:/hudson/jobs/product_build/workspace/arch/x86/os/win32/ws/ win32/com.example.mail.site (here the error log says that the cspec file is missing)?
Or is there any other solution?

Thanks for your help and sorry for my silliness.


Re: Hudson-Buckminster No suitable provider [message #499812 is a reply to message #499800] Tue, 24 November 2009 09:28 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
TW schrieb:

> Then I tried to build my project and everything worked fine.
> I also tried to set the import
> file:/${WORKSPACE}/com.example.target/target.mspec.
>
> But that doesn´t work. Hudson chooses a wrong workspace for some weird
> reason.
> Here is the Error log:
> Gestartet durch Benutzer anonymous
> Commandline: java
> -Dbuckminster.output.root=/C:/hudson/jobs/rcp_target/workspa ce//buckminster.output
> -Dbuckminster.temp.root=/C:/hudson/jobs/rcp_target/workspace //buckminster.temp
> -DtargetPlatformPath=C:\hudson\jobs\rcp_target\workspace/rcp _target -jar
> plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715. jar
> -application org.eclipse.buckminster.cmdline.headless -data
> /C:/hudson/jobs/rcp_target/workspace/ --loglevel info -S
> C:\hudson\jobs\rcp_target\builds\2009-11-24_09-52-10/command s.txt INFO:
> import
> 'file:/C:hudsonjobscp_targetworkspace/com.example.target/tar get.mspec'
> File not found:
> file:/C:hudsonjobscp_targetworkspace/com.example.target/targ et.mspec
> Archiviere Artefakte
> Löse einen neuen Build von product_build #3 aus
> Finished: FAILURE
>

This looks like the Workspace variable is expanded the wrong way on
windows systems (issues with the \). I will have a look at that.


>
> So my checked the folders which were created, and there is a workspace
> folder or every os.
That's how matrix jobs are implemented in hudson

> So do i have to copy my workspace x times to the
> directories like
> C:/hudson/jobs/product_build/workspace/arch/x86/os/win32/ws/
> win32/com.example.mail.site (here the error log says that the cspec file
> is missing)?
> Or is there any other solution?
>

You are not using hudson the way it is supposed to be used. The
workspace is not meant to be maintained manually, the job itself
populates the workspace. The usual scenario is that before building
anything you have hudson checkout some modules from CVS/SVN/...
You can also do that with buckminster, but in any case it has to be the
job that gets your build material into the hudson workspace.

If for some reason you do not have access to an SCM like CVS or SVN
(maybe because you are just evaluating tools), you should simulate the
workspace population in your job. You can either do this with
Buckminster by using another resolver and fetching your materials from
somewhere in the filesystem, or with hudson by executing a shell script
or ant task that copies your projects into the workspace before actually
executing the build.


Best regards,
Johannes
Re: Hudson-Buckminster No suitable provider [message #499835 is a reply to message #499812] Tue, 24 November 2009 10:33 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Hi,

ok now I understand the whole thing a lot better. I thought I could turn off CVS/SVN for testing purposes and hudson copies my eclipse workspace into its workspace directory. Now I know that I´m wrong.

I added a StarTeam Plugin to Hudson and configured it. The target platform build now automatically gets the files from the repository and the build succeeds.

The other job which creates the product for the different operation system has also a connection to StarTeam and now copies the workspace code x times to the different locations.

But the build fails because the cspec file in each directory cannot be located.

-> When building the target platform, there was only one workspace folder so it was no problem to import the file with the complete path

Now, when building the product for the os, there are many different workspace folders. At this point I need the ${WORKSPACE} Tag to find the right workspace for each os.



As you explained before this could be a problem with separators "/" because the location would be correct if the system would add them correct.

File not found: file:/C:hudsonjobsproductworkspacearch/x86_64/os/win32/ws/win32/com.example.mail.site/site.cquery


The File is located in C:/hudson/jobs/productworkspace/arch//x86_64/os/win32/ws/win 32/com.example.mail.site/site.cquery

Maybe this is a bug, or we have to change the command when using windows.

If you have a look at that and find a solution I would be glad if you could post this in this thread.

I think if this is fixed my build should work.
Thanks

[Updated on: Tue, 24 November 2009 10:33]

Report message to a moderator

Re: Hudson-Buckminster No suitable provider [message #499863 is a reply to message #499835] Tue, 24 November 2009 12:30 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
TW schrieb:

> As you explained before this could be a problem with seperators "/"
> because the location would be correct if the system would add them correct.
>
> File not found:
> file:/C:hudsonjobsproductworkspacearch/x86_64/os/win32/ws/wi n32/com.example.mail.site/site.cquery
>
>
> The File is located in
> C:/hudson/jobs/productworkspace/arch//x86_64/os/win32/ws/win
> 32/com.example.mail.site/site.cquery
>
> Maybe this is a bug, or we have to change the command when using windows.
>
> If you have a look at that and find a solution I would be glad if you
> could post this in this thread.
>


There are two things involved here, the hudson plugin and buckminster
itself. Stuff like ${WORKSPACE} is evaluated by the hudson plugin
according to the environment variables passed by hudson itself.
Buckminster itself does property expansion on itself. Buckminster also
has some static properties that are available at startup time. One of
this is workspace.root. The hudson plugin will automatically set the
buckminster workspace to the same location as the hudson workspace. I
have not tried this myself, but I would try this workaround:
The faulty part seems to be the property expansion in the hudson plugin,
so instead you use the buckminster property expension and the
buckminster property.
So instead of
file:/${WORKSPACE}/com.example.target/target.mspec
try
file:/${workspace.root}/com.example.target/target.mspec

This property is not known to the hudson plugin so it should be passed
as it to buckminster.
Buckminster should set this property on startup and since buckminster's
workspace equals hudson's workspace, this should produce the exact same
result as a correctly expanded ${WORKSPACE}

Well, I hope at least :)

Would you mind filing a bug on the buckminster plugin in hudson's issue
tracker for the faulty property expansion?
https://hudson.dev.java.net/issues/

Thanks in advance and best regards,
Johannes
Re: Hudson-Buckminster No suitable provider [message #499876 is a reply to message #499863] Tue, 24 November 2009 13:04 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
unfortunately your work-around does not seem to work.
I copied the log message. Think this is a bug and has to be fixed. I will fill a bug report later today.

*** Get list of all files for C:\hudson\jobs\rcp_target\workspace
*** Looking for versioned files in buckminster
*** Looking for versioned files in com.example.mail
*** Looking for versioned files in src
*** Looking for versioned files in com
*** Looking for versioned files in example
*** Looking for versioned files in mail
*** Looking for versioned files in icons
*** Looking for versioned files in META-INF
*** Looking for versioned files in com.example.mail.feature
*** Looking for versioned files in build
*** Looking for versioned files in com.example.target
*** Looking for versioned files in com.example.mail.site
*** done
*** Performing checkout
*** done
Commandline: 
java -Dbuckminster.output.root=/C:/hudson/jobs/rcp_target/workspace//buckminster.output -Dbuckminster.temp.root=/C:/hudson/jobs/rcp_target/workspace//buckminster.temp -DtargetPlatformPath=C:\hudson\jobs\rcp_target\workspace/rcp_target -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.buckminster.cmdline.headless -data /C:/hudson/jobs/rcp_target/workspace/ --loglevel info -S C:\hudson\jobs\rcp_target\builds\2009-11-24_14-04-17/commands.txt INFO:  import 'file://com.example.target/target.mspec'
WARN:  Connection to file://com.example.target/target.mspec failed on com.example.target. Retry attempt 1 started
WARN:  Connection to file://com.example.target/target.mspec failed on com.example.target. Retry attempt 2 started
WARN:  Connection to file://com.example.target/target.mspec failed on com.example.target. Retry attempt 3 started
Exception connecting to file://com.example.target/target.mspec.
Caused by: java.net.UnknownHostException: com.example.target
Archiviere Artefakte
Löse einen neuen Build von product #26 aus
Finished: FAILURE


Re: Hudson-Buckminster No suitable provider [message #499887 is a reply to message #499876] Tue, 24 November 2009 13:23 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
This is really rather odd. I will try to release a fixed version of the
plugin tonight, but unfortunately I have no windows machine at home that
I can test that on.
It is weird that the property gets expanded to such a weird value:
file:/C:hudsonjobscp_targetworkspace/com.example.target/targ et.mspec
the \ disappeared and for the \rcp_target case it actually ate the 'r'
as well...
Can you please post the content of the commands.txt in your workspace if
you execute the original version with ${WORKSPACE}? I'm trying to see if
it's written wrong to the file, or if the problem occurs while reading
the file back in...

Best regards,
Johannes
Re: Hudson-Buckminster No suitable provider [message #499896 is a reply to message #499609] Tue, 24 November 2009 13:43 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Ok I configured the commands in my job with the original &{workspace} tag.

import file:///${WORKSPACE}/com.example.target/target.mspec

Here the content of the commands.txt
import file:///c:\hudson\jobs\rcp_target\workspace/com.example.target/target.mspec


and once again the log of the console:
Gestartet durch Benutzer anonymous
*** Get list of all files for c:\hudson\jobs\rcp_target\workspace
*** Looking for versioned files in buckminster
*** Looking for versioned files in com.example.mail
*** Looking for versioned files in src
*** Looking for versioned files in com
*** Looking for versioned files in example
*** Looking for versioned files in mail
*** Looking for versioned files in icons
*** Looking for versioned files in META-INF
*** Looking for versioned files in com.example.mail.feature
*** Looking for versioned files in build
*** Looking for versioned files in com.example.target
*** Looking for versioned files in com.example.mail.site
*** done
*** Performing checkout
*** done
Commandline: 
java -Dbuckminster.output.root=/c:/hudson/jobs/rcp_target/workspace//buckminster.output -Dbuckminster.temp.root=/c:/hudson/jobs/rcp_target/workspace//buckminster.temp -DtargetPlatformPath=c:\hudson\jobs\rcp_target\workspace/rcp_target -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.buckminster.cmdline.headless -data /c:/hudson/jobs/rcp_target/workspace/ --loglevel info -S c:\hudson\jobs\rcp_target\builds\2009-11-24_14-41-42/commands.txt INFO:  import 'file:///c:hudsonjobscp_targetworkspace/com.example.target/target.mspec'
File not found: file:/c:hudsonjobscp_targetworkspace/com.example.target/target.mspec
Archiviere Artefakte
Löse einen neuen Build von product #29 aus
Finished: FAILURE


At the moment I´m trying to install linux and will copy my project to linux just to ensure that the error is not because of any mistake of myself.

TW
Re: Hudson-Buckminster No suitable provider [message #499905 is a reply to message #499896] Tue, 24 November 2009 13:58 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
TW schrieb:
> Ok I configured the commands in my job with the original &{workspace} tag.
>
> import file:///${WORKSPACE}/com.example.target/target.mspec
>
> Here the content of the commands.txt import
> file:///c:\hudson\jobs\rcp_target\workspace/com.example.targ et/target.mspec
>
>

Ok, that's even stranger now. This is the output I actually expected
from the plugin because it takes property values as is and writes them
into the file. So it is the buckminster runtime that transforms
file:///c:\hudson\jobs\rcp_target\workspace/com.example.targ et/target.mspec
into
file:/c:hudsonjobscp_targetworkspace/com.example.target/targ et.mspec
I'm not sure why that is, maybe Thomas or Henrik know more about it.
Have you tried with a consistent windows path?

Instead of
import file:///${WORKSPACE}/com.example.target/target.mspec

try
import ${WORKSPACE}\com.example.target\target.mspec

According to the documentation either a file system path or a url are
valid, so maybe it works if you use a correct windows path like that.


Best regards,
Johannes
Re: Hudson-Buckminster No suitable provider [message #499911 is a reply to message #499905] Tue, 24 November 2009 14:08 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Hi,

I´ve already tried that but with no success.
Here are the files for the consistent windows path

import file:///${WORKSPACE}\com.example.target\target.mspec

commands.txt
import file:///c:\hudson\jobs\rcp_target\workspace\com.example.target\target.mspec


and the log:
Gestartet durch Benutzer anonymous
*** Get list of all files for c:\hudson\jobs\rcp_target\workspace
*** Looking for versioned files in buckminster
*** Looking for versioned files in com.example.mail
*** Looking for versioned files in src
*** Looking for versioned files in com
*** Looking for versioned files in example
*** Looking for versioned files in mail
*** Looking for versioned files in icons
*** Looking for versioned files in META-INF
*** Looking for versioned files in com.example.mail.feature
*** Looking for versioned files in build
*** Looking for versioned files in com.example.target
*** Looking for versioned files in com.example.mail.site
*** done
*** Performing checkout
*** done
Commandline: 
java -Dbuckminster.output.root=/c:/hudson/jobs/rcp_target/workspace//buckminster.output -Dbuckminster.temp.root=/c:/hudson/jobs/rcp_target/workspace//buckminster.temp -DtargetPlatformPath=c:\hudson\jobs\rcp_target\workspace/rcp_target -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.buckminster.cmdline.headless -data /c:/hudson/jobs/rcp_target/workspace/ --loglevel info -S c:\hudson\jobs\rcp_target\builds\2009-11-24_14-40-54/commands.txt INFO:  import 'file:///c:hudsonjobscp_targetworkspacecom.example.targetarget.mspec'
File not found: file:/c:hudsonjobscp_targetworkspacecom.example.targetarget.mspec
Archiviere Artefakte
Löse einen neuen Build von product #28 aus
Finished: FAILURE
Re: Hudson-Buckminster No suitable provider [message #499920 is a reply to message #499911] Tue, 24 November 2009 14:11 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
TW schrieb:
> Hi,
>
> I´ve already tried that but with no success.
> Here are the files for the consistent windows path
>
> import file:///${WORKSPACE}\com.example.target\target.mspec
>
> commands.txt
> import
> file:///c:\hudson\jobs\rcp_target\workspace\com.example.targ et\target.mspec
>


No, I meant without the file://
just
import ${WORKSPACE}\com.example.target\target.mspec
Re: Hudson-Buckminster No suitable provider [message #499927 is a reply to message #499920] Tue, 24 November 2009 14:37 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Here are the results fot:
import ${WORKSPACE}\com.example.target\target.mspec

commands.txt:
import C:\hudson\jobs\rcp_target\workspace\com.example.target\target.mspec


and log:
Gestartet durch Benutzer anonymous
*** Get list of all files for C:\hudson\jobs\rcp_target\workspace
*** Looking for versioned files in buckminster
*** Looking for versioned files in com.example.mail
*** Looking for versioned files in src
*** Looking for versioned files in com
*** Looking for versioned files in example
*** Looking for versioned files in mail
*** Looking for versioned files in icons
*** Looking for versioned files in META-INF
*** Looking for versioned files in com.example.mail.feature
*** Looking for versioned files in build
*** Looking for versioned files in com.example.target
*** Looking for versioned files in com.example.mail.site
*** done
*** Performing checkout
*** done
Commandline: 
java -Dbuckminster.output.root=/C:/hudson/jobs/rcp_target/workspace//buckminster.output -Dbuckminster.temp.root=/C:/hudson/jobs/rcp_target/workspace//buckminster.temp -DtargetPlatformPath=C:\hudson\jobs\rcp_target\workspace/rcp_target -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.buckminster.cmdline.headless -data /C:/hudson/jobs/rcp_target/workspace/ --loglevel info -S C:\hudson\jobs\rcp_target\builds\2009-11-24_15-34-13/commands.txt INFO:  import 'C:hudsonjobscp_targetworkspacecom.example.targetarget.mspec'
File not found: file:/C:/buckminsterheadless/hudsonjobscp_targetworkspacecom.example.targetarget.mspec
Archiviere Artefakte
Löse einen neuen Build von product #30 aus
Finished: FAILURE

Re: Hudson-Buckminster No suitable provider [message #499932 is a reply to message #499927] Tue, 24 November 2009 14:47 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Hi I just visited the issue tracer to add the bug. Unfortunately there is no option for me to generate a new issue I can only view existing issues.

Could you possible add the bug to the issue tracer or tell me where I can generate a new issue?

Regards, TW
Re: Hudson-Buckminster No suitable provider [message #499949 is a reply to message #499932] Tue, 24 November 2009 15:06 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
TW schrieb:
> Hi I just visited the issue tracer to add the bug. Unfortunately there
> is no option for me to generate a new issue I can only view existing
> issues.
> Could you possible add the bug to the issue tracer or tell me where I
> can generate a new issue?
>
> Regards, TW

Well, the plugin writes a correct path to the commands.txt file:
import C:\hudson\jobs\rcp_target\workspace\com.example.target\targe t.mspec

The Buckminster Documentation says about the 'import' command:

«url or path»
An url/path to a CQUERY, MSPEC, or BOM file.

This is a valid windows path and it should be allowed according to the
documentation.
That makes it a buckminster bug, not a bug in the hudson plugin, so your
bug should be filed against Buckminster in that case.

https://bugs.eclipse.org/bugs/

Sorry for the detour :)

Best regards,
Johannes
Re: Hudson-Buckminster No suitable provider [message #500124 is a reply to message #499949] Wed, 25 November 2009 06:03 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
On 2009-11-24 16:06, Johannes Utzig wrote:
> TW schrieb:
>> Hi I just visited the issue tracer to add the bug. Unfortunately there
>> is no option for me to generate a new issue I can only view existing
>> issues.
>> Could you possible add the bug to the issue tracer or tell me where I
>> can generate a new issue?
>>
>> Regards, TW
>
> Well, the plugin writes a correct path to the commands.txt file:
> import C:\hudson\jobs\rcp_target\workspace\com.example.target\targe t.mspec
>
It's a correct path according to a Windows cmd.exe. It's *not* a correct path in terms of the Buckminster shell that
interprets the script file. This shell is like a Linux/Unix shell and will use '\' as the escape character. The correct
path should read:

import C:\\hudson\\jobs\\rcp_target\\workspace\\com.example.target\ \target.mspec

This information is missing in the documentation. I'll add a bugzilla for that.

Regards,
Thomas Hallgren
Re: Hudson-Buckminster No suitable provider [message #500126 is a reply to message #500124] Wed, 25 November 2009 06:26 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
On 2009-11-25 07:03, Thomas Hallgren wrote:
> It's a correct path according to a Windows cmd.exe. It's *not* a correct
> path in terms of the Buckminster shell that interprets the script file.
> This shell is like a Linux/Unix shell and will use '\' as the escape
> character. The correct path should read:
>
> import
> C:\\hudson\\jobs\\rcp_target\\workspace\\com.example.target\ \target.mspec
>
> This information is missing in the documentation. I'll add a bugzilla
> for that.
>
https://bugs.eclipse.org/bugs/show_bug.cgi?id=296081

- thomas
Re: Hudson-Buckminster No suitable provider [message #500128 is a reply to message #500126] Wed, 25 November 2009 06:51 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Hi Thomas,

does that mean that I have to wait for a bug fix to use ${workspace}?

If I understand your bugzilla report correctly I can create a workaround by writing a script and then execute that script.
The script itself can have the ${workspace} variable and is interpreted correctly on windows.



[Updated on: Wed, 25 November 2009 06:53]

Report message to a moderator

Re: Hudson-Buckminster No suitable provider [message #500135 is a reply to message #500128] Wed, 25 November 2009 07:24 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Toby,

On 2009-11-25 07:51, TW wrote:
> Hi Thomas,
>
> does that mean that I have to wait for a bug fix or is there any
> workaround so that I can build my products and tragetplatform using the
> ${workspace} variable on windows?
>
Assuming that Johannes pass a -data ${WORKSPACE} to the buckminster invocation, it should be possible for you to write:

import ${osgi.instance.area}/com.example.target/target.mspec

Then again, since it seems property expansion is made of the actual command, I'm not sure that will work either.
Johannes needs to answer that.

Regards,
Thomas Hallgren
Re: Hudson-Buckminster No suitable provider [message #500145 is a reply to message #500128] Wed, 25 November 2009 08:18 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
TW schrieb:
> Hi Thomas,
>
> does that mean that I have to wait for a bug fix or is there any
> workaround so that I can build my products and tragetplatform using the
> ${workspace} variable on windows?
>
>

Given the new information from Thomas on how the script file gets
interpreted, I should fix this in the hudson plugin.

There is two ways to do this:
either replace all \ with / during expansion, or treat all known
file-based hudson variables special (WORKSPACE and JAVA_HOME).

I'll think about what's the safer approach and work on a fix once I'm
back at home. I'm rather confident that I can release a new version
tonight. It takes about 24 hours for hudson to pick up new Plugin
versions in the update center, so hopefully you'll be able to build on
your windows machine by tomorrow.

https://hudson.dev.java.net/issues/show_bug.cgi?id=4947

Best regards,
Johannes
Re: Hudson-Buckminster No suitable provider [message #500148 is a reply to message #500135] Wed, 25 November 2009 08:27 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Your hint seems to work for the import command.
-> import ${osgi.instance.area}/com.example.target/target.mspec

and the log says:
*** Get list of all files for C:\hudson\jobs\rcp_target\workspace
*** Looking for versioned files in buckminster
*** Looking for versioned files in com.example.mail
*** Looking for versioned files in src
*** Looking for versioned files in com
*** Looking for versioned files in example
*** Looking for versioned files in mail
*** Looking for versioned files in icons
*** Looking for versioned files in META-INF
*** Looking for versioned files in com.example.mail.feature
*** Looking for versioned files in build
*** Looking for versioned files in com.example.target
*** Looking for versioned files in com.example.mail.site
*** done
*** Performing checkout
*** done
Commandline: 
java -Dbuckminster.output.root=/C:/hudson/jobs/rcp_target/workspace//buckminster.output -Dbuckminster.temp.root=/C:/hudson/jobs/rcp_target/workspace//buckminster.temp -DtargetPlatformPath=file:/${workspace.root}/target -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.buckminster.cmdline.headless -data /C:/hudson/jobs/rcp_target/workspace/ --loglevel info -S C:\hudson\jobs\rcp_target\builds\2009-11-25_09-17-00/commands.txt INFO:  import 'file:/C:/hudson/jobs/rcp_target/workspace//com.example.target/target.mspec'
...


I also have to set my target platform. This is done in Advanced Options -> JVM Arguments.

Here the call: -DtargetPlatformPath=${osgi.instance.area}/target does not work because the log says:

...
java.io.FileNotFoundException: C:\buckminsterheadless\file:\C:\hudson\jobs\rcp_target\workspace\target\artifacts.xml (Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch)
	at java.io.FileOutputStream.open(Native Method)
	at java.io.FileOutputStream.<init>(Unknown Source)
	at java.io.FileOutputStream.<init>(Unknown Source)
	at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.save(SimpleArtifactRepository.java:896)
	at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.save(SimpleArtifactRepository.java:877)
	at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.<init>(SimpleArtifactRepository.java:298)
	at org.eclipse.equinox.internal.provisional.spi.p2.artifact.repository.SimpleArtifactRepositoryFactory.create(SimpleArtifactRepositoryFactory.java:123)
	at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.factoryCreate(ArtifactRepositoryManager.java:55)
	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.doCreateRepository(AbstractRepositoryManager.java:272)
	at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.createRepository(ArtifactRepositoryManager.java:48)
	at org.eclipse.buckminster.core.materializer.P2Materializer.materialize(P2Materializer.java:196)
	at org.eclipse.buckminster.core.materializer.MaterializerJob.run(MaterializerJob.java:70)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
ERROR   [0002] : An error occurred while collecting items to be installed
  ERROR   [0002] : session context was:(profile=file:\C:\hudson\jobs\rcp_target\workspace\target, phase=org.eclipse.equinox.internal.provisional.p2.engine.phases.Collect, operand=, action=).
  ERROR   [0002] : Multiple problems occurred while downloading.
    ERROR   [0002] : Unable to write to repository: file:/C:/buckminsterheadless/file:/C:/hudson/jobs/rcp_target/workspace/target.
    ERROR   [0002] : Unable to write to repository: file:/C:/buckminsterheadless/file:/C:/hudson/jobs/rcp_target/workspace/target.
...


So in this case ${osgi.instance.area} does not work because somthing goes wrong and buckminster wants to write in the directory, where my buckminsterheadless build is. (C:\buckminsterheadless).

&{workspace} doesn't work because then my target platform is written to C:\buckminsterheadless\$workspace and it is supposed to be in C:\hudson\jobs\rcp_target\workspace\target

The only thing that works is if I use:
-DtargetPlatformPath=${workspace.root}/target

[Updated on: Wed, 25 November 2009 08:33]

Report message to a moderator

Re: Hudson-Buckminster No suitable provider [message #500170 is a reply to message #499609] Wed, 25 November 2009 09:04 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
After the creation of the target Platform was successful I get similar problems when trying to build the product for the different operation systems.

I post you some information about the problem, so that this problem could also be fixed in the new release of the buckminster plugin.


I set up the Build like in the tutorial I was referring to all the time.

Build:
=> Run Buckminster
- Import works perfectly with ${osgi.instance.area}

- I have to set my Target Platform to the platform which is created by my other job

So I select "MailApp Target Platform".

If I try to build the job, the log says:
Gestartet durch vorgelagertes Projekt "mailApp", Build 2
*** Get list of all files for C:\hudson\jobs\mailApp\workspace\arch\x86\os\win32\ws\win32
*** Looking for versioned files in buckminster
*** Looking for versioned files in com.example.mail
*** Looking for versioned files in src
*** Looking for versioned files in com
*** Looking for versioned files in example
*** Looking for versioned files in mail
*** Looking for versioned files in icons
*** Looking for versioned files in META-INF
*** Looking for versioned files in com.example.mail.feature
*** Looking for versioned files in build
*** Looking for versioned files in com.example.target
*** Looking for versioned files in com.example.mail.site
*** done
*** Performing checkout
*** done
Commandline: 
java -Dbuckminster.output.root=/C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32//buckminster.output -Dbuckminster.temp.root=/C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32//buckminster.temp -Dtarget.os=win32 -Dtarget.ws=win32 -Dtarget.arch=x86 -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.buckminster.cmdline.headless -data /C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32/ --loglevel info -S C:\hudson\jobs\mailApp\configurations\axis-arch\x86\axis-os\win32\axis-ws\win32\builds\2009-11-25_09-47-25/commands.txt INFO:  setpref 'targetPlatformPath=C:hudsonjobs
cp_targetbuilds2009-11-25_09-33-58archive/targetPlatform'
targetPlatformPath set to the value 'C:hudsonjobs
cp_targetbuilds2009-11-25_09-33-58archive/targetPlatform'
INFO:  import 'file:/C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32//com.example.mail.site/site.cquery'
ERROR   [0000] : No suitable provider for component org.eclipse.rcp:eclipse.feature was found in resourceMap file:/C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32//com.example.mail.site/resources.rmap
  ERROR   [0000] : No suitable provider for component org.eclipse.rcp:eclipse.feature was found in searchPath resources
    ERROR   [0000] : Resolution attempt ended with exception: Provider local(file:///C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32/org.eclipse.rcp/): Missing CSpec source required by component type eclipse.feature
      ERROR   Provider local(file:///C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32/org.eclipse.rcp/): Missing CSpec source required by component type eclipse.feature
ERROR   [0000] : No suitable provider for component org.eclipse.ui:osgi.bundle was found in resourceMap file:/C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32//com.example.mail.site/resources.rmap
  ERROR   [0000] : No suitable provider for component org.eclipse.ui:osgi.bundle was found in searchPath resources
    ERROR   [0000] : Resolution attempt ended with exception: Provider local(file:///C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32/org.eclipse.ui/): Missing CSpec source required by component type osgi.bundle
      ERROR   Provider local(file:///C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32/org.eclipse.ui/): Missing CSpec source required by component type osgi.bundle
ERROR   [0000] : No suitable provider for component org.eclipse.core.runtime:osgi.bundle was found in resourceMap file:/C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32//com.example.mail.site/resources.rmap
  ERROR   [0000] : No suitable provider for component org.eclipse.core.runtime:osgi.bundle was found in searchPath resources
    ERROR   [0000] : Resolution attempt ended with exception: Provider local(file:///C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32/org.eclipse.core.runtime/): Missing CSpec source required by component type osgi.bundle
      ERROR   Provider local(file:///C:/hudson/jobs/mailApp/workspace/arch/x86/os/win32/ws/win32/org.eclipse.core.runtime/): Missing CSpec source required by component type osgi.bundle
Archiviere Artefakte
Finished: FAILURE


In my opinion the resources are missing, because the target platform cannot be resolved. This may be because buckminster cannot find the target platform.

If I look at commands.txt, I can see that the path is set wrong.
setpref targetPlatformPath="C:\hudson\jobs\rcp_target\builds\2009-11-25_09-33-58\archive/targetPlatform"
import ${osgi.instance.area}/com.example.mail.site/site.cquery
perform com.example.mail.feature#create.product.zip 


Maybe there is a workaround. I could call setpref in the commands text field but then I need to get the "C:\hudson\jobs\rcp_target\builds\2009-11-25_09-33-58" path with any kind of variable.

Hope that my concerns are not annoying you that much.
I wonder why I haven't found other developers which have experienced similar problems when using buckminster windows and hudson?


Thanks for all of your support.

@Johannes
I have to write a how to build headless eclipse rcp with hudson and buckminster during my internship. I haven't begun to write how to set up buckminster in eclipse so I will do this exercise first.


-TW


[Updated on: Wed, 25 November 2009 09:08]

Report message to a moderator

Re: Hudson-Buckminster No suitable provider [message #500180 is a reply to message #500170] Wed, 25 November 2009 09:37 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
This looks like the exact same issue, so fixing one will fix the other
I'd say. Like I said, I plan to release the fix tonight, but I will not
be able to test it on a windows machine. I'll post here when I'm done
and if you don't mind, I'd like you to test the solution.

>
> Hope that my concerns are not annoying you that much. I wonder why I
> haven't found other developers which have experienced similar problems
> when using buckminster windows and hudson?
>

I would say that is because most build machines are usually either a
unix or a linux. :)

Best regards,
Johannes
Re: Hudson-Buckminster No suitable provider [message #500186 is a reply to message #500180] Wed, 25 November 2009 09:56 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Hi,

I can test it on windows.

The build process will also run on linux but for test purposes I had to determine how buckminster and hudson works on my local machine.

Re: Hudson-Buckminster No suitable provider [message #500360 is a reply to message #500186] Wed, 25 November 2009 18:34 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
TW schrieb:
> Hi,
>
> I can test it on windows.
>
> The build process will also run on linux but for test purposes I had to
> determine how buckminster and hudson works on my local machine.
>

Hi,

I just released version 0.9.2 of the plugin to the hudson repository. It
usually takes a few hours until your Hudson instance sees the new
version in the update center. Please give it a shot and let me know if
it works for you.

What the fix does is giving the WORKSPACE variable a special treatment
during property expansion and also fixes how the target platform path is
computed.
It's essentially new File(path).toURI().getPath(). That should hopefully
ensure that windows paths get converted into valid, absolut unix paths:
D:/some/path becomes /D:/some/path

Best regards,
Johannes
Re: Hudson-Buckminster No suitable provider [message #500447 is a reply to message #500360] Thu, 26 November 2009 08:52 Go to previous messageGo to next message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Hi,

I have some good news but also bad news.

Good news:
Your fix seems to work. I can now export the target platform with the variable &{workspace} and set it as targetplatform successful.

The bad news:
My product build fails. I think this has nothing to do with the old bug or your plugin.

I will describe the error, maybe you did already see something like this. Otherwise I may open a new thread.

When I tried to export my product there was the following message in the error log:
The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project
Archiviere Artefakte
Finished: FAILURE


I searched the web and found, that this could has something to do with missing informations in the ".classpath" file in my com.example.mail plugin.

I did not even add the ".classpath" file to my starteam cvs, because I didn´t want to add all metadata files.

For testing purposes I added the .claspath file to my starteam and built the target platform and produt again.

The target platorm build succeeded like it did before. But the interesting thing happened with the product build.

Here the win32 and win64 build succeeded but the both linux and mac builds failed with the following message:
[ant] C:\Buckminsterheadless\plugins\org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
[ant] file:/C:/hudson/jobs/mailApp/workspace/arch/x86/os/macosx/ws/cocoa/buckminster.output/com.example.mail.feature_1.0.0-eclipse.feature/site.p2/
[ant] C:\hudson\jobs\mailApp\workspace\arch\x86\os\macosx\ws\cocoa\buckminster.output\com.example.mail.feature_1.0.0-eclipse.feature\Mail
[ant] Cannot complete the install because one or more required items could not be found.
[ant]  Software being installed: mail 1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB (com.example.mail.product 1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB)
[ant]  Missing requirement for filter (&(osgi.os=macosx)(osgi.ws=cocoa)(osgi.arch=x86)): Eclipse RCP 3.5.1.R35x_v20090811-9SA0FxVFqE70OL1ARMrfcO6e7BA6 (org.eclipse.rcp.feature.group 3.5.1.R35x_v20090811-9SA0FxVFqE70OL1ARMrfcO6e7BA6) requires 'org.eclipse.equinox.launcher.cocoa.macosx [1.0.1.R35x_v20090707]' but it could not be found
[ant]  Cannot satisfy dependency:
[ant]   From: Mail Feature 1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB (com.example.mail.feature.feature.group 1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB)
[ant]   To: org.eclipse.rcp.feature.group [3.5.1.R35x_v20090811-9SA0FxVFqE70OL1ARMrfcO6e7BA6]
[ant]  Cannot satisfy dependency:
[ant]   From: mail 1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB (com.example.mail.product 1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB)
[ant]   To: com.example.mail.feature.feature.group [1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB]
[ant] Application failed, log file location: C:\Buckminsterheadless\configuration\1259225343890.log
ERROR: org.eclipse.core.runtime.CoreException: C:\hudson\jobs\mailApp\workspace\arch\x86\os\macosx\ws\cocoa\com.example.mail.feature\build\product.ant:22: Java returned: 13
org.eclipse.core.runtime.CoreException: C:\hudson\jobs\mailApp\workspace\arch\x86\os\macosx\ws\cocoa\com.example.mail.feature\build\product.ant:22: Java returned: 13
	at org.eclipse.buckminster.ant.AntRunner.handleInvocationTargetException(AntRunner.java:189)
	at org.eclipse.buckminster.ant.AntRunner.run(AntRunner.java:352)
	at org.eclipse.buckminster.ant.actor.AntActor.internalPerform(AntActor.java:281)
	at org.eclipse.buckminster.core.actor.AbstractActor.perform(AbstractActor.java:201)
	at org.eclipse.buckminster.core.internal.actor.PerformManager$DirectActionInvocation.execute(PerformManager.java:151)
	at org.eclipse.buckminster.core.internal.actor.PerformManager.internalPerform(PerformManager.java:507)
	at org.eclipse.buckminster.core.internal.actor.PerformManager.perform(PerformManager.java:335)
	at org.eclipse.buckminster.core.internal.actor.PerformManager.perform(PerformManager.java:350)
	at org.eclipse.buckminster.core.commands.Perform.internalRun(Perform.java:118)
	at org.eclipse.buckminster.core.commands.WorkspaceCommand.run(WorkspaceCommand.java:191)
	at org.eclipse.buckminster.cmdline.AbstractCommand.basicRun(AbstractCommand.java:155)
	at org.eclipse.buckminster.cmdline.Headless.run(Headless.java:341)
	at org.eclipse.buckminster.cmdline.Headless.run(Headless.java:135)
	at org.eclipse.buckminster.cmdline.Headless.start(Headless.java:189)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
Caused by: C:\hudson\jobs\mailApp\workspace\arch\x86\os\macosx\ws\cocoa\com.example.mail.feature\build\product.ant:22: Java returned: 13
	at org.apache.tools.ant.taskdefs.Java.execute(Java.java:108)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
	at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:357)
	at org.apache.tools.ant.Target.performTasks(Target.java:385)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:622)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:455)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.buckminster.ant.AntRunner.run(AntRunner.java:344)
	... 25 more
C:\hudson\jobs\mailApp\workspace\arch\x86\os\macosx\ws\cocoa\com.example.mail.feature\build\product.ant:22: Java returned: 13
Caused by: 
Archiviere Artefakte
Finished: FAILURE


In this message a log is mentioned:
..
[ant] Application failed, log file location: C:\Buckminsterheadless\configuration\1259225343890.log
..


The information in the log says:
!SESSION 2009-11-26 09:49:03.609 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.5.0_09
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Framework arguments:  -application org.eclipse.equinox.p2.director -artifactRepository file:file:/C:/hudson/jobs/mailApp/workspace/arch/x86/os/macosx/ws/cocoa/buckminster.output/com.example.mail.feature_1.0.0-eclipse.feature/site.p2/ -metadataRepository file:file:/C:/hudson/jobs/mailApp/workspace/arch/x86/os/macosx/ws/cocoa/buckminster.output/com.example.mail.feature_1.0.0-eclipse.feature/site.p2/ -destination C:\hudson\jobs\mailApp\workspace\arch\x86\os\macosx\ws\cocoa\buckminster.output\com.example.mail.feature_1.0.0-eclipse.feature\Mail -bundlepool C:\hudson\jobs\mailApp\workspace\arch\x86\os\macosx\ws\cocoa\buckminster.output\com.example.mail.feature_1.0.0-eclipse.feature\Mail -profile MailProfile -profileProperties org.eclipse.update.install.features=true -installIU com.example.mail.product -p2.os macosx -p2.ws cocoa -p2.arch x86
Command-line arguments:  -application org.eclipse.equinox.p2.director -artifactRepository file:file:/C:/hudson/jobs/mailApp/workspace/arch/x86/os/macosx/ws/cocoa/buckminster.output/com.example.mail.feature_1.0.0-eclipse.feature/site.p2/ -metadataRepository file:file:/C:/hudson/jobs/mailApp/workspace/arch/x86/os/macosx/ws/cocoa/buckminster.output/com.example.mail.feature_1.0.0-eclipse.feature/site.p2/ -destination C:\hudson\jobs\mailApp\workspace\arch\x86\os\macosx\ws\cocoa\buckminster.output\com.example.mail.feature_1.0.0-eclipse.feature\Mail -bundlepool C:\hudson\jobs\mailApp\workspace\arch\x86\os\macosx\ws\cocoa\buckminster.output\com.example.mail.feature_1.0.0-eclipse.feature\Mail -profile MailProfile -profileProperties org.eclipse.update.install.features=true -installIU com.example.mail.product -p2.os macosx -p2.ws cocoa -p2.arch x86 -consoleLog

!ENTRY org.eclipse.equinox.p2.director 4 1 2009-11-26 09:49:05.281
!MESSAGE Cannot complete the install because one or more required items could not be found.
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2009-11-26 09:49:05.281
!MESSAGE Software being installed: mail 1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB (com.example.mail.product 1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB)
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2009-11-26 09:49:05.281
!MESSAGE Missing requirement for filter (&(osgi.os=macosx)(osgi.ws=cocoa)(osgi.arch=x86)): Eclipse RCP 3.5.1.R35x_v20090811-9SA0FxVFqE70OL1ARMrfcO6e7BA6 (org.eclipse.rcp.feature.group 3.5.1.R35x_v20090811-9SA0FxVFqE70OL1ARMrfcO6e7BA6) requires 'org.eclipse.equinox.launcher.cocoa.macosx [1.0.1.R35x_v20090707]' but it could not be found
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 1 2009-11-26 09:49:05.281
!MESSAGE Cannot satisfy dependency:
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-11-26 09:49:05.281
!MESSAGE From: Mail Feature 1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB (com.example.mail.feature.feature.group 1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB)
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-11-26 09:49:05.281
!MESSAGE To: org.eclipse.rcp.feature.group [3.5.1.R35x_v20090811-9SA0FxVFqE70OL1ARMrfcO6e7BA6]
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 1 2009-11-26 09:49:05.281
!MESSAGE Cannot satisfy dependency:
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-11-26 09:49:05.281
!MESSAGE From: mail 1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB (com.example.mail.product 1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB)
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2009-11-26 09:49:05.281
!MESSAGE To: com.example.mail.feature.feature.group [1.0.0.200911260948-340cLSJ--7S46yAw311_19220_TB]


Does anybody know how to fix this error? I think it´s some kind of jre error because the product build works for the system that I´m running but nor for not for mac and linux.

How can I fix this error?

[Updated on: Thu, 26 November 2009 08:54]

Report message to a moderator

Re: Hudson-Buckminster No suitable provider [message #500455 is a reply to message #500447] Thu, 26 November 2009 09:08 Go to previous messageGo to next message
Johannes Utzig is currently offline Johannes UtzigFriend
Messages: 329
Registered: July 2009
Senior Member
Hi,


see comments below

TW schrieb:
> Hi,
>
> I have some good news but also bad news.
>
> Good news:
> Your fix seems to work. I can now export the target platform with the
> variable &{workspace} and set it as targetplatform successful.

Good, I'm glad the fix works for you.

> The bad news:
> My product build fails. I think this has nothing to do with the old bug
> or your plugin.
>
> I will describe the error, maybe you did already see something like
> this. Otherwise I may open a new thread.
>
> When I tried to export my product there was the following message in the
> error log:
> The project was not built since its build path is incomplete. Cannot
> find the class file for java.lang.Object. Fix the build path then try
> building this project
> Archiviere Artefakte
> Finished: FAILURE
>
> I searched the web and found, that this could has something to do with
> missing informations in the ".classpath" file in my com.example.mail
> plugin.
>
> I did not even add the ".classpath" file to my starteam cvs, because I
> didn´t want to add all metadata files.
>

You do need the meta data present, and in fact, in general you should
commit meta data like that to the repository (unless you use maven) so
others are able to run/build your projects without too too much
background knowledge.


> !MESSAGE Missing requirement for filter
> (&(osgi.os=macosx)(osgi.ws=cocoa)(osgi.arch=x86)): Eclipse RCP
> 3.5.1.R35x_v20090811-9SA0FxVFqE70OL1ARMrfcO6e7BA6
> (org.eclipse.rcp.feature.group
> 3.5.1.R35x_v20090811-9SA0FxVFqE70OL1ARMrfcO6e7BA6) requires
> 'org.eclipse.equinox.launcher.cocoa.macosx [1.0.1.R35x_v20090707]' but
> it could not be found


Is org.eclipse.equinox.launcher.cocoa.macosx [1.0.1.R35x_v20090707] part
of your target platform?

Best regards,
Johannes
Re: Hudson-Buckminster No suitable provider [message #500463 is a reply to message #500455] Thu, 26 November 2009 09:44 Go to previous message
TW  is currently offline TW Friend
Messages: 62
Registered: November 2009
Member
Hi,

hm sounds like this could be the problem.

When I look into my target platform there is a

- org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar file and two folders:

- org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v200905 19
- org.eclipse.equinox.launcher.win32.win32.x86_64_1.0.200.v200 90519

exactly the launchers for the operation system for which hudson successfully builds the produt.

I did check my target.cquery file and saw, that I forgot to add the target.ws = * property.

Now everything works fine and I can build successful my products for every os and architecture.

Thanks for your support and the invested time.

Greetings, TW


Previous Topic:Getting subprojects into workspace (Do I need to use generators?)
Next Topic:No component named xxx.yyy.zzz:eclipse.feature is known
Goto Forum:
  


Current Time: Thu Apr 18 08:22:09 GMT 2024

Powered by FUDForum. Page generated in 0.03718 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top