Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » P2 » p2 director headless, can't find missing dependency from other repo.
p2 director headless, can't find missing dependency from other repo. [message #1041823] Mon, 15 April 2013 16:11 Go to next message
Christophe Bouhier is currently offline Christophe Bouhier
Messages: 921
Registered: July 2009
Senior Member
Hello There,

I am trying to install an IU using the headless p2 director.
The command looks like below:

The iu "com.netxforge.netxstudio.bare" has a dependency to a feature
which is located in different p2 repo, I can't satisfy this dependency.
(See error further below).

How do I instruct the director to fetch the dependency from another p2
repo? (In the command, I have tried specifying -artifactrepository,
-metadarepository ... but to no success).

The two (public) repo's are:

http://p2.netxforge.com/own.p2/ (Contains the iu)
http://p2.netxforge.com/site.p2/ (Contains the dependencies)


Director Cmd + Arguments ----------------8<-----------------

#!/bin/bash
../eclipse -application org.eclipse.equinox.p2.director \
repositories
http://p2.netxforge.com/own.p2/,http://p2.netxforge.com/site/p2/ \
-artifactrepository http://p2.netxforge.com/site.p2/ \
-metadatarepository http://p2.netxforge.com/site.p2/ \
-destination
/var/lib/jenkins/workspace/netxstudio.product/buckminster.output/com.netxforge.releng.product.client_1.0.0-eclipse.feature/netxstudio.bare.win32.win32.x86
\
-profile netxStudioClientProfile \
-profileProperties org.eclipse.update.install.features=true \
-installIU com.netxforge.netxstudio.bare \
-p2.os win32 -p2.ws win32 -p2.arch x86 \
-purgeHistory \
-consoleLog \
-followReferences


Error----------8<-------------

!ENTRY org.eclipse.equinox.p2.director 4 1 2013-04-15 18:03:07.410
!MESSAGE Cannot complete the install because one or more required items
could not be found.
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2013-04-15 18:03:07.411
!MESSAGE Software being installed: NetXStudio Platform 0.0.0
(com.netxforge.netxstudio.bare 0.0.0)
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2013-04-15 18:03:07.411
!MESSAGE Missing requirement: NetXStudio Platform 0.0.0
(com.netxforge.netxstudio.bare 0.0.0) requires
'com.google.artifacts.feature.feature.group [1.0.0.qualifier]' but it
could not be found

IU a .product iu -------------8<----------------

<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>

<product name="NetXStudio Platform" uid="com.netxforge.netxstudio.bare"
id="com.netxforge.netxstudio.bare.product.product"
application="com.netxforge.netxstudio.ui.application" useFeatures="true"
includeLaunchers="true">

<configIni use="default">
</configIni>

<launcherArgs>
<vmArgsMac>-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
</launcherArgs>

<launcher>
<solaris/>
<win useIco="false">
<bmp/>
</win>
</launcher>

<vm>
</vm>

<plugins>
</plugins>

<features>
<feature id="com.netxforge.netxstudio.bare.product.feature"/>
<feature id="com.netxforge.netxstudio.screens.app.feature"/>
<feature id="com.google.artifacts.feature"/>
<feature id="org.eclipse.equinox.executable"/>
<feature id="org.eclipse.rcp"/>
</features>

<configurations>
<plugin id="com.netxforge.netxstudio.bare.product"
autoStart="false" startLevel="0" />
<plugin id="com.netxforge.netxstudio.ui" autoStart="false"
startLevel="1" />
</configurations>

</product>
Re: p2 director headless, can't find missing dependency from other repo. [message #1043035 is a reply to message #1041823] Wed, 17 April 2013 07:26 Go to previous messageGo to next message
Christophe Bouhier is currently offline Christophe Bouhier
Messages: 921
Registered: July 2009
Senior Member
Anyone? I would really like to know how to make the P2 director
find dependencies in the specified repositories?

Could the qualifier be the problem?

