[stringtemplate-interest] [ST4 Beta-4] Retrieving version information

Terence Parr parrt at cs.usfca.edu
Sat Feb 12 11:25:45 PST 2011


didn't seem to work.

        public final static String VERSION = "@version@";

in src zip.

Ter
On Feb 12, 2011, at 2:27 AM, Oliver Zeigermann wrote:

> Using ant that is fairly easy. I attached a patch for the ant build
> file that replaces every @version@ inside the source with the version
> information from build.properties (no idea if this is the best
> solution, though).
> 
> E.g. adding
> 
>    public final static String VERSION = "@version@";
> 
> to ST.java
> 
> would result to
> 
>    public final static String VERSION = "4.0b4";
> 
> in the compiled classes.
> 
> Hope that helps
> 
> - Oliver
> 
> 2011/2/11 Udo Borkowski <ub at abego-software.de>:
>> Hi Ter,
>> 
>> I agree this will only work if the version information (text and/or boolean flag) is really in sync with the version control system (i.e. requires automated solution). Not sure how hard this is to implement.
>> 
>> Regarding the test for the version: I haven't thought of this yet, but it would definitely be useful.
>> 
>> Udo
>> 
>> On 11.02.2011, at 00:55, Terence Parr wrote:
>> 
>>> Hi Udo,
>>> 
>>> Seems like the more common use case would be to test the version number and do something different to  avoidable or use a feature only if a particular version is available. but we can't test values in the template so it would have to be a Boolean set  for the various versions; might be hard to add one for every random version we make.
>>> 
>>> <if(v4_0b1)>...<endif>
>>> 
>>> Hmm... also I would have to figure out how to make ANT alter my software automatically to include the right version string; it would have to know about perforce version control and so on. setting this by hand would be a problem as it would get out of sync.
>>> 
>>> Ter
>>> On Feb 7, 2011, at 6:25 AM, Udo Borkowski wrote:
>>> 
>>>> Hi,
>>>> 
>>>> what about providing "version information" to be used in a template?
>>>> 
>>>> I got this idea because I was using an older version of the engine (Beta3 instead of Beta4) without noticing.
>>>> 
>>>> 
>>>> One could then use this information e.g. to include a text like
>>>> 
>>>>      "(Rendered with StringTemplate 4.0 Beta-4)"
>>>> 
>>>> into generated web pages etc.
>>>> 
>>>> 
>>>> One way to achieve this without adding "build-in" attributes etc. could be extending the class ST.
>>>> 
>>>> E.g. add the following method to the class ST:
>>>> 
>>>> 
>>>>      public String getVersionText() {
>>>>              return "StringTemplate 4.0 Beta-4";
>>>>      }
>>>> 
>>>> 
>>>> Then one could use
>>>> 
>>>>              (Rendered with <{ }.versionText>)
>>>> 
>>>> in a template to render
>>>> 
>>>>              (Rendered with StringTemplate 4.0 Beta-4)
>>>> 
>>>> 
>>>> Udo
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> stringtemplate-interest mailing list
>>>> stringtemplate-interest at antlr.org
>>>> http://www.antlr.org/mailman/listinfo/stringtemplate-interest
>>> 
>>> _______________________________________________
>>> stringtemplate-interest mailing list
>>> stringtemplate-interest at antlr.org
>>> http://www.antlr.org/mailman/listinfo/stringtemplate-interest
>> 
>> _______________________________________________
>> stringtemplate-interest mailing list
>> stringtemplate-interest at antlr.org
>> http://www.antlr.org/mailman/listinfo/stringtemplate-interest
>> 
> <build.xml.patch>_______________________________________________
> stringtemplate-interest mailing list
> stringtemplate-interest at antlr.org
> http://www.antlr.org/mailman/listinfo/stringtemplate-interest



More information about the stringtemplate-interest mailing list