Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Buckminster » Materializing OSGI Bundle from Maven Repo into p2 site?!
Materializing OSGI Bundle from Maven Repo into p2 site?! [message #514248] Sat, 13 February 2010 00:32 Go to next message
Philipp Nanz is currently offline Philipp NanzFriend
Messages: 46
Registered: February 2010
Member
Hi folks,

I'm trying to get an RCP build working with the Hudson/Buckminster combo.

The problem I have is that the feature is referencing third party OSGi libs that are only found in the Ibiblio Maven repo.

Importing the feature then results in:
ERROR   [0002] : No repository found at http://www.ibiblio.org/maven2.
ERROR: No repository found at http://www.ibiblio.org/maven2.
ERROR: Errors and Warnings
org.eclipse.core.runtime.CoreException: Errors and Warnings
	at org.eclipse.buckminster.runtime.BuckminsterException.wrap(BuckminsterException.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: [0002] : No repository found at http://www.ibiblio.org/maven2.
INFO:  TAG-ID 0002 = Query for ...


I can work around this issue by adding an
mspecNode for the bundles in question that sets the materializer to filesystem; given the right installLocation I can even make them show up in the plugins directory of the site... but they are nested in some crazy maven folder structure ({$targetPlatform}/plugins/maven2/commons-io/...).

Whats the best way to resolve maven bundles into a p2 site?

Thanks in advance,
Phil

For your reference:
<?xml version="1.0" encoding="UTF-8"?>
<mspec xmlns="http://www.eclipse.org/buckminster/MetaData-1.0"
	name="Target Platform MSPEC" materializer="p2" installLocation="${targetPlatformPath}"
	url="xxx.cquery">

	<property key="target.arch" value="*" />
	<property key="target.os" value="*" />
	<property key="target.ws" value="*" />

	<mspecNode namePattern="org\.apache\.lucene" exclude="true" />
	<mspecNode namePattern="xxx\..*" exclude="true" />
	<mspecNode namePattern="slf4j\..*" materializer="filesystem"
		installLocation="${targetPlatformPath}/plugins" />
	<mspecNode namePattern="org\.apache\.commons\.io"
		materializer="filesystem" installLocation="${targetPlatformPath}/plugins" />
</mspec>


<?xml version="1.0" encoding="UTF-8"?>
<cq:componentQuery xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0"
	resourceMap="xxx_hudson.rmap">
	<cq:rootRequest name="xxx.product.feature" componentType="eclipse.feature" />
	<cq:advisorNode namePattern=".*" useTargetPlatform="false"
		useWorkspace="false" />
	<cq:property key="target.arch" value="*" />
	<cq:property key="target.os" value="*" />
	<cq:property key="target.ws" value="*" />
</cq:componentQuery>



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

	<property key="base.path" value="D:/Workspace/Spielwiese" />

	<searchPath name="xxx">
		<provider readerType="local"
			componentTypes="osgi.bundle,eclipse.feature" mutable="true"
			source="true">
			<uri format="file:/{0}/{1}/">
				<bc:propertyRef key="base.path" />
				<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=binary" />
		</provider>
	</searchPath>

	<searchPath name="maven">
		<provider xsi:type="mp:MavenProvider" readerType="maven2"
			componentTypes="osgi.bundle" mutable="false" source="false">
			<uri format="http://mirrors.ibiblio.org/pub/mirrors/maven2" />
			<mp:mappings>
				<mp:entry name="slf4j.api" groupId="org.slf4j" artifactId="slf4j-api" />
				<mp:entry name="slf4j.simple" groupId="org.slf4j"
					artifactId="slf4j-simple" />
				<mp:entry name="org.apache.commons.io" groupId="commons-io"
					artifactId="commons-io" />
			</mp:mappings>
		</provider>
	</searchPath>

	<locator searchPathRef="xxx" failOnError="false" />
	<locator searchPathRef="galileo" failOnError="false" />
	<locator searchPathRef="maven" />

</rmap>

Re: Materializing OSGI Bundle from Maven Repo into p2 site?! [message #514250 is a reply to message #514248] Sat, 13 February 2010 00:45 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Philippe,
What version of Buckminster are you using? If you are using 3.5, could you give 3.6 a try and see if you still have the
same problem?

You might want to consider using the Orbit p2 repository at Eclipse.org instead of Maven:

http://download.eclipse.org/tools/orbit/downloads/drops/R201 00114021427/

The p2 update site URL is:

http://download.eclipse.org/tools/orbit/downloads/drops/R201 00114021427/updateSite

HTH,

- thomas


On 02/13/2010 01:32 AM, Philipp Nanz wrote:
> Hi folks,
>
> I'm trying to get an RCP build working with the Hudson/Buckminster combo.
>
> The problem I have is that the feature is referencing third party OSGi
> libs that are only found in the Ibiblio Maven repo.
>
> Importing the feature then results in:
> ERROR [0002] : No repository found at http://www.ibiblio.org/maven2
> ERROR: No repository found at http://www.ibiblio.org/maven2
> ERROR: Errors and Warnings
> 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: [0002] : No repository found at http://www.ibiblio.org/maven2
> INFO: TAG-ID 0002 = Query for ...
>
> I can work around this issue by adding an mspecNode for the bundles in
> question that sets the materializer to filesystem; given the right
> installLocation I can even make them show up in the plugins directory of
> the site... but they are nested in some crazy maven folder structure
> ({$targetPlatform}/plugins/maven2/commons-io/...).
>
> Whats the best way to resolve maven bundles into a p2 site?
>
> Thanks in advance,
> Phil
>
> For your reference:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <mspec xmlns="http://www.eclipse.org/buckminster/MetaData-1.0"
> name="Target Platform MSPEC" materializer="p2"
> installLocation="${targetPlatformPath}"
> url="xxx.cquery">
>
> <property key="target.arch" value="*" />
> <property key="target.os" value="*" />
> <property key="target.ws" value="*" />
>
> <mspecNode namePattern="org\.apache\.lucene" exclude="true" />
> <mspecNode namePattern="xxx\..*" exclude="true" />
> <mspecNode namePattern="slf4j\..*" materializer="filesystem"
> installLocation="${targetPlatformPath}/plugins" />
> <mspecNode namePattern="org\.apache\.commons\.io"
> materializer="filesystem"
> installLocation="${targetPlatformPath}/plugins" />
> </mspec>
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <cq:componentQuery xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0"
> resourceMap="xxx_hudson.rmap">
> <cq:rootRequest name="xxx.product.feature"
> componentType="eclipse.feature" />
> <cq:advisorNode namePattern=".*" useTargetPlatform="false"
> useWorkspace="false" />
> <cq:property key="target.arch" value="*" />
> <cq:property key="target.os" value="*" />
> <cq:property key="target.ws" value="*" />
> </cq:componentQuery>
>
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <rmap xmlns="http://www.eclipse.org/buckminster/RMap-1.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:mp="http://www.eclipse.org/buckminster/MavenProvider-1.0"
> xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0">
>
> <property key="base.path" value="D:/Workspace/Spielwiese" />
>
> <searchPath name="xxx">
> <provider readerType="local"
> componentTypes="osgi.bundle,eclipse.feature" mutable="true"
> source="true">
> <uri format="file:/{0}/{1}/">
> <bc:propertyRef key="base.path" />
> <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>
>
> <searchPath name="maven">
> <provider xsi:type="mp:MavenProvider" readerType="maven2"
> componentTypes="osgi.bundle" mutable="false" source="false">
> <uri format="http://mirrors.ibiblio.org/pub/mirrors/maven2" />
> <mp:mappings>
> <mp:entry name="slf4j.api" groupId="org.slf4j" artifactId="slf4j-api" />
> <mp:entry name="slf4j.simple" groupId="org.slf4j"
> artifactId="slf4j-simple" />
> <mp:entry name="org.apache.commons.io" groupId="commons-io"
> artifactId="commons-io" />
> </mp:mappings>
> </provider>
> </searchPath>
>
> <locator searchPathRef="xxx" failOnError="false" />
> <locator searchPathRef="galileo" failOnError="false" />
> <locator searchPathRef="maven" />
>
> </rmap>
>
>
Re: Materializing OSGI Bundle from Maven Repo into p2 site?! [message #514263 is a reply to message #514250] Sat, 13 February 2010 09:03 Go to previous messageGo to next message
Philipp Nanz is currently offline Philipp NanzFriend
Messages: 46
Registered: February 2010
Member
Hi Thomas,

thanks for the quick reply.

I have given it a try with 3.6 (freshly installed a few minutes ago via director), unfortunately that results in another error:
D:\p2\buckminster-3.6>java -Dbuckminster.output.root=/D:/hudson/jobs/TargetPlatf
orm/workspace//buckminster.output -Dbuckminster.temp.root=/D:/hudson/jobs/Target
Platform/workspace//buckminster.temp -DtargetPlatformPath=/D:/hudson/jobs/Target
Platform/workspace//targetPlatform -jar plugins/org.eclipse.equinox.launcher_1.1
.0.v20100208.jar -application org.eclipse.buckminster.cmdline.headless -data /D:
/hudson/jobs/TargetPlatform/workspace/ --loglevel info -S D:\hudson\jobs\TargetP
latform\builds\2010-02-13_09-42-59/commands.txt
INFO:  import 'file:/D:/target-platform.mspec'
WARN:  Use of deprecated value for attribute <provider readerType>. Was 'eclipse
.import', should be 'p2' : file:/D:/xxx_hudson.rmap, line 23.
ERROR   [0001] : java.lang.NoSuchMethodError: org.eclipse.buckminster.core.resol
ver.NodeQuery.getRevision()J
INFO:  TAG-ID 0001 = Query for xxx.product.feature:eclipse.feature


D:\p2\buckminster-3.6>


I have tried running it with debug, but even then I get no stacktrace. So I have no idea where this thing is coming from :-/

but then again even if it would work, it wouldn't really be an option for me though because the hudson-buckminster plugin doesn't support 3.6 yet.

As for Orbit, one of the wanted bundles isn't listed there Sad

Thanks for your time,
Phil
Re: Materializing OSGI Bundle from Maven Repo into p2 site?! [message #514265 is a reply to message #514263] Sat, 13 February 2010 09:21 Go to previous messageGo to next message
Philipp Nanz is currently offline Philipp NanzFriend
Messages: 46
Registered: February 2010
Member
Back on 3.5, I have tried another approach using ANT GET maps, but this time I get no component match found for the bundles in question.

ANT GET MAP
plugin@org.apache.commons.io,1.4.0=GET,http://mirrors.ibiblio.org/pub/mirrors/maven2/commons-io/commons-io/1.4/commons-io-1.4.jar

plugin@slf4j.api,1.5.10=GET,http://mirrors.ibiblio.org/pub/mirrors/maven2/org/slf4j/slf4j-api/1.5.10/slf4j-api-1.5.10.jar

plugin@slf4j.simple,1.5.10=GET,http://mirrors.ibiblio.org/pub/mirrors/maven2/org/slf4j/slf4j-simple/1.5.10/slf4j-simple-1.5.10.jar


New RMAP
<?xml version="1.0" encoding="UTF-8"?>
<rmap xmlns="http://www.eclipse.org/buckminster/RMap-1.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mp="http://www.eclipse.org/buckminster/MavenProvider-1.0"
	xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0">

	<property key="svn.user" value="philipp" />
	<property key="svn.pass" value="..." />

	<searchPath name="xxx">
		<provider readerType="svn"
			componentTypes="osgi.bundle,eclipse.feature" mutable="true"
			source="true">
			<uri format="svn://{0}:{1}@htpc/xxx/trunk/{2}/">
				<bc:propertyRef key="svn.user" />
				<bc:propertyRef key="svn.pass" />
				<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=binary" />
		</provider>
	</searchPath>

	<searchPath name="maven">
		<provider readerType="eclipse.import" componentTypes="osgi.bundle"
			mutable="false" source="false">
			<uri format="file:/D:/supplemental-plugins.map" />
		</provider>
	</searchPath>

	<locator searchPathRef="xxx" failOnError="false" />
	<locator searchPathRef="galileo" failOnError="false" />
	<locator searchPathRef="maven"/>

</rmap>

Re: Materializing OSGI Bundle from Maven Repo into p2 site?! [message #514269 is a reply to message #514263] Sat, 13 February 2010 10:03 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Philipp,
You're experiencing an incompatibility issue. Probably a mix between 3.5 and 3.6 bundles. Are you using Subversion from
our External site? If so, please read my latest posting "Reorganization of our external sites."

Regards,
Thomas Hallgren

On 02/13/2010 10:03 AM, Philipp Nanz wrote:
> Hi Thomas,
>
> thanks for the quick reply.
>
> I have given it a try with 3.6 (freshly installed a few minutes ago via
> director), unfortunately that results in another error:
>
> D:\p2\buckminster-3.6>java
> -Dbuckminster.output.root=/D:/hudson/jobs/TargetPlatf
> orm/workspace//buckminster.output
> -Dbuckminster.temp.root=/D:/hudson/jobs/Target
> Platform/workspace//buckminster.temp
> -DtargetPlatformPath=/D:/hudson/jobs/Target
> Platform/workspace//targetPlatform -jar
> plugins/org.eclipse.equinox.launcher_1.1
> 0.v20100208.jar -application org.eclipse.buckminster.cmdline.headless
> -data /D:
> /hudson/jobs/TargetPlatform/workspace/ --loglevel info -S
> D:\hudson\jobs\TargetP
> latform\builds\2010-02-13_09-42-59/commands.txt
> INFO: import 'file:/D:/target-platform.mspec'
> WARN: Use of deprecated value for attribute <provider readerType>. Was
> 'eclipse
> import', should be 'p2' : file:/D:/xxx_hudson.rmap, line 23.
> ERROR [0001] : java.lang.NoSuchMethodError:
> org.eclipse.buckminster.core.resol
> ver.NodeQuery.getRevision()J
> INFO: TAG-ID 0001 = Query for xxx.product.feature:eclipse.feature
>
>
> D:\p2\buckminster-3.6>
>
>
> I have tried running it with debug, but even then I get no stacktrace.
> So I have no idea where this thing is coming from :-/
>
> but then again even if it would work, it wouldn't really be an option
> for me though because the hudson-buckminster plugin doesn't support 3.6
> yet.
>
> As for Orbit, one of the wanted bundles isn't listed there :(
>
> Thanks for your time,
> Phil
Re: Materializing OSGI Bundle from Maven Repo into p2 site?! [message #514272 is a reply to message #514269] Sat, 13 February 2010 11:36 Go to previous messageGo to next message
Philipp Nanz is currently offline Philipp NanzFriend
Messages: 46
Registered: February 2010
Member
ok, 3.6 up and running now (thanks!) but the error is now the same as on 3.5:
D:\hudson\jobs\TargetPlatform\workspace>exit 0 

Commandline: 

java -Dbuckminster.output.root=/D:/hudson/jobs/TargetPlatform/workspace//buckminster.output -Dbuckminster.temp.root=/D:/hudson/jobs/TargetPlatform/workspace//buckminster.temp -DtargetPlatformPath=/D:/hudson/jobs/TargetPlatform/workspace//targetPlatform -jar plugins/org.eclipse.equinox.launcher_1.1.0.v20100208.jar -application org.eclipse.buckminster.cmdline.headless -data /D:/hudson/jobs/TargetPlatform/workspace/ --loglevel info -S D:\hudson\jobs\TargetPlatform\builds\2010-02-13_12-32-31/commands.txt INFO:  import 'file:/D:/target-platform.mspec'

WARN:  Use of deprecated value for attribute <provider readerType>. Was 'eclipse.import', should be 'p2' : file:/D:/xxx_hudson.rmap, line 23. 

ERROR   [0002] : No repository found at http://www.ibiblio.org/maven2.

ERROR: No repository found at http://www.ibiblio.org/maven2.

ERROR: Errors and Warnings

org.eclipse.core.runtime.CoreException: Errors and Warnings

	at org.eclipse.buckminster.runtime.BuckminsterException.wrap(BuckminsterException.java:96)

	at org.eclipse.buckminster.core.materializer.MaterializationJob.internalRun(MaterializationJob.java:150)

	at org.eclipse.buckminster.core.materializer.MaterializationJob.run(MaterializationJob.java:126)

	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

Contains: [0002] : No repository found at http://www.ibiblio.org/maven2.

INFO:  TAG-ID 0002 = Query for xxx.product.feature:eclipse.feature, path: xxx.product.feature:eclipse.feature$1.0.0.qualifier



Archiviere Artefakte

Finished: FAILURE


Re: Materializing OSGI Bundle from Maven Repo into p2 site?! [message #514461 is a reply to message #514272] Mon, 15 February 2010 13:10 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Philipp,
Can you please enter a bugzilla for this? If you attach a project with the sample mspec/cquery/rmap that would be very
helpful.

Thanks,
Thomas Hallgren

On 02/13/2010 12:36 PM, Philipp Nanz wrote:
> ok, 3.6 up and running now (thanks!) but the error is now the same as on
> 3.5:
>
> D:\hudson\jobs\TargetPlatform\workspace>exit 0
> Commandline:
> java
> -Dbuckminster.output.root=/D:/hudson/jobs/TargetPlatform/wor kspace//buckminster.output
> -Dbuckminster.temp.root=/D:/hudson/jobs/TargetPlatform/works pace//buckminster.temp
> -DtargetPlatformPath=/D:/hudson/jobs/TargetPlatform/workspac e//targetPlatform
> -jar plugins/org.eclipse.equinox.launcher_1.1.0.v20100208.jar
> -application org.eclipse.buckminster.cmdline.headless -data
> /D:/hudson/jobs/TargetPlatform/workspace/ --loglevel info -S
> D:\hudson\jobs\TargetPlatform\builds\2010-02-13_12-32-31/com mands.txt
> INFO: import 'file:/D:/target-platform.mspec'
>
> WARN: Use of deprecated value for attribute <provider readerType>. Was
> 'eclipse.import', should be 'p2' : file:/D:/xxx_hudson.rmap, line 23.
> ERROR [0002] : No repository found at http://www.ibiblio.org/maven2
>
> ERROR: No repository found at http://www.ibiblio.org/maven2
>
> ERROR: Errors and Warnings
>
> org.eclipse.core.runtime.CoreException: Errors and Warnings
>
> at
> org.eclipse.buckminster.runtime.BuckminsterException.wrap(Bu ckminsterException.java:96)
>
>
> at
> org.eclipse.buckminster.core.materializer.MaterializationJob .internalRun(MaterializationJob.java:150)
>
>
> at
> org.eclipse.buckminster.core.materializer.MaterializationJob .run(MaterializationJob.java:126)
>
>
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
>
> Contains: [0002] : No repository found at http://www.ibiblio.org/maven2
>
> INFO: TAG-ID 0002 = Query for xxx.product.feature:eclipse.feature, path:
> xxx.product.feature:eclipse.feature$1.0.0.qualifier
>
>
>
> Archiviere Artefakte
>
> Finished: FAILURE
>
>
>
Re: Materializing OSGI Bundle from Maven Repo into p2 site?! [message #514678 is a reply to message #514461] Tue, 16 February 2010 10:29 Go to previous message
Philipp Nanz is currently offline Philipp NanzFriend
Messages: 46
Registered: February 2010
Member
Hi Thomas,
thanks for your time! Bug has been added: https://bugs.eclipse.org/bugs/show_bug.cgi?id=302929

Kind Regards,
Philipp
Previous Topic:[Aggregator] Installation Problem
Next Topic:Turn root feature into p2 IU
Goto Forum:
  


Current Time: Fri Apr 19 18:03:15 GMT 2024

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

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

Back to the top