The error:

!MESSAGE Missing requirement: NetXStudio Platform 0.0.0
> (com.netxforge.netxstudio.bare 0.0.0) requires
> 'com.google.artifacts.feature.feature.group [1.0.0.qualifier]' but it
> could not be found

The feature in the repo is:

com.google.artifacts.feature_1.0.0.201304161037.jar


Thank you, Christophe



On 15-04-13 18:11, Christophe Bouhier wrote:
> Hello There,
>
> I am trying to install an IU using the headless p2 director.
> The command looks like below:
>
> The iu "com.netxforge.netxstudio.bare" has a dependency to a feature
> which is located in different p2 repo, I can't satisfy this dependency.
> (See error further below).
>
> How do I instruct the director to fetch the dependency from another p2
> repo? (In the command, I have tried specifying -artifactrepository,
> -metadarepository ... but to no success).
>
> The two (public) repo's are:
>
> http://p2.netxforge.com/own.p2/ (Contains the iu)
> http://p2.netxforge.com/site.p2/ (Contains the dependencies)
>
>
> Director Cmd + Arguments ----------------8<-----------------
>
> #!/bin/bash
> ./eclipse -application org.eclipse.equinox.p2.director \
> repositories
> http://p2.netxforge.com/own.p2/,http://p2.netxforge.com/site/p2/ \
> -artifactrepository http://p2.netxforge.com/site.p2/ \
> -metadatarepository http://p2.netxforge.com/site.p2/ \
> -destination
> /var/lib/jenkins/workspace/netxstudio.product/buckminster.output/com.netxforge.releng.product.client_1.0.0-eclipse.feature/netxstudio.bare.win32.win32.x86
> \
> -profile netxStudioClientProfile \
> -profileProperties org.eclipse.update.install.features=true \
> -installIU com.netxforge.netxstudio.bare \
> -p2.os win32 -p2.ws win32 -p2.arch x86 \
> -purgeHistory \
> -consoleLog \
> -followReferences
>
>
> Error----------8<-------------
>
> !ENTRY org.eclipse.equinox.p2.director 4 1 2013-04-15 18:03:07.410
> !MESSAGE Cannot complete the install because one or more required items
> could not be found.
> !SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2013-04-15 18:03:07.411
> !MESSAGE Software being installed: NetXStudio Platform 0.0.0
> (com.netxforge.netxstudio.bare 0.0.0)
> !SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2013-04-15 18:03:07.411
> !MESSAGE Missing requirement: NetXStudio Platform 0.0.0
> (com.netxforge.netxstudio.bare 0.0.0) requires
> 'com.google.artifacts.feature.feature.group [1.0.0.qualifier]' but it
> could not be found
>
> IU a .product iu -------------8<----------------
>
> <?xml version="1.0" encoding="UTF-8"?>
> <?pde version="3.5"?>
>
> <product name="NetXStudio Platform" uid="com.netxforge.netxstudio.bare"
> id="com.netxforge.netxstudio.bare.product.product"
> application="com.netxforge.netxstudio.ui.application" useFeatures="true"
> includeLaunchers="true">
>
> <configIni use="default">
> </configIni>
>
> <launcherArgs>
> <vmArgsMac>-XstartOnFirstThread
> -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
> </launcherArgs>
>
> <launcher>
> <solaris/>
> <win useIco="false">
> <bmp/>
> </win>
> </launcher>
>
> <vm>
> </vm>
>
> <plugins>
> </plugins>
>
> <features>
> <feature id="com.netxforge.netxstudio.bare.product.feature"/>
> <feature id="com.netxforge.netxstudio.screens.app.feature"/>
> <feature id="com.google.artifacts.feature"/>
> <feature id="org.eclipse.equinox.executable"/>
> <feature id="org.eclipse.rcp"/>
> </features>
>
> <configurations>
> <plugin id="com.netxforge.netxstudio.bare.product"
> autoStart="false" startLevel="0" />
> <plugin id="com.netxforge.netxstudio.ui" autoStart="false"
> startLevel="1" />
> </configurations>
>
> </product>
>
>
>
>
>
>
Re: p2 director headless, can't find missing dependency from other repo. [message #1048063 is a reply to message #1043035] Wed, 24 April 2013 02:20 Go to previous messageGo to next message
Brian de Alwis is currently offline Brian de Alwis
Messages: 191
Registered: January 2012
Senior Member

