Folks, I just published yesterday the sources for Launchify on bitbucket<https://bitbucket.org/ingenieux/launchify>. While still rushing to writing the docs (not really) and delivering in central (not really as well),
I think its worth of general scrutiny and discussion. It works this way: - You include a dependency in 'provided' scope, as it contains a class-level annotation which will not mess with reflection and stuff (see my example pom<https://bitbucket.org/ingenieux/launchify/src/db18abf6ca83/launchify-example/pom.xml> ) - You pick any class you want to turn into an executable, and place the annotation e.g. @LaunchifyAs("hello") on it (like this one<https://bitbucket.org/ingenieux/launchify/src/db18abf6ca83/launchify-example/src/main/java/br/com/ingenieux/launchify/App.java> ) - You run launchify (currently, mvn br.com.ingenieux.launchify:launchify-maven-plugin:0.0.1-SNAPSHOT:create-local-stubs), and make sure you have launch4j <http://launch4j.sourceforge.net/> in your PATH somewhere Launchify will create descriptors and invoke launch4j, creating binary stubs into target/test-classes. The vision being: To be simple and enable quick delivery of small apps for local usage, not for distribution like some other plugins... Those files generated, you can simply move and install anywhere else, and there is a service interface: Launch4j is a prime example, but I envisioned that others could write plugins for launchify to switch to a different SPI. Like, Init Scripts / Upstart Jobs and Windows Services, for example. On the other way, the generated descriptors keep all the references. Modified a class in your project? Run again, it will reflect. So, if you want to create easily CLI versions of your favorite tools to use locally, and not wanting to mess with writing .sh/.bat/.cmd/whatever files, give it a look. I'm looking for testers :) Thank you -- -- Aldrin Leal, <[email protected]> / http://meadiciona.com/aldrinleal
