are you suggesting we should use Maven?

On Wed, Mar 31, 2010 at 9:00 PM, Steve Baker <[email protected]>wrote:

> 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]<wave-protocol%[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]<wave-protocol%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/wave-protocol?hl=en.
>
>

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