/stringtemplate4

Primary LanguageJavaOtherNOASSERTION

StringTemplate 4.0.3
June 21, 2011

Terence Parr, parrt at cs usfca edu
ANTLR project lead and supreme dictator for life
University of San Francisco

ST (StringTemplate) is a java template engine (with ports for C#,
Python, and Objective-C coming) for generating source code, web pages,
emails, or any other formatted text output. ST is particularly good at
multi-targeted code generators, multiple site skins, and
internationalization / localization. It evolved over years of effort
developing jGuru.com and then ANTLR v3. The main website is:

  http://www.stringtemplate.org

Its distinguishing characteristic is that it strictly enforces
model-view separation, unlike other engines. See:

  http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf

The documentation is in the wiki:

  http://www.antlr.org/wiki/display/ST4/StringTemplate+4+Documentation

Per the BSD license in LICENSE.txt, this software is not guaranteed to
work and might even destroy all life on this planet.

See the CHANGES.txt file.

INSTALLATION

All you need to do is get the StringTemplate jar into your CLASSPATH
as well as its dependent ANTLR jar. Download the following and put
into your favorite lib directory such as /usr/local/lib on UNIX:

  * antlr-complete.jar; http://www.antlr.org/download/antlr-3.3-complete.jar
  * ST.jar; see http://www.stringtemplate.org/download/ST-4.0.3.jar

Add to your CLASSPATH. On UNIX that looks like

$ export CLASSPATH="/usr/local/lib/antlr-3.3-complete.jar:/usr/local/lib/ST-4.0.3.jar:$CLASSPATH"

Java will now see all the libraries necessary to execute ST stuff.

BUILDING FROM SOURCE

If you would like to make changes to ST and build it yourself, just
run "ant" from the main directory. This assumes that you have the
antlr3 ant task set up so first take a look at:

http://www.antlr.org/wiki/display/ANTLR3/How+to+use+ant+with+ANTLR3

Then, once you're set up with the ant task, go for it. Looks like this:

$ cd /usr/local/ST-4.0.3
$ ant
Buildfile: /usr/local/website/st/depot/ST4/java/main/build.xml

clean:
   [delete] Deleting directory /usr/local/website/st/depot/ST4/java/main/build
   [delete] Deleting directory /usr/local/website/st/depot/ST4/java/main/dist

init:
    [mkdir] Created dir: /usr/local/website/st/depot/ST4/java/main/build/gen/org/stringtemplate/v4/compiler

antlr:

compile:
    [mkdir] Created dir: /usr/local/website/st/depot/ST4/java/main/build/classes
    [mkdir] Created dir: /usr/local/website/st/depot/ST4/java/main/build/src
     [copy] Copying 89 files to /usr/local/website/st/depot/ST4/java/main/build/src
    [javac] Compiling 57 source files to /usr/local/website/st/depot/ST4/java/main/build/classes
    [javac] Note: /usr/local/website/st/depot/ST4/java/main/build/src/org/stringtemplate/v4/StringRenderer.java uses or overrides a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.

zip-source:
    [mkdir] Created dir: /usr/local/website/st/depot/ST4/java/main/dist/ST-4.0.3
    [mkdir] Created dir: /usr/local/website/st/depot/ST4/java/main/dist/ST-4.0.3/src
     [copy] Copying 53 files to /usr/local/website/st/depot/ST4/java/main/dist/ST-4.0.3/src
     [copy] Copying 4 files to /usr/local/website/st/depot/ST4/java/main/dist/ST-4.0.3
     [copy] Copying 1 file to /usr/local/website/st/depot/ST4/java/main/dist/ST-4.0.3/lib
      [zip] Building zip: /usr/local/website/st/depot/ST4/java/main/dist/ST-4.0.3-src.zip

build-jar:
      [jar] Building jar: /usr/local/website/st/depot/ST4/java/main/dist/ST-4.0.3.jar

distribute:

BUILD SUCCESSFUL
Total time: 14 seconds

DAILY BUILDS

For the latest build, check out:

http://www.stringtemplate.org/depot/ST4/java/main/dist

It has both the source and the binary Java jar.