|
One-JAR AppgenCaution -- Advanced Topic Ahead: this information is not required to use the Appgen capability.The One-JAR Application Generator (one-jar-appgen) creates a fully-functional One-JAR Eclipse/Ant project, based on the structure of a template project. This is similar in nature to the way that Grails lets you build projects using code-generators that can be customized by changing template documents. The default project template is contained inside the
The key elements of this template are:
path/test in a package called foo.bar ,
$project$ will expand to test , and $package$ will expand to foo.bar . The output files
will be written under path .
The template build.xml file starts out as: <?xml version="1.0" encoding="UTF-8"?> <project name="one-jar-$project$" basedir="." default="build">and is transformed to: <?xml version="1.0" encoding="UTF-8"?> <project name="one-jar-test" basedir="." default="build">etc. The end result is a new project which builds two One-JAR archives:
com.simontuffs.onejar.test.Testable , which can be used by the $package$.test.$project$Suite
class to run a JUnit test suite. This is demonstrated by the junit.$project$ target in the build.xml file.
Roll Your Own Project Templateone-jar-appgen is extensible: if you supply your ownone-jar-$project$.jar as a third
argument to the program it will be used for template expansion instead of the built-in template.
The best way to roll-your-own template is to first extract and unpack the Once the appgen results are what you want, running with the extra third argument, you can repack
the Roll Your Own AppgenIf you need more information, unpack theone-jar-appgen jar file and look at the Appgen source code
which is under main.jar/src in the distribution. There is no significant magic there, but there is
some logic which might not be obvious surrounding camel-case and conversion of '-' to '_' in various
places that you might wish to modify as you "roll-your-own appgen" too.
|
|
![]() |
![]() |
![]() |