packagedrone
packagedrone copied to clipboard
Artifact type "binary" unsupported for P2 repositories
A long standing issue in Package Drone is the missing support for the "binary" artifact type of P2.
So this is a tough one. There is no correlation between P2 artifact classifier="binary" id="org.example.pdrone.rootfiles.feature_root" version="1.0.0.201601111524" and the uploaded maven artifact org.example.pdrone.rootfiles.feature-1.0.0-20160111.152416-1-root.zip
Good news:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
So with this last change the demo project does compile.
We're trying to resolve binary artifacts which are packed in a zipped P2 repository. So there are no maven metadatas available for the binary.
In the artifacts.xml the binary occurs as expected and the rule of the URL seems correct:
<mappings size="3">
<rule filter="(&(classifier=osgi.bundle))" output="${repoUrl}/plugins/${id}/${version}/${id}_${version}.jar"/>
<rule filter="(&(classifier=binary))" output="${repoUrl}/binary/${id}/${version}/${id}_${version}"/>
<rule filter="(&(classifier=org.eclipse.update.feature))" output="${repoUrl}/features/${id}/${version}/${id}_${version}.jar"/></mappings>
...
<artifact classifier="binary" id="org.eclipse.rcp_root" version="4.4.2.v20150204-1700">
<properties size="1">
<property name="download.size" value="36407"/>
</properties>
</artifact>
But when we request the binary with its URL, an artifacts.xml is returned instead of the binary:
myDroneServer:8080/p2/myChannel/binary/org.eclipse.rcp_root/4.4.2.v20150204-1700/org.eclipse.rcp_root_4.4.2.v20150204-1700 -> returns an artifacts.xml
if you give us a hint - we could help to fix the issue. Currently we're not sure whether the missing maven meta data is the problem or if the binary ArtifactInformation does not occur at all in the list of matching binary candidates.