reckart opened a new issue, #419:
URL: https://github.com/apache/uima-uimaj/issues/419

   **Describe the refactoring action**
   Move the Maven plugins to a separate repository and release cycle.
   
   **Expected benefit**
   Currently, we build the UIMA Maven plugins as part of the UIMA Java SDK. 
However, it is not possible in Maven to use a plugin in the same reactor it is 
built in. The best option we have currently is to hard-code an older version of 
the plugins into the build.
   It would probably be cleaner and clearer if the Maven plugins would reside 
in their own repository and had their own release cycle separate from the UIMA 
Java SDK.
   
   Here is how it currently manifests itself if we try to use the plugin built 
from the current reactor. In fact, it does not use it but tries to obtain it 
from the SNAPSHOT repo:
   
   ```
   [INFO] --- jcasgen:3.6.0-SNAPSHOT:generate (default) @ uimafit-core ---
   Warning:  The POM for 
org.apache.uima:jcasgen-maven-plugin:jar:3.6.0-20241118.151434-44 is invalid, 
transitive dependencies (if any) will not be available: 6 problems were 
encountered while building the effective model for 
org.apache.uima:jcasgen-maven-plugin:3.6.0-SNAPSHOT
   Error:  'dependencies.dependency.version' for 
org.sonatype.plexus:plexus-build-api:jar is missing. @ 
   Error:  'dependencies.dependency.version' for junit:junit:jar is missing. @ 
   Error:  'dependencies.dependency.version' for org.assertj:assertj-core:jar 
is missing. @ 
   Error:  'dependencies.dependency.version' for 
org.apache.maven:maven-compat:jar is missing. @ 
   Error:  'dependencies.dependency.version' for 
org.apache.maven.plugin-testing:maven-plugin-testing-harness:jar is missing. @ 
   Error:  'dependencies.dependency.version' for org.slf4j:slf4j-jdk14:jar is 
missing. @ 
   ```
   
   See also: 
https://stackoverflow.com/questions/17284553/maven-plugin-as-dependency-in-multi-module-project
   
   > I had a quick look at your project and found, that the "generator" plugin 
is part of the multimodule project and it is used (with the same version) 
within this project. This is not a legal use! You have to provide all required 
plugins from outside the reactor!
   > 
   > The reason for this is, that maven tries to fill the reactor and determine 
all required plugins beforehand. Then it starts the build. Maven cannot perform 
this, if the generator plugin is part of the project.
   
   The extra release cycle should not be too bad because we rarely change 
things that actually affect the plugins or the plugins themselves.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@uima.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to