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.

Reply via email to