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 at http://groups.google.com/group/wave-protocol?hl=en.
