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 >> > >> > >> >> >
