aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Hughes <>
Subject Re: Aries release - the shape of repo org/apache/aries
Date Wed, 10 Mar 2010 16:05:40 GMT
On 10 March 2010 03:00, Joe Bohn <> wrote:
> Jeremy,
> I can't help but notice that in your list below you don't mention the
> AriesTrader sample at all.  I guess that means that it is perfect for
> release just the way it is? ;-)

Ah that was an oversight - I think it has something to do with, at the
time I created the list, ariestrader not being built from a top level
build. I see it's hooked in now. I see the groudId is parent groupId
is org.apache.aries.ariestrader instead of
org.apache.aries.samples.ariestrader. I thought we discussed changing

The jars I can see currently being put into the local repo in
org/apache/aries/ariestrader are:


So if we are to follow what I've proposed for the rest instead of:


we would have:


and instead of the BSN in that bundle being
org.apache.aries.ariestrader.modules.ariestrader-api it would be

and then we would apply that to all the other 'modules'.

With the .eba assemblies, instead of:


we would have:


and instead of the BSN in that eba being ariestrader.eba it woul be
org.apache.aries.samples.ariestrader.all ... but I suspect this is the
eba-maven-plugin's fault.


> Joe
> Jeremy Hughes wrote:
>> I'm trying to understand what the org/apache/aries maven repo space
>> will look like once we release our 0.1 artifacts.
>> AIUI, and based on release discussions so far, when we release the
>> artifacts they will be pushed up to Nexus by the maven release plugin.
>> Those artifacts in turn come from the local .m2 repo put there by mvn
>> install.
>> So I cleaned out my .m2/repository/org/apache/aries then did a mvn
>> clean install to see what was there. I think we need to move things
>> about a bit (or rather rename some artifactIds) to make our
>> artifactIds and groupIds consistently named. Later, after the 0.1
>> release, we could also improve things to make sure there is a
>> consistent relationship between source tree location and location of
>> the built artifact in the repo.
>> A built artifact is always given the name of the artifactId - and even
>> if there were a way of changing that, from an ease of understanding
>> point of view, we probably shouldn't as that is what anyone who uses
>> maven assumes.
>> Many of our bundle artifacts (all except the samples) follow the
>> <package name>-<version> naming convention which means their
>> artifactIds also do - this is the same as the bundle artifacts of the
>> Felix subprojects. So I suggest we follow the same pattern applying it
>> across the samples too. This has the effect of giving us uniquely
>> named artifactIds across the whole project (e.g. we don't have two
>> artifacts called "api" for example) - which means m2eclipse is happy
>> by default.
>> For now I'm just interested in the groupIds and artifactIds of the
>> artifacts we expect users to use. While everything in our part of the
>> maven repo will get released and need to be scrutinized, I think the
>> artifacts below are the ones we should list on our download page
>> (along with 'project' tar.gz files which can be used to build the
>> binary). I've also follwed the 'best practice' of separating APIs into
>> an API bundle:
>> These artifacts to have groupId: org.apache.aries.application:
>> org.apache.aries.application.api-0.1-incubating.jar
>>    artifactId: org.apache.aries.application.api
>> org.apache.aries.application.converters-0.1-incubating.jar
>>    artifactId: org.apache.aries.application.converters
>> org.apache.aries.application.install-0.1-incubating.jar
>>    artifactId: org.apache.aries.application.install
>>    artifactId:
>> org.apache.aries.application.resolver.obr-0.1-incubating.jar
>>    artifactId: org.apache.aries.application.resolver.obr
>> org.apache.aries.application.runtime-0.1-incubating.jar
>>    artifactId: org.apache.aries.application.runtime
>> org.apache.aries.application.utils-0.1-incubating.jar
>>    artifactId: org.apache.aries.application.utils.
>> These artifacts to have groupId: org.apache.aries.blueprint
>> org.apache.aries.blueprint-0.1-incubating.jar (the full blueprint impl
>> bundle which actually also contains the API because the spec
>> erroneously requires it)
>>    artifactId: org.apache.aries.blueprint
>> org.apache.aries.blueprint.api-0.1-incubating.jar
>>    artifactId: org.apache.aries.blueprint.api
>> These artifacts to have groupId: org.apache.aries
>> eba-maven-plugin-0.1-incubating.jar
>>    artifactId: eba-maven-plugin
>> (TODO: why is this not called maven-eba-plugin which would follow the
>> convention set by the maven-bundle-plugin and the maven-zip-plugin. I
>> propose changing it to maven-eba-plugin)
>> These artifacts to have groupId: org.apache.aries.jmx:
>> org.apache.aries.jmx-0.1-incubating.jar (like Blueprint, the api is
>> also included in here - we should look at changing this if possible)
>>    artifactId: org.apache.aries.jmx
>> org.apache.aries.jmx.api-0.1-incubating.jar
>>    artifactId: org.apache.aries.jmx.api
>> org.apache.aries.jmx.blueprint-0.1-incubating.jar (like Blueprint, the
>> api is also included in here)
>>    artifactId: org.apache.aries.jmx.blueprint
>> org.apache.aries.jmx.blueprint.api-0.1-incubating.jar
>>    artifactId: org.apache.aries.jmx.blueprint.api
>> These artifacts to have groupId: org.apache.aries.jndi:
>> org.apache.aries.jndi-0.1-incubating.jar (there is no API to this)
>>    artifactId: org.apache.aries.jndi
>> These artifacts to have groupId: org.apache.aries.jpa:
>> org.apache.aries.jpa.api-0.1-incubating.jar
>>    artifactId: org.apache.aries.jpa.api
>> org.apache.aries.jpa.blueprint.aries-0.1-incubating.jar
>>    artifactId: org.apache.aries.jpa.blueprint
>> org.apache.aries.jpa.container-0.1-incubating.jar
>>    artifactId: org.apache.aries.jpa.container
>> org.apache.aries.jpa.container.context-0.1-incubating.jar
>>    artifactId: org.apache.aries.jpa.container.context
>> These artifacts to have groupId:
>> blog-0.1-incubating.jar (TODO: this isn't an 'uber' bundle so doesn't
>> follow the pattern the blueprint 'uber' bundle has set. I'd like
>> consistency so I propose renaming to blog-biz. So call this
>>    artifactId:
>> blog-api-0.1-incubating.jar (TODO: change to
>>    artifactId:
>> blog-datasource-0.1-incubating.jar
>>    artifactId:
>> blog-persistence-0.1-incubating.jar (TODO: since we now have two
>> persistence impls we should change this to
>> ...)
>>    artifactId:
>> blog-persistence-jpa-0.1-incubating.jar
>>    artifactId:
>> blog-servlet-0.1-incubating.jar (TODO: to be consistent with the spec
>> names we should call this 'web' instead of 'servlet' so change this to
>> ...)
>>    artifactId:
>> These artifacts to have groupId:
>> org.apache.aries.samples.blueprint.helloworld:
>> blueprint-helloworld-api-0.1-incubating.jar (TODO: change to
>> org.apache.aries.samples.blueprint.helloworld.api...)
>>    artifactId: org.apache.aries.samples.blueprint.helloworld.api
>> blueprint-helloworld-client-0.1-incubating.jar (TODO: change to
>> ...client...)
>>    artifactId: org.apache.aries.samples.blueprint.helloworld.client
>> blueprint-helloworld-server-0.1-incubating.jar (TODO: change to
>> ...server...)
>>    artifactId: org.apache.aries.samples.blueprint.helloworld.server
>> These artifacts to have groupId:
>> org.apache.aries.samples.blueprint.idverifier:
>> org.apache.aries.samples.blueprint.idverifier.api-0.1-incubating.jar
>>    artifactId: org.apache.aries.samples.blueprint.idverifier.api
>> org.apache.aries.samples.blueprint.idverifier.client-0.1-incubating.jar
>>    artifactId: org.apache.aries.samples.blueprint.idverifier.client
>> org.apache.aries.samples.blueprint.idverifier.server-0.1-incubating.jar
>>    artifactId: org.apache.aries.samples.blueprint.idverifier.server
>> These artifacts to have groupId: org.apache.aries.samples.transaction:
>> transaction-sample-web-0.1-incubating.jar (TODO: change to
>> org.apache.aries.samples.transaction.web...)
>>    artifactId: org.apache.aries.samples.transaction.web
>> These artifacts to have groupId: org.apache.aries.transaction:
>> org.apache.aries.transaction.blueprint-0.1-incubating.jar
>>    artifactId: org.apache.aries.transaction.blueprint
>> org.apache.aries.transaction.manager-0.1-incubating.jar
>>    artifactId: org.apache.aries.transaction.manager
>> These artifacts to have groupId: org.apache.aries.util:
>> org.apache.aries.util-0.1-incubating.jar (TODO: there should be an API
>> bundle to the impl if we are to follow our pattern of separating out
>> the API)
>>    artifactId: org.apache.aries.util
>> These artifacts to have groupId: org.apache.aries.web:
>> org.apache.aries.web.urlhandler-0.1-incubating.jar (TODO:
>> WarToWabConverter is an API and should be in its own api bundle)
>>    artifactId: org.apache.aries.web.urlhandler
>> I appreciate this might be disruptive, but IMO it's best to have (what
>> I think is necessary) disruption done sooner rather than later.
>> Please do comment on this proposal - I've tried to mark the changes
>> with 'TODO' to help.
>> Thanks,
>> Jeremy
> --
> Joe

View raw message