uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marshall Schor (JIRA)" <...@uima.apache.org>
Subject [jira] [Closed] (UIMA-2963) upgrade maven-dependency-plugin to >= 2.6
Date Tue, 04 Jun 2013 12:27:20 GMT

     [ https://issues.apache.org/jira/browse/UIMA-2963?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Marshall Schor closed UIMA-2963.

    Resolution: Fixed
> upgrade maven-dependency-plugin to >= 2.6
> -----------------------------------------
>                 Key: UIMA-2963
>                 URL: https://issues.apache.org/jira/browse/UIMA-2963
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Build, Packaging and Test
>    Affects Versions: parent-pom-4
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>             Fix For: parent-pom-5
> Currently the UIMA-wide parent pom specifies maven-dependency-plugin version 2.3.  The
currently released version is 2.8.  As of version 2.6, a new configuration parameter, useBaseName,
is available which prevents resolution of versions 2.4.1-SNAPSHOT from being converted to
2.4.1-20130303.12345678 where the last 2 numbers are the snapshot being used.  This feature
is needed to get SNAPSHOT builds working for the new design of Eclipse Runtime packaging -
where the design embeds Jars inside Jars.  Here are the details:
> We build OSGi bundles / Eclipse plugins, which sometimes are collections of other Jars.
 The current best practice is to embed those Jars without unpacking them, thus preserving
any License/Notice files they may have, etc.
> Felix's maven-bundle-plugin supports this using the packaging "Jar", and the instructions
_exportcontents, and Embed-Dependency.  In this design, the dependency section of the POM
contains references to all the Jars that have packages that are needed.  The bundle plugin
uses these instructions and the Maven dependency information to create a Manifest Bundle-ClassPath
entry which has the names of the needed dependent Jars.
> Another build step, outside of the Felix bundle step, uses Maven dependency plugin's
copy-dependencies, to copy the Jars to the target/classes spot, where the maven jar plugin
looks for building the final Jar; this creates the Jars-inside-Jar structure.  
> Unfortunately, when uploading Snapshots to Snapshot repositories, Maven renames the x.y.z-SNAPSHOT
Jar to some name like x.y.z-20130303.12345678 where the last 2 numbers are the timestamp of
the Jar.
> The default for older versions of the maven dependency plugin, when copying the Jar from
a snapshot repository, is to keep the -20130303.12345678 style suffix, instead of using the
base name -SNAPSHOT.  This convention breaks the Felix bundle build, which put into the manifest
in multiple spots the name using the -SNAPSHOT convention.
> More recent versions of the maven-dependency-plugin (after 2.6) have a new configuration
parameter, useBaseName, that has Maven use the -SNAPSHOT name locally, when fetching from
a remote repository.  This is the default, in version 2.6 and later.  

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message