Any particular reason to not use an annotation processor? Especially as
GWT.create is deprecated?

On Thu, Nov 5, 2020 at 2:36 AM Joker Joker <rov63...@gmail.com> wrote:

> I want to share solution for gradle based project.
> This solution allows to get any build's properties on client/server.
>
> *1) Add to build.gradle*
> ...
> task createProperties(dependsOn: processResources) {
> doLast {
>  new
> File("$buildDir/resources/main/yourmodule/shared/IVersion.properties").withWriter
> { w ->
>   Properties p = new Properties()
>   p['version'] = project.version.toString()
>   p.store w, null
>  }
> }
> }
>
> classes {
>   dependsOn createProperties
> }
> ...
> *2) Add IVersion.java:*
>
> package yourmodule.shared;
> import com.google.gwt.i18n.client.Constants;
> public interface IVersion extends Constants {
>    String version();
> }
>
> *3) Add to your code*
> *...*
> public static final IVersion versionResource = GWT.create(IVersion.class);
> ...
> *4) Get version value on client side:*
> *...*
> versionResource.version();
> ...
> *5) Get version on server side:*
> *...*
> InputStream stream = this.getClass().getResourceAsStream(
> "/yourmodule/shared/IVersion.properties");
> InputStreamReader readerIs;
> try {
>   readerIs = new InputStreamReader(stream, "UTF-8");
>   messageInstance = new PropertyResourceBundle(readerIs);
>   messageInstance.getString("version");
> } catch (Exception e) {
>   e.printStackTrace();
> }
> *...*
>
> вторник, 13 марта 2018 г. в 13:12:30 UTC+4, Bruno Salmon:
>
>> Thanks Thomas, I'm using GWT 2.8.2 so I tried your first suggestion and
>> it works :-)
>>
>> I just declared the property in my gwt.xml module file:
>>
>> <define-configuration-property name="build.number" is_multi_valued="false"/>
>>
>>
>>  and set its value (with the maven property which is set by Jenkins) when
>> calling your plugin in the configuation section:
>>
>> <configuration>
>>     <compilerArgs>
>>         <compilerArg>-setProperty</compilerArg>
>>         <compilerArg>build.number=${build.number}</compilerArg>
>>     </compilerArgs>
>> </configuration>
>>
>>
>> Then System.getProperty("build.number") returns the expected value :-)
>>
>> Thank you
>>
>> On Monday, 12 March 2018 23:27:17 UTC+1, Thomas Broyer wrote:
>>>
>>> Easiest with recent GWT version would be to declare a
>>> <configuration-property>, get it using System.getProperty(), and set it
>>> with --property.
>>>
>>> With older versions, use Maven filtering on a properties file you use
>>> with a com.google.gwt.i18n.client.Constants; or have a look at Mojo's Java
>>> template plugin.
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to google-web-toolkit+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/google-web-toolkit/aa760b0f-d641-4741-bb50-d58fb5585499n%40googlegroups.com
> <https://groups.google.com/d/msgid/google-web-toolkit/aa760b0f-d641-4741-bb50-d58fb5585499n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/CAFHWzty%2BkAFxBiL3g08fBx%3DCbr0eRKYBcoLGSGncPOWAeai2rA%40mail.gmail.com.

Reply via email to