Hi,

There are a few different goals around this area based on previous discussions:

1) A way to group a set of dependencies which are logically used together to 
perform certain functions 
2) A way for application developers to specify the required jars on the class 
path (w or w/o maven)
3) A way for Tuscany adopters  (end users or embedders) to choose the functions 
without dragging in all modules

Let's try to map these goals to the two approaches we have in Tuscany so far 
(A: feature poms, B: shade jars)

Here is my vote:

Goal 1): option A (based on the maven best practice documented at [1])

Goal 2): option A for maven users. I'm open to have aggregated jars from option 
B for non-maven users.
The decision is probably related hosting environment:

JSE classpath (Option A or B)
ANT (Option A or B)
Eclipse classpath (Option A or B)
OSGi bundles (Option A because we can produce the feature based bundle 
configurations)
WEB-INF/lib (Option A or B. I'm using maven WAR or dependency plugin to handle 
the jars)

Goal 3): option A (they can use the pom project to assemble the tuscany 
runtimes from core and selected extensions)

If we decide to keep both options, I would suggest to align them as follows:

a) Use feature poms to group the dependencies that goes into a shade jar
b) Use mavne shade plugin to generate the shaded jar for a given feature
c) Make the aggregated jars available in maven repo and a separate folder under 
the distro

[1] 
http://www.sonatype.com/books/mvnref-book/reference/pom-relationships-sect-pom-best-practice.html#pom-relationships-sect-grouping-deps

Thanks,
Raymond
________________________________________________________________ 
Raymond Feng
rf...@apache.org
Apache Tuscany PMC member and committer: tuscany.apache.org
Co-author of Tuscany SCA In Action book: www.tuscanyinaction.com
Personal Web Site: www.enjoyjava.com
________________________________________________________________

On Sep 9, 2010, at 3:34 AM, Simon Laws (JIRA) wrote:

> Review/consolidate 2.x distribution structure
> ---------------------------------------------
> 
>                 Key: TUSCANY-3674
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-3674
>             Project: Tuscany
>          Issue Type: Improvement
>          Components: Java SCA Core Runtime
>    Affects Versions: Java-SCA-2.0-M5
>         Environment: All
>            Reporter: Simon Laws
> 
> 
> We currently have a number of mechanisms for packaging distributed artifacts. 
> Primarily:
> 
> - Modules are grouped together into features 
> (http://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk/features/)
> - Modules are grouped together into shaded jars 
> (http://svn.apache.org/repos/asf/tuscany/sca-java-2.x/trunk/shades/)
> 
> It's not clear why these grouped functions have to be specified in different 
> pom.xml files in different places in the code base. 
> 
> Also the resulting 2.x distributions have both a features directory (from the 
> features) and a lib director (containing jars from the shades directory) 
> alongside the modules directory. This is at best confusing. 
> 
> -- 
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
> 

Reply via email to