Return-Path: X-Original-To: apmail-maven-users-archive@www.apache.org Delivered-To: apmail-maven-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B77999ED8 for ; Fri, 1 Jun 2012 09:14:35 +0000 (UTC) Received: (qmail 48497 invoked by uid 500); 1 Jun 2012 09:14:33 -0000 Delivered-To: apmail-maven-users-archive@maven.apache.org Received: (qmail 47136 invoked by uid 500); 1 Jun 2012 09:14:27 -0000 Mailing-List: contact users-help@maven.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Maven Users List" Reply-To: "Maven Users List" Delivered-To: mailing list users@maven.apache.org Received: (qmail 47087 invoked by uid 99); 1 Jun 2012 09:14:25 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Jun 2012 09:14:25 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of stephen.alan.connolly@gmail.com designates 74.125.82.171 as permitted sender) Received: from [74.125.82.171] (HELO mail-we0-f171.google.com) (74.125.82.171) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Jun 2012 09:14:18 +0000 Received: by wejx9 with SMTP id x9so1507231wej.30 for ; Fri, 01 Jun 2012 02:13:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=YCbPMq4Ey3t2dAArqZG6K2s+BaLY3k4X3rOdcFdQJ58=; b=LR9ZLXe07xNyDu7D61M0QUdzATtHC9p/RFwKpEGWwbdxNX0wl+juurqMyreSAuI5pt RwTHbVAzGq1qhq71d1GMLJCdcSGRjfiZACoNOl6lJLaUauqHhB8wly27fqQP09OSCN8h FlkUHXWGaSCiDbBHpvQ989QrDE6xHUFmSoBQyHBGaFYVMuty+Z3YlDHtMAp/D0k+u97g 1uA/FPp/zQ71pYTgr45XSdcTQcZVQdxUDod5hsWvZYdYtkfIs+U5y2lo888IV/lu8pqI Eg1l+v7Q3JMuhJsDN50r5tV40lWR+3WbL/oI4aP3WERG9v5zm7ESY3QKJHN4hOuqZS6v saTg== MIME-Version: 1.0 Received: by 10.216.141.74 with SMTP id f52mr1678321wej.103.1338542038710; Fri, 01 Jun 2012 02:13:58 -0700 (PDT) Received: by 10.216.164.66 with HTTP; Fri, 1 Jun 2012 02:13:58 -0700 (PDT) Date: Fri, 1 Jun 2012 10:13:58 +0100 Message-ID: Subject: [ANN] JSZip Maven Plugin 0.1-alpha-1 released From: Stephen Connolly To: jszip-users@googlegroups.com, jszip-dev@googlegroups.com, user@mojo.codehaus.org, Maven Users List , general@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 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 jszip-users@googlegroups.com and/or jszip-dev@googlegroups.com Thanks -Stephen --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@maven.apache.org For additional commands, e-mail: users-help@maven.apache.org