You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Marshall Schor <ms...@schor.com> on 2013/07/03 21:05:07 UTC

need for special m2e setting in jcasgen-maven-plugin?

I'm cleaning up loose ends, in preparation for doing a uima-sdk release.

The current UIMA-wide parent-pom (v5) has an execution of the enforcer plugin to
check for a good level of Maven (3 or better) and Java (5 or better), so every
project is getting this by default as part of their build.  The UIMA-wide
parent-pom (v5) has no m2e lifecycleMappingMetadata specs for the enforcer
plugin, and it doesn't seem to be needed (no errors are reported in Eclipse).

The jcasgen-maven-plugin POM has a special m2e lifecycleMappingMetadata spec for
the enforcer plugin, which says to "ignore", but no local call on the enforcer
plugin.

I'd like to take out the m2e part of the jcasgen-maven-plugin POM, but wanted to
check to see if I'm missing something here; does anyone know why this m2e
lifecycleMappingMetadata spec was put into this POM in the first place?

-Marshall

Re: need for special m2e setting in jcasgen-maven-plugin?

Posted by Richard Eckart de Castilho <ri...@gmail.com>.
This message pops up in particular on projects that use the Sonatype OSS parent POM.
Probably this one is using a different mechanism to enforce minimum version, e.g.
using the enforcer plugin instead of using the "prerequisites" element in the POM.
With the Apache/UIMA parent POM, this m2e setting may not be necessary anymore.

-- Richard

Am 03.07.2013 um 21:13 schrieb Richard Eckart de Castilho <ri...@gmail.com>:

> I have various projects displaying this warning in Eclipse:
> 
> "maven-enforcer-plugin (goal "enforce") is ignored by m2e."
> 
> The m2e settings are probably there to remove this warning. I
> don't remember if I added them of if they have been there
> before.
> 
> -- Richard
> 
> Am 03.07.2013 um 21:05 schrieb Marshall Schor <ms...@schor.com>:
> 
>> I'm cleaning up loose ends, in preparation for doing a uima-sdk release.
>> 
>> The current UIMA-wide parent-pom (v5) has an execution of the enforcer plugin to
>> check for a good level of Maven (3 or better) and Java (5 or better), so every
>> project is getting this by default as part of their build.  The UIMA-wide
>> parent-pom (v5) has no m2e lifecycleMappingMetadata specs for the enforcer
>> plugin, and it doesn't seem to be needed (no errors are reported in Eclipse).
>> 
>> The jcasgen-maven-plugin POM has a special m2e lifecycleMappingMetadata spec for
>> the enforcer plugin, which says to "ignore", but no local call on the enforcer
>> plugin.
>> 
>> I'd like to take out the m2e part of the jcasgen-maven-plugin POM, but wanted to
>> check to see if I'm missing something here; does anyone know why this m2e
>> lifecycleMappingMetadata spec was put into this POM in the first place?
>> 
>> -Marshall
> 


Re: need for special m2e setting in jcasgen-maven-plugin?

Posted by Marshall Schor <ms...@schor.com>.
On 7/3/2013 4:40 PM, Richard Eckart de Castilho wrote:
> Since recently, I use m2e 1.4.0.20130601-0317.
>
> I assume this my warnings are not related to the m2e version
> (all post 1.0 versions should exhibit that), but rather to
> differences in version enforcement between the Sonatype OSS POM
> and the UIMA parent pom.
>
> Sonatype uses this plugin:
>
> <plugin>
>   <groupId>org.apache.maven.plugins</groupId>
>   <artifactId>maven-enforcer-plugin</artifactId>
>   <version>1.0</version>
>   <executions>
>     <execution>
>       <id>enforce-maven</id>
>       <goals>
>         <goal>enforce</goal>
>       </goals>
>       <configuration> 
>         <rules>
>           <requireMavenVersion>
>             <version>(,2.1.0),(2.1.0,2.2.0),(2.2.0,)</version>
>             <message>Maven 2.1.0 and 2.2.0 produce incorrect GPG signatures and checksums respectively.</message>
>           </requireMavenVersion>
>         </rules>
>       </configuration>
>     </execution>
>   </executions>
> </plugin>
>
> while UIMA uses this element:
>
> <prerequisites>
>   <!-- 2.2.0 is broken when deploying - checksums invalid -->
>   <!-- 2.2.1 doesn't work -->
>   <maven>3.0</maven>
> </prerequisites>
Actually, in addition to that, the recently released parent-pom (version 5) now
has this:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.0</version>
</requireMavenVersion>
<requireJavaVersion>
<version>1.5</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>

