The plugin has to implement one of incremental build APIs for this to
work. There are currently three: the legacy BuildContext (provided by
org.sonatype.plexus:plexus-build-api), and couple of separate APIs
provided by takari incrementalbuild [1] project. Personally I think
@Builder annotation-based API [2] is the most promising, but it's also
the most recent one still has some teething problems.
[1] https://github.com/takari/io.takari.incrementalbuild
[2]
https://github.com/takari/io.takari.incrementalbuild/blob/master/DOCUMENTATION.md
--
Regards,
Igor
On Thu, Jan 4, 2018, at 1:40 PM, Ben Emery-Honzal wrote:
> Hello,
>
> I’m trying to invoke my custom plugin “i18nMessageCompiler” whenever a
> properties file in the src/main/resources directory changes (e.g. when
> a new property is added). How do I configure the pom.xml or m2e to
> invoke the plugin whenever the properties file changes?>
> In the lifecycle-mapping, I configured the plugin to run on
> incremental build. One issue might be that Eclipse does not trigger an
> incremental build when files in src/main/resources change. However,
> even if I change a Java class in src/main/java (which should invoke an
> incremental build), the i18nMessageCompiler plugin execution does not
> get invoked.>
> Only a full project rebuild via Eclipse’s > Project > Clean (with
> “Start a build immediately” checked) will invoke the plugin execution.>
>
> Excerpt from the project’s pom.xml:
>
> <build>
> <finalName>rts</finalName>
> <plugins>
>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-war-plugin</artifactId>
> <version>2.3</version>
> <configuration>
> <warSourceExcludes>node_modules/**</warSourceExcludes>
> </configuration>
> </plugin>
>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-compiler-plugin</artifactId>
> <version>3.1</version>
> <configuration>
> <source>1.8</source>
> <target>1.8</target>
> </configuration>
> </plugin>
>
> <plugin>
> <groupId>com.rfxcel.rts</groupId>
> <artifactId>i18nMessageCompiler</artifactId>
> <version>1.0.0</version>
> <configuration>
> <fullyQualifiedClassName>com.rfxcel.rts.ui.messages.Messa-
> geIds</fullyQualifiedClassName>>
> <propertiesFileName>messages.properties</propertiesFileNa-
> me>>
> <messageIdFormat>RTSUI\d{5}(I|W|E)</messageIdFormat>
> </configuration>
> <executions>
> <execution>
> <phase>generate-sources</phase>
> <goals>
> <goal>compileMessages</goal>
> </goals>
> </execution>
> </executions>
> </plugin>
> </plugins>
>
> <pluginManagement>
> <plugins>
> <!--This plugin's configuration is used to store Eclipse m2e
> settings only. It has no influence on the Maven build itself.--
> >> <plugin>
> <groupId>org.eclipse.m2e</groupId>
> <artifactId>lifecycle-mapping</artifactId>
> <version>1.0.0</version>
> <configuration>
> <lifecycleMappingMetadata>
> <pluginExecutions>
> <pluginExecution>
> <pluginExecutionFilter>
> <groupId>com.rfxcel.rts</groupId>
> <artifactId>i18nMessageCompiler</artifactI-
> d>>
> <versionRange>[1.0.0,)</versionRange>
> <goals>
> <goal>compileMessages</goal>
> </goals>
> </pluginExecutionFilter>
> <action>
> <execute>
> <runOnIncremental>true</runOnIncrementa-
> l>>
> <runOnConfiguration>true</runOnConfigur-
> ation>> </execute>
> </action>
> </pluginExecution>
> </pluginExecutions>
> </lifecycleMappingMetadata>
> </configuration>
> </plugin>
> </plugins>
> </pluginManagement>
> </build>
>
>
> Thank you,
>
> Ben Emery-Honzal
> _________________________________________________
> m2e-users mailing list
> [email protected]
> To change your delivery options, retrieve your password, or
> unsubscribe from this list, visit>
> https://dev.eclipse.org/mailman/listinfo/m2e-users
_______________________________________________
m2e-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/m2e-users