[stringtemplate-interest] [ST4 Beta-4] Retrieving version information
Oliver Zeigermann
oliver.zeigermann at gmail.com
Sat Feb 12 02:27:20 PST 2011
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
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build.xml.patch
Type: application/octet-stream
Size: 849 bytes
Desc: not available
Url : http://www.antlr.org/pipermail/stringtemplate-interest/attachments/20110212/43bc8c0e/attachment.obj
More information about the stringtemplate-interest
mailing list