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


Reply via email to