|
Re: Headless import fails [message #514462 is a reply to message #514440] |
Mon, 15 February 2010 08:20 |
|
Hi Greg,
You have not setup a target platform so the build runtime (the headless buckminster in this case) is used as the default
target platform. This is not ideal since whatever your build becomes dependent on the version of your build tool.
I would recommend that you set up an empty target platform in the form of a directory and that you add an entry to your
rmap that uses an 'eclipse.import' reader type that will allow buckminster to resolve target platform components against
a platform p2 repository such as http://download.eclipse.org/eclipse/updates/3.5/
You will also need to use an mspec to tell buckminster that whatever is resolved using this reader type should
materialize to the target platform (as opposed to the workspace). Something like this:
<?xml version="1.0" encoding="UTF-8"?>
<mspec:mspec xmlns:mspec="http://www.eclipse.org/buckminster/MetaData-1.0" materializer="p2" name="mspec"
url="build.cquery">
<mspec:mspecNode materializer="workspace" namePattern="" filter="(buckminster.source=true)"/>
</mspec:mspec>
assuming that it is stored in the same directory as the 'build.cquery'.
The steps are (in this order).
1. Create an empty target platform. Can be done using buckminster setpref targetPlatformPath=<directory> or using a
target platform descriptor (.target file). Make sure the target is active.
2. Import the mspec using the Buckminster 'import' command.
3. Build.
HTH,
Thomas Hallgren
On 02/15/2010 12:04 PM, gjmcknight@schlagundrahm.ch wrote:
> I have an RMAP as follows:
>
> <searchPath name="default">
> <provider readerType="cvs"
> componentTypes="osgi.bundle,eclipse.feature,buckminster" source="true"
> mutable="true">
> <uri
> format=":pserver:gjmcknight:mailto:mypass@cvs.local:/opt/data/cvsroot,{0}/"><bc:propertyRef
> key="buckminster.component" />
> </uri>
> </provider>
> </searchPath>
> <locator searchPathRef="default" />
>
> This works using Eclipse ("resolve and materialize"), but with the
> Headless (I installed the core and CVS features from the 3.5 update
> site), I get the following error when running the headless "import"
> command:
>
> Unable to find a searchPath for
> org.eclipse.core.runtime.compatibility.auth:osgi.bundle
>
> Is there something missing from my headless install?
> Do I need to explicitly provide links to these components (i.e
> components outside of my project (such as org.eclipse, javax.servlet
> etc)???
>
> Thanks a lot!
>
> Greg
|
|
|
Re: Headless import fails [message #514481 is a reply to message #514462] |
Mon, 15 February 2010 14:31 |
Geejay Messages: 160 Registered: February 2010 |
Senior Member |
|
|
Hi Thomas
I have installed the target platform as follows:
C:\fast>..\bin\bmh\buckminster importtargetdefinition -A C:/mysrc/example-app/
example-main-site/rcp.target
Lsttargets gives this:
C:\fast>..\bin\bmh\buckminster lstargets
Using workspace at file:/C:/fast/workspace/ ...
* Eclipse RCP : win32,win32,x86/de_CH
Running Platform : win32,win32,x86/de_CH
All good so far...
I created the MSPEC as you propsed, I only changed the build.cquery to site.query (that is the filename of my CSPEC).
They exist in the same directory.
I added the following to my RMAP:
<searchPath name="galileo">
<provider readerType="eclipse.import" componentTypes="osgi.bundle,eclipse.feature"
mutable="false" source="false">
<uri format=" http://download.eclipse.org/releases/galileo?importType=bina ry"/>
</provider>
</searchPath>
<locator searchPathRef="default" pattern="^calorifer\-.*" />
<locator searchPathRef="galileo" failOnError="false" />
Now I try to import:
C:\fast>..\bin\bmh\buckminster -L DEBUG import C:/mysrc/example-app/example-main-site/site.mspec
But I receive the same errors as before:
Note: I have this in my log file:
!ENTRY org.eclipse.buckminster.core 0 293 2010-02-15 15:15:15.723
!MESSAGE Target platform provided by class org.eclipse.buckminster.pde.internal.PDETargetPlatform
Is the right target platform being used?
Here is my 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="default">
<provider
readerType="cvs"
componentTypes="osgi.bundle,eclipse.feature"
source="true"
mutable="true">
<uri format=":pserver:gjmcknight:mypass@cvs.local:/opt/data/cvsroot,{0}/">
<bc:propertyRef key="buckminster.component" />
</uri>
</provider>
</searchPath>
<searchPath name="galileo">
<provider readerType="eclipse.import" componentTypes="osgi.bundle,eclipse.feature"
mutable="false" source="false">
<uri format=" http://download.eclipse.org/releases/galileo?importType=bina ry"/>
</provider>
</searchPath>
<locator searchPathRef="default" pattern="^calorifer\-.*" />
<locator searchPathRef="galileo" failOnError="false" />
</rmap>
Here is my MSPEC:
<?xml version="1.0" encoding="UTF-8"?>
<mspec:mspec xmlns:mspec="http://www.eclipse.org/buckminster/MetaData-1.0" materializer="p2" name="mspec" url="site.cquery">
<mspec:mspecNode materializer="workspace" namePattern="" filter="(buckminster.source=true)"/>
</mspec:mspec>
Also, I am interested why can I materialize within eclipse without the MSPEC? Is there a default MSPEC in the eclipse plug-in?
SORRY WORK IN PROGRESS...WILL POST MY PROGRESS IN A LITTLE WHILE
Greg
[Updated on: Mon, 15 February 2010 15:01] Report message to a moderator
|
|
|
Re: Headless import fails [message #514498 is a reply to message #514481] |
Mon, 15 February 2010 15:15 |
|
Hi Greg,
Judging from your RMAP you forgot one of the things I suggested:
"add an entry to your rmap that uses an 'eclipse.import' reader type that will allow buckminster to resolve target
platform components against a platform p2 repository such as http://download.eclipse.org/eclipse/updates/3.5/"
Regards,
Thomas Hallgren
On 02/15/2010 03:31 PM, gjmcknight@schlagundrahm.ch wrote:
> Hi Thomas
>
> I have installed the target platform as follows:
>
> C:\fast>..\bin\bmh\buckminster importtargetdefinition -A
> C:/mysrc/example-app/
> example-main-site/rcp.target
>
> Lsttargets gives this:
>
> C:\fast>..\bin\bmh\buckminster lstargets
> Using workspace at file:/C:/fast/workspace/ ...
> * Eclipse RCP : win32,win32,x86/de_CH
> Running Platform : win32,win32,x86/de_CH
>
> All good so far...
>
> I created the MSPEC as you propsed, I only changed the build.cquery to
> site.query (that is the filename of my CSPEC).
>
> They exist in the same directory.
>
> Now I try to import:
>
> C:\fast>..\bin\bmh\buckminster -L DEBUG import
> C:/mysrc/example-app/example-main-site/site.mspec
>
> But I receive the same errors as before:
>
> !ENTRY org.eclipse.buckminster.core 4 293 2010-02-15 15:15:22.228
> !MESSAGE ERROR [0000] : No suitable provider for component
> javax.servlet:osgi.bundle was found in resourceMap
> file:/C:/fast/workspace/calorifer-main-site/site.rmap
> ERROR [0000] : Unable to find a searchPath for javax.servlet:osgi.bundle
>
> Note: I have this in my log file:
>
> !ENTRY org.eclipse.buckminster.core 0 293 2010-02-15 15:15:15.723
> !MESSAGE Target platform provided by class
> org.eclipse.buckminster.pde.internal.PDETargetPlatform
>
> Is the right target platform being used?
>
> Here is my 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="default">
> <provider readerType="cvs" componentTypes="osgi.bundle,eclipse.feature"
> source="true" mutable="true">
> <uri
> format=":pserver:gjmcknight:mailto:mypass@cvs.local:/opt/data/cvsroot,{0}/">
>
> <bc:propertyRef key="buckminster.component" />
> </uri>
> </provider>
> </searchPath>
> <locator searchPathRef="default" pattern="^example\-.*" />
> </rmap>
>
> Here is my MSPEC:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <mspec:mspec
> xmlns:mspec="http://www.eclipse.org/buckminster/MetaData-1.0"
> materializer="p2" name="mspec" url="site.cquery">
> <mspec:mspecNode materializer="workspace" namePattern=""
> filter="(buckminster.source=true)"/>
> </mspec:mspec>
>
> Any ideas?
> Also, I am interested why can I materialize within eclipse without the
> MSPEC? Is there a default MSPEC in the eclipse plug-in?
>
> Thanks
>
> Greg
|
|
|
Re: Headless import fails [message #514510 is a reply to message #514481] |
Mon, 15 February 2010 16:24 |
|
On 02/15/2010 03:31 PM, gjmcknight@schlagundrahm.ch wrote:
> Also, I am interested why can I materialize within eclipse without the
> MSPEC? Is there a default MSPEC in the eclipse plug-in?
>
There is a default MSPEC but it's the same regardless of if you run headless or not.
The reason it fails when running headless and succeeds in the IDE is that you are using the tool itself as the target
platform. So in one case your headless Buckminster runtime is the target platform and in the other case it's your
Eclipse IDE. The IDE installation contains the bundle in question. The headless Buckminster doesn't.
Regards,
Thomas Hallgren
|
|
|
|
Re: Headless import fails [message #514526 is a reply to message #514520] |
Mon, 15 February 2010 16:50 |
|
Hi Greg,
The error indicates that the active target platform does not have exactly one directory so Buckminster cannot determine
where to put things.
HTH,
- thomas
On 02/15/2010 05:48 PM, gjmcknight@schlagundrahm.ch wrote:
> Thanks so much for your quick help Thomas.
>
> I've got it materializing!
>
> Now I've got this error:
>
> ERROR [0004] : Unable to determine target platform install location
> ERROR: Unable to determine target platform install location
> ERROR: Errors and Warnings
>
> I'll see how I go from here.
>
> Thanks again.
|
|
|
|
Re: Headless import fails [message #514560 is a reply to message #514540] |
Mon, 15 February 2010 18:58 |
|
On 02/15/2010 06:38 PM, gjmcknight@schlagundrahm.ch wrote:
> The directory "workspace" has "features" and "plugins" directories after
> materialization.
>
That sounds OK.
> Hasn't Buckminster already materialized everything? It seems so, all my
> source is there...
>
Probably. Your ... suggests that something is wrong?
- thomas
|
|
|
|
Re: Headless import fails [message #514650 is a reply to message #514641] |
Tue, 16 February 2010 04:02 |
|
On 02/16/2010 09:24 AM, gjmcknight@schlagundrahm.ch wrote:
> Hi Thomas
>
> I still have the error:
>
> ERROR [0004] : Unable to determine target platform install location
> ERROR: Unable to determine target platform install location
> ERROR: Errors and Warnings
>
> I have a "workspace" directory which has "features" and "plugins".
>
> What is buckminster trying to do now?
>
Buckminster is trying to find a target platform that it can use and fails.
What target platform is active when this happens?
Does this target platform have exactly one directory?
- thomas
|
|
|
Re: Headless import fails [message #514667 is a reply to message #514650] |
Tue, 16 February 2010 09:46 |
Geejay Messages: 160 Registered: February 2010 |
Senior Member |
|
|
OK, here is the log (from workspace/.metadata/.log)
!SESSION 2010-02-16 10:15:37.662 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_17
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH
Framework arguments: -L DEBUG import C:/mysrc/example-app/example-main-site/site.mspec
Command-line arguments: -L DEBUG import C:/mysrc/example-app/example-main-site/site.mspec
!ENTRY org.eclipse.buckminster.runtime 0 293 2010-02-16 10:15:39.968
!MESSAGE import 'C:/mysrc/example-app/example-main-site/site.mspec'
!ENTRY org.eclipse.buckminster.core 0 293 2010-02-16 10:15:41.283
!MESSAGE Platform install location: C:\bin\bmh
!ENTRY org.eclipse.buckminster.core 0 293 2010-02-16 10:15:41.760
!MESSAGE Target platform provided by class org.eclipse.buckminster.pde.internal.PDETargetPlatform
!ENTRY org.eclipse.buckminster.core 0 293 2010-02-16 10:15:58.064
!MESSAGE Provider cvs(:pserver:gjmcknight:mypass@cvs.local:/opt/data/cvsroot,example-main-site/): materializing to C:/fast/workspace/features/example-main-site/
!ENTRY org.eclipse.buckminster.core 4 293 2010-02-16 10:15:58.248
!MESSAGE ERROR [0004] : Unable to determine target platform install location
!ENTRY org.eclipse.buckminster.runtime 4 0 2010-02-16 10:15:58.251
!MESSAGE Unable to determine target platform install location
!ENTRY org.eclipse.buckminster.core 4 293 2010-02-16 10:15:59.856
!MESSAGE Errors and Warnings
!STACK 1
org.eclipse.core.runtime.CoreException: Errors and Warnings
at org.eclipse.buckminster.runtime.BuckminsterException.wrap(Bu ckminsterException.java:109)
at org.eclipse.buckminster.core.materializer.MaterializationJob .internalRun(MaterializationJob.java:175)
at org.eclipse.buckminster.core.materializer.MaterializationJob .run(MaterializationJob.java:144)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Contains: [0004] : Unable to determine target platform install location
!SUBENTRY 1 org.eclipse.buckminster.core 4 0 2010-02-16 10:15:59.858
!MESSAGE Errors and Warnings
!SUBENTRY 2 org.eclipse.buckminster.runtime 4 0 2010-02-16 10:15:59.858
!MESSAGE [0004] : Unable to determine target platform install location
!ENTRY org.eclipse.buckminster.core 1 293 2010-02-16 10:15:59.862
!MESSAGE TAG-ID 0004 = Query for example-main-site:eclipse.feature, path: example-main-site:eclipse.feature$1.0.0.qualifier -> example-main-feature:eclipse.feature$1.0.0.qualifier -> example-main:osgi.bundle$1.0.0.qualifier
!ENTRY org.eclipse.buckminster.core 0 293 2010-02-16 10:16:02.865
!MESSAGE Doing full workspace refresh
!ENTRY org.eclipse.buckminster.core 0 293 2010-02-16 10:16:02.868
!MESSAGE Waiting for jobs to end
As you can see, I have cut the resolution stuff out of the middle of the log.
Here is the active target:
C:\fast>..\bin\bmh\buckminster lstargets
Using workspace at file:/C:/fast/workspace/ ...
* Eclipse RCP : win32,win32,x86/de_CH
Running Platform : win32,win32,x86/de_CH
And here is the commands I have run:
C:\fast>..\bin\bmh\buckminster importtargetdefinition -A C:/mysrc/example-app/example-main-site/rcp.target
C:\fast>..\bin\bmh\buckminster -L DEBUG import C:/mysrc/example-app/example-main-site/site.mspec
The workspace directory has two sub-directories, "features" and "plugins" after the import.
|
|
|
Re: Headless import fails [message #514683 is a reply to message #514667] |
Tue, 16 February 2010 05:42 |
|
On 02/16/2010 10:46 AM, gjmcknight@schlagundrahm.ch wrote:
> Here is the active target:
>
> C:\fast>..\bin\bmh\buckminster lstargets
> Using workspace at file:/C:/fast/workspace/ ...
> * Eclipse RCP : win32,win32,x86/de_CH
> Running Platform : win32,win32,x86/de_CH
>
> And here is the commands I have run:
>
> C:\fast>..\bin\bmh\buckminster importtargetdefinition -A
> C:/mysrc/example-app/example-main-site/rcp.target
>
> C:\fast>..\bin\bmh\buckminster -L DEBUG import
> C:/mysrc/example-app/example-main-site/site.mspec
>
What does the rcp.target file look like?
- thomas
|
|
|
|
Re: Headless import fails [message #514770 is a reply to message #514691] |
Tue, 16 February 2010 15:21 |
|
This target definition does not look like it contains a directory location. As I said earlier, Buckminster cannot
determine where to put things. You need to add a directory location to your target platform.
- thomas
On 02/16/2010 12:14 PM, gjmcknight@schlagundrahm.ch wrote:
> rcp.target
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <?pde version="3.5"?>
>
> <target name="Eclipse RCP">
> <locations>
> <location includeAllPlatforms="true" includeMode="slicer"
> type="InstallableUnit">
> <unit id="org.eclipse.equinox.executable.feature.group"
> version="3.3.200.R35x_v20090724-7M-FneFF9aMTyz0pw04ONXn"/>
> <unit id="org.eclipse.rcp.sdk.id" version="3.5.1.M20090917-0800"/>
> <repository location="http://download.eclipse.org/releases/galileo"/>
> </location>
> </locations>
> </target>
>
> Actually, when I ran "lsprefs", the targetDefinition was undefined.
>
> So I then set the targetDefinition using setprefs
> "targetDefinition=Eclipse RCP".
>
> Then I looked at "lsprefs" and the target definition was properly set.
> It seems that the "-A" flag used in "importdefinition" might not be
> persisting...(i.e Should the -A flag should do the same thing as
> setprefs targetDefiniton?)
>
> I have now re-run the import, but now I end up without any of plug-ins
> and features materialized. Just a .metadata directory.
>
> lsprefs gives:
>
> org.eclipse.buckminster.pde.targetDefinition
> Description: Sets the active Target Platform Definition
> Value : Eclipse RCP
> org.eclipse.buckminster.pde.targetNL
> Description: Sets the locale of the currently active target platform
> (no value set)
> org.eclipse.buckminster.pde.targetOS
> Description: Sets the operating system on the currently active target
> platform
>
> (no value set)
> org.eclipse.buckminster.pde.targetPlatformPath
> Description: Set the active Target Platform to a definition that
> appoints a path
> Value : C:\fast\workspace\.metadata\.plugins\org.eclipse.pde.core\.b
> undle_pool
> org.eclipse.buckminster.pde.targetWS
> Description: Sets the window system on the currently active target platform
> (no value set)
>
>
|
|
|
|
Powered by
FUDForum. Page generated in 0.04000 seconds