Hi Anthony

Yes, the packages are well separated, but that still leaves a single
source directory producing 5 distinct artefacts.

In any case, it looks like I can achieve most of what I want by doing
"Producing Multiple Unique JARs from a Single Source Directory" from:
http://maven.apache.org/guides/mini/guide-using-one-source-directory.html

cheers

On Mar 31, 7:37 pm, Anthony Baxter <[email protected]> wrote:
> I'm not sure it's as build a problem as you think - right now, all the
> example code lives under
> examples/fedone - under that, there's a couple of pretty clearly
> defined directories:
>
> agents/agent     -- all three depend on waveclient/common right now
> agents/echoey
> agents/probey
>
> common/  -- some common code - this might be better out of
> examples/fedone, not sure right now
> model/util  -- pretty sure this can go away in a bit
> rpc/ -- the fedone client/server protocol
> util/ -- more random bits
> waveclient/common -- client library
> waveclient/console -- text based console
>
> I'm not sure what splitting up into different top level directories buys us.
>
> Anthony
>
>
>
>
>
> On Wed, Mar 31, 2010 at 15:36, Steve Baker <[email protected]> wrote:
> > Currently we have a src/ directory which contains the source used to
> > build 5 different jar artifacts:
> > - a core api with zero external dependencies
> > - an example server with a large number of external dependencies
> > (including the core api)
> > - 3 example clients with a handful of external dependencies (including
> > the core api)
>
> > This makes it quite hard to keep track of class dependencies within
> > the source tree, and also makes it hard to package the right
> > dependencies with the artifacts.
>
> > I'd like to suggest that the src/ directory be split up into different
> > directories. I'm happy to update the build files and write a script
> > which does the mercurial renames as long as there is some agreement
> > that the split is needed.
>
> > I'm hoping that the mercurial renames will prevent a flag-day of
> > brokenness for people with unmerged changes.
>
> > My own personal motivation for the split is to compliment the current
> > ant build files with an optimal Maven build. Maven embraces
> > configuration by convention, and considers producing multiple
> > artifacts from a single src/ directory so distasteful that it goes out
> > of its way to make it difficult ;)
>
> > If we stuck 100% with maven conventions then we would end up with a
> > directory structure something like the following:
> > fedone-api/src/main/java
> > fedone-api/src/main/proto  // this is the current proto_src directory
> > fedone-api/src/main/resources
> > fedone-api/src/test/java
> > fedone-server/src/main/java
> > fedone-server/src/test/java
> > fedone-client-common/src/main/java // this contains common code shared
> > by the clients
> > fedone-client-console/src/main/java
> > fedone-agent-echoey/src/main/java
> > fedone-agent-probey/src/main/java
>
> > Or departing from Maven conventions to get something more simple:
> > fedone-api/src
> > fedone-api/proto_src
> > fedone-api/test
> > fedone-server/src
> > fedone-server/test
> > fedone-client-common/src // this contains common code shared by the
> > clients
> > fedone-client-console/src
> > fedone-agent-echoey/src
> > fedone-agent-probey/src
>
> > As the code gets more complex and gains more dependencies its only
> > going to get harder to do this in the future.
>
> > Let me know what you think.
>
> > cheers
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "Wave Protocol" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/wave-protocol?hl=en.
>
> --
> Anthony Baxter, [email protected]

-- 
You received this message because you are subscribed to the Google Groups "Wave 
Protocol" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/wave-protocol?hl=en.

Reply via email to