FYI, some of this can be achieved once we re-organize modules, so that each tree of modules represents related modules that need to be built together.  Then a set of mvn commands can build parts faster... for example, if all ActiveMQ related modules were in a top-level components/activemq module, then one might be able to:

    mvn -f components/activemq/pom.xml
    mvn -f assemblies/pom.xml

If dependencies are organized correctly then, this should update all activemq related modules for the server.

But to do more optimizations may be much more work, as it requires fixing all of the maven plugins, and maybe even some of maven to skip steps when they are deemed up to date.

--jason


On Nov 6, 2006, at 2:33 AM, Vamsavardhana Reddy wrote:

Testing code changes in G was and still is a painfully long process.  Testing changes to admin console is ok(?) to some extent.  I use Eclipse for development.  Some changes could be tested quickly while using remote debug, but, you can not be sure which ones and once the IDE complains "Hot code replacement failed" or you disconnect the debugger, the server needs to be built again.  Sometimes a build will fail since Eclipse knocks-out xml-beans classes and at this stage the only option is to do a rebuild.  We should also consider some improvements to the build process so that the module that is modified can be specified as a parameter to the build command and it will build only those modules/configs that need to be built for the changes to get reflected in the server.  IMHO, any improvement in this aspect of G (to be able to test changes quickly) will have a dramatic improvement in the productivity of G Developers.

--vamsi

On 11/3/06, Sachin Patel <[EMAIL PROTECTED]> wrote:
So since I've been working on Geronimo, one of the most annoying things developing Geronimo in an IDE is the overhead involved between modifing code and being able to test the code.  For a single line change you have to rebuild and install the module, rebuild the assembly, and re-extract and relaunch the server image.  This is needed since Geronimo loads classes from the server repository and currently cannot from the local m2 repo or from the "target/classes" directory itself.

Well to ease the developer experience I think we need to change that.  As a first step, I'd like to see if we can hook into geronimo a "developers module" that the repository code can delegate over to to load from the m2 repo.  That itself would be an improvement and developers could simply rebuild the module without having to regen a new assembly.  A step beyond that would be the ability to treat the source tree as a repo, and geronimo load directly from target/classes, this is tricker since the modules in the source tree don't follow a groupId/artifact/version/type convention so some sort of intelligent mapping would have to be done.  In theory, this would give us the ability to simply compile a module (with an IDE compiler and not maven) and simply re-start the server.

Would this be an effort that would be valuable to the community?

If so, if there are suggestions on how to go about implementing either the first or second solution, please give your input.

thx
 
-sachin




Reply via email to