@alfranke - I took a look at the WAR project, and while interesting, I don’t think it would be utilized the way you might expect. AchillesWeb, for example, having no Java server-side dependencies you might expect that you would be able to run it right from the unzipped folder. However, the resources it accesses must be served from an HTTP host, and I imagine that most/all of our apps will have this constraint. Additionally, I don’t see our apps serving as dependencies for anything else, however there may be components that exist in multiple apps that would be considered a dependency, but only in cases where we standardize on the client stack (eg: a knockout component i don’t think will be accessable in an angular controller context).
Also, I have pulled a lot of java script libraries (jquery, d3, sammy, knockout, etc) and none of those involve war packaging or maven scripts to bundle their scripts. I like the idea of being consistent but to e consistent for consistency’s sake? Let’s pick the right tools for the job. I fully agree that as our service layer is predominantly java (even with R, most likely go through a java-codepath before invoking the R routine), and maven offers specific advantages that we can use (dependency management, wide IDE support, good online support). I don’t agree that it makes it the tool to use in all aspects of our development, tho. Could we get a set of maven actions implemented to package our client side apps and modules? yes. but what are the tools that are move commonly leveraged, that might have better client-specific capabilities that work more out of the box, and have a community behind it? Some links:
http://www.radcortez.com/javascript-package-management-npm-bower-grunt/
This one has some context:
An interesting passage:
Aside: Wro4j is probably not the tool of choice for hard-core front end developers - they would probably be using a node-based toolchain, with bower and/or grunt. These are definitely excellent tools, and covered in great detail all over the internet, so please feel free to use them if you prefer. If you just put the outputs from those toolchains in “src/main/resources/static” then it will all work. I find wro4j comfortable because I am not a hard-core front end developer and I know how to use Java-based tooling.
So, maven-based tooling may be comfortable to those in the Java stack, but even the author acknowledges that there are tools that are 1) widely covered in great detail all over the internet and 2) specifically geared towards front end development.
I think we have a strong framework for our service layer (java-based, maven, git, etc) that will work well, but let’s not push those decisions into another space that has potentially a different target audience.