BTW I'd like to have a better tooling javascript.
An idea (after chat with @builddoctor), I'm thinking about
dependencyMngt around js/css files. (yes because some
enterprise/applications cannot rely on js/css available tru cdn)
sample:
<dependency>
<groupId>org.jquery</groupdId>
<artifactId>jquey</artifactId>
<version>1.7</version>
<type>js</type>
<classifier>min</classifier>
</dependency>
And having some special filtering stuff for html/js/etc... files
<script type="text/javascript"
src="${jsDependency:org.jquery:jquery:min}"></script>
will be transform to
<script type="text/javascript" src="js/jquery-1.7-min.js"></script>
<script type="text/javascript" src="${jsDependency:org.jquery:jquery}"></script>
<script type="text/javascript" src="js/jquery-1.7.js"></script>
the js/ should be configurable ie. the path where js deps are packaged
in the application
an other sample for require js
require(["order!${jsDependency:org.jquery:jquery}"],
etc...
Yes because IMHO currently dependency management is hackhish for
javascript applications.
And need to be improve as javascript tend to be the new "à la mode" language :-)
2011/11/22 Olivier Lamy <[email protected]>:
> Hello,
> Good plan.
> Perso I don't like a lot the version naming -deprecated (sounds weird
> to me about releasing something with the deprecated name :-) )
> I would prefer 1.0 (and a branch for) and bump trunk to 2.0
>
> 2011/11/22 Christopher Hunt <[email protected]>:
>> 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
>>
>>
>>
>
>
>
> --
> Olivier Lamy
> Talend: http://coders.talend.com
> http://twitter.com/olamy | http://linkedin.com/in/olamy
>
--
Olivier Lamy
Talend: http://coders.talend.com
http://twitter.com/olamy | http://linkedin.com/in/olamy
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email