Stian Soiland-Reyes created TAVERNA-924:
-------------------------------------------
Summary: ApplicationProfile tries to uploads to Maven repository
Key: TAVERNA-924
URL: https://issues.apache.org/jira/browse/TAVERNA-924
Project: Apache Taverna
Issue Type: Bug
Components: Taverna Commandline, Taverna OSGi
Affects Versions: osgi 0.2.1
Reporter: Stian Soiland-Reyes
Fix For: osgi 0.3.0
The
[taverna-commandline-product|https://github.com/apache/incubator-taverna-commandline/tree/master/taverna-commandline-product]
builds the binary distribution ZIP of the Taverna Command Line product -
including its lib/ folder, etc.
It is using
{code}
<packaging>taverna-application</packaging>
{code}
to enable the taverna-maven-plugin's [profile deploy
goal|https://github.com/apache/incubator-taverna-osgi/blob/master/taverna-maven-plugin/src/main/java/org/apache/taverna/mavenplugin/TavernaProfileDeployMojo.java]
- however this fails a regular {{mvn deploy}}:
{code}
[INFO] --- taverna-maven-plugin:0.2.1-incubating-SNAPSHOT:profile-deploy
(default-profile-deploy) @ taverna-command-line-product ---
[INFO] Uploading
/home/stain/src/taverna/incubator-taverna-commandline/taverna-commandline-product/target/taverna-tmp/ApplicationProfile.xml
to
https://repository.apache.org/content/repositories/snapshots/ApplicationProfile-3.1.0.incubating_20160222T1501.xml
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.943 s
[INFO] Finished at: 2016-02-22T15:01:35+00:00
[INFO] Final Memory: 37M/803M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal
org.apache.taverna.osgi:taverna-maven-plugin:0.2.1-incubating-SNAPSHOT:profile-deploy
(default-profile-deploy) on project taverna-command-line-product:
Authentication error transferring
/home/stain/src/taverna/incubator-taverna-commandline/taverna-commandline-product/target/taverna-tmp/ApplicationProfile.xml
to
https://repository.apache.org/content/repositories/snapshots/ApplicationProfile-3.1.0.incubating_20160222T1501.xml:
Access denied to:
https://repository.apache.org/content/repositories/snapshots/ApplicationProfile-3.1.0.incubating_20160222T1501.xml,
ReasonPhrase: Forbidden. -> [Help 1]
{code}
As the Maven repository (luckily!) will not allow you to write to
/ApplicationProfile-3.1.0.xml at the root - only within org/apache/taverna/
The [life cycle mapping for
taverna-application|https://github.com/apache/incubator-taverna-osgi/blob/master/taverna-maven-plugin/src/main/resources/META-INF/plexus/components.xml#L36]
is also not including the regular install and deploy actions from Maven, so
the taverna-commandline-product when built as part of the release-plugin would
NOT be deploying the binary distribution ZIP file to the Maven repository.
However I believe we WANT that as part of the regular release - as [Taverna
Server relies
on|https://github.com/apache/incubator-taverna-server/blob/2a05cb6ed9e76898311937132fd4fd2350daae1a/taverna-server-webapp/pom.xml#L596]
the taverna-commandline ZIP being in a Maven repository.
So a quick workaround for taverna-commandline is to change the packaging back
to jar and then we do the ApplicationProfile.xml updates for
http://taverna.incubator.apache.org/updates/commandline/ manually (from where
they can be picked up by the taverna-plugin-api users for automatic updates).
Longer term we need to think about how these ApplicationProfile.xml can be
deployed - particularly considering the release candidates we don't want them
to go live before a release has been accepted by the
Also the taverna-maven-plugin should include the regular goals for install and
deploy, e.g.
{code:xml}
<phases>
<!-- .. -->
<install>org.apache.maven.plugins:maven-install-plugin:install</install>
<deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy>
</phases>
{code}
(It needs to be tested if both deploy goals make sense).
Perhaps another solution is to split out the ApplicationProfile.xml maintenance
to a different Maven module in taverna-commandline, or to make it deploy
somewhere within the correct org.apache.taverna groupId so it fits into a
regular Maven repository. This would fit better with the Maven release
mechanism, and we could modify the
http://taverna.incubator.apache.org/updates/commandline/3.0/ site to redirect
to the correct folder on http://repository.apache.org/
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)