incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Connolly <>
Subject Re: [ANN] JSZip Maven Plugin 0.1-alpha-1 released
Date Fri, 01 Jun 2012 09:15:14 GMT

On 1 June 2012 10:13, Stephen Connolly <> wrote:
> Hi everyone,
> So I have been working on my view of what JavaScript based web
> application development should be like with Maven, to that end I have
> created the JSZip set of projects. The first semi-ready piece of work
> from that set of projects is the JSZip Maven Plugin.
> This is very early code, but it works... I just cannot and will not
> promise that the exact way it works in 0.1-alpha-1 will be the same as
> in 1.0 when I get to 1.0... however, the *functionality* should remain
> the same.
> The key differentiator of the JSZip Maven plugin is multi-module live
> development... i.e.
> 1. You start with a multi-module project with multiple java and
> javascript modules and a webapp.
> 2. At the root aggregator project, you start maven like so: mvn jszip:run
> 3. At the first cut this looks like jetty:run, except that it skips
> execution on modules which are not of packaging=war, so you can run at
> the aggregator root.
> 4. You fire up a browser and start testing your app
> 5. You find a problem, in your editor, fix the JavaScript file (it's
> in a different module from the war module) and save it
> 6. *First difference from jetty:run* Just hit reload in your browser
> [Note: no need for ^C, mvn clean install -DskipTests && mvn jetty:run
> -f webapp/pom.xml]
> 7. Oh dear you need a change to the backing java class (it's in a
> different module from the war module), make the change,
> 8. *Second difference from jetty:run* Tell your IDE to recompile the
> class, servlet restarts automatically [Note: no need for ^C, mvn clean
> install -DskipTests && mvn jetty:run -f webapp/pom.xml]
> 9. Oh dear, you know what I need to add a dependency to finish coding
> that java method
> 10. *Third difference from jetty:run* Add the dependency to the
> pom.xml, edit the java method using the new dependency, tell your IDE
> to compile the java class, dependency is downloaded automatically and
> added to the classpath and the servlet is restarted automatically.
> [Note: no need for ^C, mvn clean install -DskipTests && mvn jetty:run
> -f webapp/pom.xml]
> The dependencies can even come from the reactor *providing the reactor
> build order is maintained*. If the reactor build order is modified, we
> have to stop the process as there is only so much dynamic that can be
> supported.
> The next steps are:
> 1. Refactor the pile of hacks into something that can be:
>    * used by others (i.e. let jetty:run and tomcat:run benefit from my tricks)
>    * maintainable by me and others
> 2. Figure out the best way to handle modular javascript with Maven now
> that this plugin delivers a live-development experience
> This release is aimed at providing something that will enable others
> to help with the above two goals.
> Note: bugs, their reporting and fixing are going to be ignored until
> after steps 1&2 have been solved.
> Note 2: The intention is that at least the JSZip Maven Plugin and and
> shared components will be moved into the ASF incubator once the rough
> edges have been knocked off and a community has been built. Some
> components will necessarily have to remain outside, such as community
> packaging of GPL licensed JavaScript libraries where the maintainers
> of the JavaScript library are not interested in producing a JSZip
> module packaging of their library.
> Please join us at
> and/or
> Thanks
> -Stephen

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message