Hi there fellow Codehaus committers. I'm preparing to call for a vote as I think it is high time for us to do something about the "Maven Javascript Tools" project (MJS)(15). I'd initially like to gauge community sentiment on the following proposal.
MJS was put into the sandbox back in 2008. HTML5/CSS/JS development is now becoming mainstream and we are in a great position to deliver a significant amount of tooling. I believe that a problem with MJS has been with it trying to encompass all of the goals you might need to perform in a JS build. This is contrary to how Java is handled by Maven plugins. In Java we have many plugins as opposed to the one umbrella plugin. There has been some conversation on this a while back (14). However I think that it is very useful to have a great starting point in terms of where the JS developer can go to. I think the starting point should be MJS. I propose that MJS becomes: * the placeholder of general documentation on Maven based JS development * a host for a new packaging MOJO * a host for common JS project archetypes ...and that's it.. no other MOJOs. The new packaging MOJO would do something like the following: 1. Declare the following dependencies: almond.js (1), js-testrunner (2), qunit (3) 2. Declare the following plugins and bind their goals: 2.1 JS Import (4) 2.2 JS Lint (5) 2.3 Compiler plugin (in support of tests) (6) 2.4 Webminifier (7) 2.5 Jetty (to support running during build cycle) (8) 2.6 Surefire (for testing) (9) 2.7 Site plugin (for documentation) (10) 2.8 JSTools (purely for JSDoc API doco) (11) 2.9 Install plugin (12) 3. Declare src/main/js and src/test/js to the resource plugin as additional resource folders 4. Attach .js and -min.js files to a project so that they can be installed and deployed. All of the above works now and is being used on projects that I've been working on over the past two years. JS Import and Webminifier are the only two projects that require a 1.0.0 release and both are already battle-hardened. We are going to branch MJS so you'll be able to see something concrete to compare the existing MJS to. If the community agrees then we can swap our branch with the trunk and make a "-deprecated" release of the existing project at the same time. The latter will support those who may have already have a dependency on MJS (13). Meanwhile please indicate your thoughts on this proposal. Kind regards, Christopher http://christopherhunt-software.blogspot.com/ (1) https://github.com/jrburke/almond (2) http://js-testrunner.codehaus.org/ (3) http://docs.jquery.com/QUnit (4) http://mojo.codehaus.org/js-import-plugin/ (5) http://mojo.codehaus.org/jslint-maven-plugin/index.html (6) http://maven.apache.org/plugins/maven-compiler-plugin/ (7) http://mojo.codehaus.org/webminifier-maven-plugin/ (8) http://www.eclipse.org/jetty/ (9) http://maven.apache.org/plugins/maven-surefire-plugin/ (10) http://maven.apache.org/plugins/maven-site-plugin/ (11) http://dev.abiss.gr/mvn-jstools/ (12) http://maven.apache.org/plugins/maven-install-plugin/ (13) http://jira.codehaus.org/browse/MJS-37 (14) http://jira.codehaus.org/browse/MJS-38 (15) http://mojo.codehaus.org/javascript-maven-tools/ --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email