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.
