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 [email protected] 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. >
