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)

Reply via email to