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.