added under https://issues.apache.org/jira/browse/UIMA-2086 (because the
<prereq...> element doesn't actually enforce anything, as you probably know)

So- the possible difference here is the "version" of the plugin - we're using
1.2, while this other pom is using 1.0.

> The jcasgen-maven-plugin was using the Sonatype POM before being
> contributed to UIMA. I suppose the m2e settings for the enforcer 
> plugin have been there at contribution time and that I have not
> removed them, since I know these warnings. It didn't even occur
> to me that it may be unnecessary in the context of the UIMA build
> setup.
>
> Please remove the settings if you do not encounter any warnings.
> The warning I see a lot in UIMA maven modules is "Version is
> duplicate of parent pom". Nothing about the enforcer plugin though.

This warning (from m2e) can be turned off, in the Eclipse menu -> Windows ->
Preferences -> Maven -> Warnings page

-Marshall

Re: need for special m2e setting in jcasgen-maven-plugin?

Posted by Richard Eckart de Castilho <ri...@gmail.com>.
Since recently, I use m2e 1.4.0.20130601-0317.

I assume this my warnings are not related to the m2e version
(all post 1.0 versions should exhibit that), but rather to
differences in version enforcement between the Sonatype OSS POM
and the UIMA parent pom.

Sonatype uses this plugin:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-enforcer-plugin</artifactId>
  <version>1.0</version>
  <executions>
    <execution>
      <id>enforce-maven</id>
      <goals>
        <goal>enforce</goal>
      </goals>
      <configuration> 
        <rules>
          <requireMavenVersion>
            <version>(,2.1.0),(2.1.0,2.2.0),(2.2.0,)</version>
            <message>Maven 2.1.0 and 2.2.0 produce incorrect GPG signatures and checksums respectively.</message>
          </requireMavenVersion>
        </rules>
      </configuration>
    </execution>
  </executions>
</plugin>

while UIMA uses this element:

<prerequisites>
  <!-- 2.2.0 is broken when deploying - checksums invalid -->
  <!-- 2.2.1 doesn't work -->
  <maven>3.0</maven>
</prerequisites>

The jcasgen-maven-plugin was using the Sonatype POM before being
contributed to UIMA. I suppose the m2e settings for the enforcer 
plugin have been there at contribution time and that I have not
removed them, since I know these warnings. It didn't even occur
to me that it may be unnecessary in the context of the UIMA build
setup.

Please remove the settings if you do not encounter any warnings.
The warning I see a lot in UIMA maven modules is "Version is
duplicate of parent pom". Nothing about the enforcer plugin though.

-- Richard

Am 03.07.2013 um 22:27 schrieb Marshall Schor <ms...@schor.com>:

> Interesting.  What do you do to get this message?  I'd like to try and replicate
> this.
> 
> What level of m2e do you have installed in the Eclipse that is showing this
> issue, because older levels of m2e may not be as good as handling things like
> this.  I'm running 1.3.0.20130129-0926 which I got (some time ago) from
> http://www.eclipse.org/m2e/
> 
> -Marshall
> 
> On 7/3/2013 3:13 PM, Richard Eckart de Castilho wrote:
>> I have various projects displaying this warning in Eclipse:
>> 
>> "maven-enforcer-plugin (goal "enforce") is ignored by m2e."
>> 
>> The m2e settings are probably there to remove this warning. I
>> don't remember if I added them of if they have been there
>> before.
>> 
>> -- Richard
>> 
>> Am 03.07.2013 um 21:05 schrieb Marshall Schor <ms...@schor.com>:
>> 
>>> I'm cleaning up loose ends, in preparation for doing a uima-sdk release.
>>> 
>>> The current UIMA-wide parent-pom (v5) has an execution of the enforcer plugin to
>>> check for a good level of Maven (3 or better) and Java (5 or better), so every
>>> project is getting this by default as part of their build.  The UIMA-wide
>>> parent-pom (v5) has no m2e lifecycleMappingMetadata specs for the enforcer
>>> plugin, and it doesn't seem to be needed (no errors are reported in Eclipse).
>>> 
>>> The jcasgen-maven-plugin POM has a special m2e lifecycleMappingMetadata spec for
>>> the enforcer plugin, which says to "ignore", but no local call on the enforcer
>>> plugin.
>>> 
>>> I'd like to take out the m2e part of the jcasgen-maven-plugin POM, but wanted to
>>> check to see if I'm missing something here; does anyone know why this m2e
>>> lifecycleMappingMetadata spec was put into this POM in the first place?
>>> 
>>> -Marshall
>> 
> 


