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

Reply via email to