Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Package Drone » Problems with Root Files in Eclipse Features(Package Drone seems not to correctly serve Eclipse Features containing root files.)
Problems with Root Files in Eclipse Features [message #1719470] Fri, 08 January 2016 08:58 Go to next message
Timo Rohrberg is currently offline Timo RohrbergFriend
Messages: 69
Registered: September 2011
Location: Karlsruhe
Member
Hello everybody,

we are successfully using Package Drone, but run into a severe problem now. One of our Eclipse Features build with Maven/Tycho contains root files, which are later copied into the root directory of the final Eclipse Product, also build by Maven/Tycho in a separate step. We are using the Eclipse PDE Rootfiles strategy which is also directly supported by Maven/Tycho. Whenever we create an individual p2 repository with Maven/Tycho using the "eclipse-repository" packaging type, deploy that p2 repository to an HTTP-Server, and consume the feature with root files from there in the separate Maven/Tycho Eclipse Product build, everything works fine. However, when just deploying the feature with root files to Package Drone and consuming it from there, the build fails with the following error message:

[ERROR] The following artifacts could not be downloaded:
[ERROR]   binary,de.vitasystems.platform.feature_root,2.0.0.201601080711
[ERROR]   org.eclipse.update.feature,de.vitasystems.platform.feature,2.0.0.201601080711
[ERROR] Internal error: java.lang.RuntimeException: Some required artifacts could not be downloaded. See log output for details. -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: Some required artifacts could not be downloaded. See log output for details.
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:167)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: java.lang.RuntimeException: Some required artifacts could not be downloaded. See log output for details.
    at org.eclipse.tycho.p2.resolver.P2ResolverImpl.failIfArtifactsMissing(P2ResolverImpl.java:271)
    at org.eclipse.tycho.p2.resolver.P2ResolverImpl.toResolutionResult(P2ResolverImpl.java:225)
    at org.eclipse.tycho.p2.resolver.P2ResolverImpl.resolveDependencies(P2ResolverImpl.java:209)
    at org.eclipse.tycho.p2.resolver.P2ResolverImpl.resolveDependencies(P2ResolverImpl.java:116)
    at org.eclipse.tycho.p2.resolver.P2DependencyResolver.doResolveDependencies(P2DependencyResolver.java:367)
    at org.eclipse.tycho.p2.resolver.P2DependencyResolver.resolveDependencies(P2DependencyResolver.java:335)
    at org.eclipse.tycho.core.resolver.DefaultTychoResolver.resolveProject(DefaultTychoResolver.java:117)
    at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:95)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
    ... 11 more
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] [url]http://cwiki.apache.org/confluence/display/MAVEN/InternalErrorException[/url]


Maven/Tycho cannot resolve the binary artifact containing the root files of the feature. Since exactly that works with a separate p2 repository built by Maven/Tycho and hosted on a HTTP-server, I assume this is a problem introduced by Package Drone. After uploading the feature with root files, I can see the following artifacts in Package Drone:

de.vitasystems.platform.feature-2.0.0-20160108.073646-1.jar
de.vitasystems.platform.feature-2.0.0-20160108.073646-1.pom
|-- de.vitasystems.platform.feature-2.0.0-20160108.073646-1-p2artifacts.xml
|-- de.vitasystems.platform.feature-2.0.0-20160108.073646-1-p2metadata.xml
|-- de.vitasystems.platform.feature-2.0.0-20160108.073646-1-root.zip

The de.vitasystems.platform.feature-2.0.0-20160108.073646-1-p2artifacts.xml looks as follows:

<?artifactRepository version='1.1.0'?>
<artifacts size="2">
    <artifact classifier="binary" id="de.vitasystems.platform.feature_root"
        version="2.0.0.201601080734">
        <properties size="5">
            <property name="maven-groupId" value="de.vitasystems" />
            <property name="maven-artifactId" value="de.vitasystems.platform.feature" />
            <property name="maven-version" value="2.0.0-SNAPSHOT" />
            <property name="maven-classifier" value="root" />
            <property name="maven-extension" value="zip" />
        </properties>
    </artifact>
    <artifact classifier="org.eclipse.update.feature" id="de.vitasystems.platform.feature"
        version="2.0.0.201601080734">
        <properties size="6">
            <property name="artifact.size" value="6337" />
            <property name="download.size" value="6337" />
            <property name="maven-groupId" value="de.vitasystems" />
            <property name="maven-artifactId" value="de.vitasystems.platform.feature" />
            <property name="maven-version" value="2.0.0-SNAPSHOT" />
            <property name="download.contentType" value="application/zip" />
        </properties>
    </artifact>
