felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard S. Hall (JIRA)" <j...@apache.org>
Subject [jira] Commented: (FELIX-155) A better bundle/artifact version numbering scheme
Date Fri, 14 Mar 2008 16:38:24 GMT

    [ https://issues.apache.org/jira/browse/FELIX-155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12578841#action_12578841
] 

Richard S. Hall commented on FELIX-155:
---------------------------------------

Yeah, I would think that there is nothing really to do about this issue, since each subproject
is independent and must define its own dependencies on versions as needed. The original approach
in the repo was merely an initial set up since nothing was yet released, so we just made everything
use the same version numbers.

> A better bundle/artifact version numbering scheme
> -------------------------------------------------
>
>                 Key: FELIX-155
>                 URL: https://issues.apache.org/jira/browse/FELIX-155
>             Project: Felix
>          Issue Type: Improvement
>            Reporter: Stephane Frenot
>            Priority: Trivial
>
> There is an issue with version management.
> For the moment many bundles are versionned on the same scheme as
> felix framework. ie : 0.8.0-SNAPSHOT
> This is because most of them do not declare a version number in their pom.xml.
> But if you declare a specific version number in you pom.xml there is
> an issue, because you cannot use anymore the default $pom.version in your
> dependencies. So you need to explicitely declare 0.8.0-SNAPSHOT in all
> your depencies, that will lead to a management problem later.
> This is what happens with an example.
> 1) The classical files
> <project>
>   <parent>...felix...</parent>
>     ...
>     <version>0.8.0-SNAPSHOT</version>
>   </parent>
>   ...
>   <dependencies>
>     <dependency>
>       <groupId>...</groupId>
>       <version>${pom.version}</version>  --> This defaults to the
>                                                                                current
pom.xml version
>                                                                                if specified,
and to the
>                                                                                parent
version number if
>                                                                                not.
> 2) The classical solution I found in some bundles
> <project>
>   <parent>...felix...</parent>
>     ...
>     <version>0.8.0-SNAPSHOT</version>
>   </parent>
>   <version>0.1.0-SNAPSHOT</version>  --> Declare a specific bundle
>                                                                               version
>   ...
>   <dependencies>
>     <dependency>
>       <groupId>...</groupId>
>       <version>0.8.0-SNAPSHOT</version>  --> You cannot use  anymore
>                                                                                    ${pom.version}
(because
>                                                                                     it
is now 0.1.0-SNAPSHOT)
>                                                                                    So
you need to specify
>                                                                                    for
all your dependencies
>                                                                                    the
felix/framework 
>                                                                                   version
numbers.
> ******************
> In order to avoid this problem, version dependencies can be declared
> in a DependenciesManagement tag in the main pom.xml. This tags
> declares general version number dependencies. And declares the default
> version number to be used for child artifacts.
> <DependenciesManagement>
>   <dependency>
>     <groupId>${pom.groupId}</groupId>
>     <artifactId>org.osgi.core</artifactId>
>     <version>0.8.0-SNAPSHOT</version>
>     <scope>provided</scope>
>   </dependency>
>   <dependency>
>     <groupId>${pom.groupId}</groupId>
>     <artifactId>org.osgi.compendium</artifactId>
>     <version>0.8.0-SNAPSHOT</version>
>     <scope>provided</scope>
>   </dependency>
> <DependenciesManagement>
> Now your pom.xml can avoid specifying a version number for it's dependencies.
> <project>
>   <parent>...felix...</parent>
>     ...
>     <version>0.8.0-SNAPSHOT</version>
>   </parent>
>   <version>0.1.0-SNAPSHOT</version>  --> Declare a specific bundle
>                                          version
>   ...
>   <dependencies>
>     <dependency>
>       <groupId>...</groupId>
>       <artifactId>org.osgi.core</artifactId>
>       <scope>provided</scope>
>     </dependency>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message