Re: need for special m2e setting in jcasgen-maven-plugin?

Posted by Marshall Schor <ms...@schor.com>.
Interesting.  What do you do to get this message?  I'd like to try and replicate
this.

What level of m2e do you have installed in the Eclipse that is showing this
issue, because older levels of m2e may not be as good as handling things like
this.  I'm running 1.3.0.20130129-0926 which I got (some time ago) from
http://www.eclipse.org/m2e/

-Marshall

On 7/3/2013 3:13 PM, Richard Eckart de Castilho wrote:
> I have various projects displaying this warning in Eclipse:
>
> "maven-enforcer-plugin (goal "enforce") is ignored by m2e."
>
> The m2e settings are probably there to remove this warning. I
> don't remember if I added them of if they have been there
> before.
>
> -- Richard
>
> Am 03.07.2013 um 21:05 schrieb Marshall Schor <ms...@schor.com>:
>
>> I'm cleaning up loose ends, in preparation for doing a uima-sdk release.
>>
>> The current UIMA-wide parent-pom (v5) has an execution of the enforcer plugin to
>> check for a good level of Maven (3 or better) and Java (5 or better), so every
>> project is getting this by default as part of their build.  The UIMA-wide
>> parent-pom (v5) has no m2e lifecycleMappingMetadata specs for the enforcer
>> plugin, and it doesn't seem to be needed (no errors are reported in Eclipse).
>>
>> The jcasgen-maven-plugin POM has a special m2e lifecycleMappingMetadata spec for
>> the enforcer plugin, which says to "ignore", but no local call on the enforcer
>> plugin.
>>
>> I'd like to take out the m2e part of the jcasgen-maven-plugin POM, but wanted to
>> check to see if I'm missing something here; does anyone know why this m2e
>> lifecycleMappingMetadata spec was put into this POM in the first place?
>>
>> -Marshall
>


Re: need for special m2e setting in jcasgen-maven-plugin?

Posted by Richard Eckart de Castilho <ri...@gmail.com>.
I have various projects displaying this warning in Eclipse:

"maven-enforcer-plugin (goal "enforce") is ignored by m2e."

The m2e settings are probably there to remove this warning. I
don't remember if I added them of if they have been there
before.

-- Richard

Am 03.07.2013 um 21:05 schrieb Marshall Schor <ms...@schor.com>:

> I'm cleaning up loose ends, in preparation for doing a uima-sdk release.
> 
> The current UIMA-wide parent-pom (v5) has an execution of the enforcer plugin to
> check for a good level of Maven (3 or better) and Java (5 or better), so every
> project is getting this by default as part of their build.  The UIMA-wide
> parent-pom (v5) has no m2e lifecycleMappingMetadata specs for the enforcer
> plugin, and it doesn't seem to be needed (no errors are reported in Eclipse).
> 
> The jcasgen-maven-plugin POM has a special m2e lifecycleMappingMetadata spec for
> the enforcer plugin, which says to "ignore", but no local call on the enforcer
> plugin.
> 
> I'd like to take out the m2e part of the jcasgen-maven-plugin POM, but wanted to
> check to see if I'm missing something here; does anyone know why this m2e
> lifecycleMappingMetadata spec was put into this POM in the first place?
> 
> -Marshall