As an fyi to where this is up to there is a compact distribution at [1] now
which does what was described in this thread. So I'd now like to try to see
if we can come up with a single Tuscany distribution that everyone could be
happy with as it would make things much simpler if there is one main
distribution.

One thing i think is an improvement is instead of having all the jars in a
single lib folder to have the lib folder include sub directories for the
various extensions as that makes it much more obvious what jars are required
for what function, and it makes much easier to remove jars if you don't want
some function. For example:

lib/
   tuscany core modules and their dependencies like asm and cglib
lib/webservices
 tuscany webservices modules and their dependencies like axis2
lib/bpel
 tuscany bpel modules and their dependencies ode
lib/standalone
 tuscany standalone runtime modules and dependencies like jetty
lib/jdk5
 the dependency jars needed when using JDK5 not JDK6, like stax, jaxb etc
lib/...folders for all the other extensions

So instead of having lots of distributions which you can download
individually to build up a custom install you have a single distribution
that you can remove stuff from to make a custom install.

Any comments on that approach?

   ...ant

[1]
https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/distribution/compact/

On Mon, Dec 29, 2008 at 2:33 PM, ant elder <[email protected]> wrote:

> I'm going to start trying to do this now, any comments, suggests and help
> welcome as it progresses. For now think i'll use the 1.x branch as that will
> be easier to show the different extensions.
>
>    ...ant
>
>
> On Fri, Dec 12, 2008 at 11:27 AM, ant elder <[email protected]> wrote:
>
>> Yes right now the compact distribution uses JSE 1.6 and it just supports
>> the equivalent of the current core distribution (plus some initial webapp
>> support).
>>
>> What i had in mind for this is to make something small and simple that
>> makes it easy to start out trying Tuscany. It doesn't have to support the
>> complete range of features in 2.0, for that you'd need the other
>> distributions, so just pick a subset of Tuscany functionality and extensions
>> - the popular things highlighted from the user survey. If there was going to
>> be just the one distribution in 2.0 this might be making things more
>> complicated but as it looks like there is going to be lots (9?) one more
>> distribution wont add much complexity.
>>
>> It would included a minimum of jars, they'd be laid out so its easy to see
>> which jars are required for each bit of function, and where possible jars
>> would be aggregated so there are only a very small number of them. There'd
>> also only be a minimum of samples included, just enough to show each high
>> level bit of functionality, with pointers to the website and samples
>> included in other distributions for more comprehensive coverage.
>>
>> I think this is worth trying now anyway, we could see how it pans out as
>> 2.0 progresses?
>>
>>   ...ant
>>
>>
>> On Fri, Dec 12, 2008 at 6:07 AM, Raymond Feng <[email protected]>
>> wrote:
>> > Hi,
>> >
>> > What features can be supported by the "compact" distro? Does the
>> "compact"
>> > require JSE 1.6? We can probably include 3 distributions in M1:
>> >
>> > minimum (compact)
>> > core: implementation.java + binding.sca (local)
>> > webservice: core + binding.ws
>> >
>> > Thanks,
>> > Raymond
>> > From: ant elder
>> > Sent: Thursday, December 11, 2008 12:06 AM
>> > To: [email protected]
>> > Subject: Re: [2.0] Align samples with the distributions
>> >
>> >
>> > On Wed, Dec 10, 2008 at 9:52 PM, Raymond Feng <[email protected]>
>> wrote:
>> >>
>> >> Hi,
>> >>
>> >> It has always been a pain to run the ANT scripts against the samples
>> >> manually at the last moment for releases. We often see inconsistent
>> >> behaviors depending on whether a sample is run against the distribution
>> or
>> >> the maven dependencies.  One of the culprits is that the ANT script
>> sets the
>> >> classpath on the distribution while the maven build sets the classpath
>> based
>> >> on the maven dependencies.
>> >>
>> >> In the 2.x stream, we now have opportunities to solve this problem:
>> >>
>> >> 1) Instead of just an all-in-one package, we now have a set of
>> >> distributions to include selected Tuscany modules and 3rd-party jars
>> based
>> >> on the functions. The pom.xml for each distribution well defines the
>> >> dependencies.
>> >> 2) Building the distributions is much faster than before (only a 1-2
>> >> minutes on my laptop).
>> >> 3) Meanwhile, we would like to run the samples under both JSE and OSGi.
>> >> OSGi typically requires a distribution on the file system that is
>> compatible
>> >> with the bundle structure.
>> >>
>> >> I suggest that we better align the samples with a selected distribution
>> >> and automate the testing under JSE and OSGi with Maven and Ant. We can
>> do
>> >> the following:
>> >>
>> >> 1) Simply the maven dependency in the pom.xml for samples to only
>> declare
>> >> a distribution, for example,
>> >>
>> >>       <dependency>
>> >>           <groupId>org.apache.tuscany.sca</groupId>
>> >>           <artifactId>tuscany-distribution-core</artifactId>
>> >>           <type>pom</type>
>> >>           <version>2.0-SNAPSHOT</version>
>> >>       </dependency>
>> >>
>> >> 2) Modify the build.xml to use Node (Standalone and Equinox) launchers
>> to
>> >> run the samples. And explore the "junit" Ant task to run test cases in
>> the
>> >> Ant build
>> >>
>> >> 3) Automate the post-distribution build to run the test cases in the
>> >> samples to make sure the samples are validated as part of the build.
>> >>
>> >> Thoughts? Are any of you interested in experimenting?
>> >>
>> >> Thanks,
>> >> Raymond
>> >>
>> >>
>> >
>> > We also now have the "compact" distribution which fixes these same
>> problems,
>> > is even easier to use, and is also fast to build (<20 secs on my
>> laptop). I
>> > think its worth including this as a released distribution option and
>> used by
>> > some samples.
>> >
>> >    ...ant
>> >
>> >
>>
>>
>

Reply via email to