</artifacts>


And the de.vitasystems.platform.feature-2.0.0-20160108.073646-1-p2metadata.xml looks as follows:

<units size="3">
    <unit id="de.vitasystems.platform.feature.feature.group" version="2.0.0.201601080734"
        singleton="false">
        <update id="de.vitasystems.platform.feature.feature.group"
            range="[0.0.0,2.0.0.201601080734)" severity="0" />
        <properties size="8">
            <property name="org.eclipse.equinox.p2.name" value="Platform Feature" />
            <property name="org.eclipse.equinox.p2.description" value="[Enter Feature Description here.]" />
            <property name="org.eclipse.equinox.p2.description.url"
                value="http://www.example.com/description" />
            <property name="org.eclipse.equinox.p2.provider" value="vitasystems GmbH" />
            <property name="org.eclipse.equinox.p2.type.group" value="true" />
            <property name="maven-groupId" value="de.vitasystems" />
            <property name="maven-artifactId" value="de.vitasystems.platform.feature" />
            <property name="maven-version" value="2.0.0-SNAPSHOT" />
        </properties>
        <provides size="1">
            <provided namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.feature.feature.group" version="2.0.0.201601080734" />
        </provides>
        <requires size="63">
            <required namespace="org.eclipse.equinox.p2.iu" name="de.vitasystems.platform.services"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.persistence.hibernate" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu" name="de.vitasystems.platform.model.device"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.device" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.device.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.common" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu" name="de.vitasystems.platform.model.patient"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.patient" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.patient.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu" name="de.vitasystems.platform.model.user"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.user" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.user.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.model.physician" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.physician" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.physician.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.osgi.audittrail" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.osgi.audittrail.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.model.audittrail" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.osgi.auth" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.osgi.auth.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.model.validation" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu" name="de.vitasystems.platform.validation"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.validation.evaluators" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.validation.ruleset.patient" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu" name="de.vitasystems.platform.model.document"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.document" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.document.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.validation.ruleset.document" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.model.devicePatientAssignment" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.devicePatientAssignment"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.devicePatientAssignment.impl"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.validation.ruleset.devicePatientAssignment"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.validation.ruleset.device" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu" name="de.vitasystems.platform.bootstrap"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu" name="de.vitasystems.platform.common"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.osgi.httpclient" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.osgi.httpclient.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.osgi.log" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.osgi.log.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu" name="de.vitasystems.platform.operationguard"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.operationguard.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.operationguard.physician" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.operationguard.patient" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.operationguard.device" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.operationguard.document" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.validation.ruleset.physician" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.model.vitalData" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.vitalData" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.vitalData.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.validation.ruleset.user" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.model.devPatPhyAssignment" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.devPatPhyAssignment"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.devPatPhyAssignment.impl"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.audittrail" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.audittrail.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.osgi.report.analyzers" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.osgi.report.analyzers.impl"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.osgi.report" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.osgi.report.birt.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.report" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.services.rest.report.impl" range="[2.0.0.201601080734,2.0.0.201601080734]" />
            <required namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.feature.feature.jar" range="[2.0.0.201601080734,2.0.0.201601080734]">
                <filter>
                    (org.eclipse.update.install.features=true)
                </filter>
            </required>
            <required namespace="org.eclipse.equinox.p2.iu" name="de.vitasystems.platform.feature_root"
                range="[2.0.0.201601080734,2.0.0.201601080734]" />
        </requires>
        <touchpoint id="null" version="0.0.0" />
        <licenses size="1">
            <license uri="[url]http://www.example.com/license[/url]" url="[url]http://www.example.com/license[/url]">
                [Enter License Description here.]
            </license>
        </licenses>
        <copyright uri="[url]http://www.example.com/copyright[/url]" url="[url]http://www.example.com/copyright[/url]">
            [Enter Copyright Description here.]
        </copyright>
    </unit>
    <unit id="de.vitasystems.platform.feature.feature.jar" version="2.0.0.201601080734">
        <properties size="7">
            <property name="org.eclipse.equinox.p2.name" value="Platform Feature" />
            <property name="org.eclipse.equinox.p2.description" value="[Enter Feature Description here.]" />
            <property name="org.eclipse.equinox.p2.description.url"
                value="http://www.example.com/description" />
            <property name="org.eclipse.equinox.p2.provider" value="vitasystems GmbH" />
            <property name="maven-groupId" value="de.vitasystems" />
            <property name="maven-artifactId" value="de.vitasystems.platform.feature" />
            <property name="maven-version" value="2.0.0-SNAPSHOT" />
        </properties>
        <provides size="3">
            <provided namespace="org.eclipse.equinox.p2.iu"
                name="de.vitasystems.platform.feature.feature.jar" version="2.0.0.201601080734" />
            <provided namespace="org.eclipse.equinox.p2.eclipse.type"
                name="feature" version="1.0.0" />
            <provided namespace="org.eclipse.update.feature" name="de.vitasystems.platform.feature"
                version="2.0.0.201601080734" />
        </provides>
        <filter>
            (org.eclipse.update.install.features=true)
        </filter>
        <artifacts size="1">
            <artifact classifier="org.eclipse.update.feature" id="de.vitasystems.platform.feature"
                version="2.0.0.201601080734" />
        </artifacts>
        <touchpoint id="org.eclipse.equinox.p2.osgi" version="1.0.0" />
        <touchpointData size="1">
            <instructions size="1">
                <instruction key="zipped">
                    true
                </instruction>
            </instructions>
        </touchpointData>
        <licenses size="1">
            <license uri="[url]http://www.example.com/license[/url]" url="[url]http://www.example.com/license[/url]">
                [Enter License Description here.]
            </license>
        </licenses>
        <copyright uri="[url]http://www.example.com/copyright[/url]" url="[url]http://www.example.com/copyright[/url]">
            [Enter Copyright Description here.]
        </copyright>
    </unit>
    <unit id="de.vitasystems.platform.feature_root" version="2.0.0.201601080734">
        <provides size="1">
            <provided namespace="org.eclipse.equinox.p2.iu" name="de.vitasystems.platform.feature_root"
                version="2.0.0.201601080734" />
        </provides>
        <artifacts size="1">
            <artifact classifier="binary" id="de.vitasystems.platform.feature_root"
                version="2.0.0.201601080734" />
        </artifacts>
        <touchpoint id="org.eclipse.equinox.p2.native" version="1.0.0" />
        <touchpointData size="1">
            <instructions size="2">
                <instruction key="uninstall">
                    cleanupzip(source:@artifact, target:${installFolder});
                </instruction>
                <instruction key="install">
                    unzip(source:@artifact, target:${installFolder});
                </instruction>
            </instructions>
        </touchpointData>
    </unit>
</units>


What can be noticed is that the de.vitasystems.platform.feature_root artifact is correctly referenced with its OSGi version and qualifier. However, it seems to have problems resolving that artifact in Package Drone with the timestamp replacing the -SNAPSHOT qualifier of the Maven world.

Do you guys have any idea how to solve that problem? Any hints are welcome.

Regards
Timo

[Updated on: Fri, 08 January 2016 08:59]

Report message to a moderator

Re: Problems with Root Files in Eclipse Features [message #1719676 is a reply to message #1719470] Mon, 11 January 2016 11:04 Go to previous message
Jens Reimann is currently offline Jens ReimannFriend
Messages: 29
Registered: June 2013
Junior Member
I would like to track this at issue #7:

https://github.com/eclipse/packagedrone/issues/7
Previous Topic:Welcome to eclipse.package-drone
Next Topic:P2 view in demo system broken
Goto Forum:
  


Current Time: Tue Sep 25 05:48:17 GMT 2018

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

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

Back to the top