maven-nar / nar-maven-plugin

Native ARchive plugin for Maven
https://maven-nar.github.io/
Apache License 2.0
232 stars 160 forks source link

maven-surefire-plugin problem #336

Open shiluotang opened 5 years ago

shiluotang commented 5 years ago

when a simple nar pom.xml does not explicit specify maven-surefire-plugin, it will use maven-surefire-plugin:3.0.0-M3, which breaks down test phase on old maven version.

Use the default maven installation from Linux Mint 17.3, the problem exists forever.

It's not a good solution to ask everybody to upgrade their maven version, As far as I known, there're incremental compilation problems in some maven3.x versions.

GregDomjan commented 5 years ago

Not seeing a clear reason this is happening

Only thing I see that might force using newer parts is property <mavenVersion>3.0.4</mavenVersion>

<dependency>
  <groupId>org.apache.maven</groupId>
  <artifactId>maven-artifact</artifactId>
  <version>${mavenVersion}</version>
</dependency>
<dependency>
  <groupId>org.apache.maven</groupId>
  <artifactId>maven-compat</artifactId>
  <version>${mavenVersion}</version>
</dependency>
<dependency>
  <groupId>org.apache.maven</groupId>
  <artifactId>maven-core</artifactId>
  <version>${mavenVersion}</version>
</dependency>
<dependency>
  <groupId>org.apache.maven</groupId>
  <artifactId>maven-model</artifactId>
  <version>${mavenVersion}</version>
</dependency>
<dependency>
  <groupId>org.apache.maven</groupId>
  <artifactId>maven-plugin-api</artifactId>
  <version>${mavenVersion}</version>
</dependency>

Overall there is some inconstancy in specification of version

Enforcer is only working on where nar plugin is itself built

            <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>

Other references to maven/surefire versions I know about are

  <prerequisites>
    <maven>2.0.9</maven>
  </prerequisites>

    <dependency>
      <groupId>org.apache.maven.surefire</groupId>
      <artifactId>surefire-api</artifactId>
      <version>2.6</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.surefire</groupId>
      <artifactId>surefire-booter</artifactId>
      <version>2.6</version>
    </dependency>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.0</version>
        </plugin>