The ".qualifier" is replaced at build time and should never make it into a repository. That your repo has a literal ".qualifier" implies that your build has some error, e.g., that a dependency is not being resolved.

Brian.


Eclipse Platform committer. Ask me about Eclipse support, training, and consulting.
Re: p2 director headless, can't find missing dependency from other repo. [message #1048307 is a reply to message #1048063] Wed, 24 April 2013 09:45 Go to previous messageGo to next message
Christophe Bouhier is currently offline Christophe Bouhier
Messages: 921
Registered: July 2009
Senior Member
On 24-04-13 04:20, Brian de Alwis wrote:> The ".qualifier" is replaced
at build time and should never make it into
> a repository. That your repo has a literal ".qualifier" implies that
> your build has some error, e.g., that a dependency is not being resolved.

Thanks Brian, the repo itself does have the valid component (without
..qualifier):

com.google.artifacts.feature_1.0.0.201304161037.jar

The component depending on it, does state the dependency in a .product
file:

<features>
<feature id="com.google.artifacts.feature"/>
</features>

No version requirement is set in the product, It seem the component
requiring this dependency is materialized with a version dependency
1.0.0.qualifier ( which is the version of the component in the source
component). I don't understand how this happens? Do I need to specify an
advisor node to force the correct version?

!MESSAGE Missing requirement: NetXStudio Platform 0.0.0
(com.netxforge.netxstudio.bare 0.0.0) requires
'com.google.artifacts.feature.feature.group [1.0.0.qualifier]' but it
could not be found



>
> Brian.
Re: p2 director headless, can't find missing dependency from other repo. [message #1051093 is a reply to message #1041823] Sun, 28 April 2013 07:28 Go to previous message
Lorenzo Bettini is currently offline Lorenzo Bettini
Messages: 1363
Registered: July 2009
Senior Member
On 04/15/2013 06:11 PM, Christophe Bouhier wrote:
> Hello There,
>
> I am trying to install an IU using the headless p2 director.
> The command looks like below:
>
> The iu "com.netxforge.netxstudio.bare" has a dependency to a feature
> which is located in different p2 repo, I can't satisfy this dependency.
> (See error further below).
>
> How do I instruct the director to fetch the dependency from another p2
> repo? (In the command, I have tried specifying -artifactrepository,
> -metadarepository ... but to no success).
>
> The two (public) repo's are:
>
> http://p2.netxforge.com/own.p2/ (Contains the iu)
> http://p2.netxforge.com/site.p2/ (Contains the dependencies)
>
>
> Director Cmd + Arguments ----------------8<-----------------
>
> #!/bin/bash
> ./eclipse -application org.eclipse.equinox.p2.director \
> repositories
> http://p2.netxforge.com/own.p2/,http://p2.netxforge.com/site/p2/ \
> -artifactrepository http://p2.netxforge.com/site.p2/ \
> -metadatarepository http://p2.netxforge.com/site.p2/ \

I'm pretty sure that the command line argument is

-repository or -r

in your shell script you do not use '-' and you use repositories...
maybe that's the problem?

IIRC if you use -r you do not need -artifactrepository and
-metadatarepository

hope it helps
Lorenzo


--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
HOME: http://www.lorenzobettini.it
Previous Topic:Error installing repository from command line using director application
Next Topic:File has an invalid content (org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505.jar)
Goto Forum:
  


Current Time: Thu Oct 02 10:34:02 GMT 2014

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

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