@@ -22,8 +22,6 @@ | |||
<module>sonar-duplications</module> | |||
<module>sonar-home</module> | |||
<module>sonar-markdown</module> | |||
<module>sonar-maven-plugin</module> | |||
<module>sonar-maven3-plugin</module> | |||
<module>sonar-plugin-api</module> | |||
<module>server</module> | |||
<module>sonar-testing-harness</module> |
@@ -1,52 +0,0 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<modelVersion>4.0.0</modelVersion> | |||
<parent> | |||
<groupId>org.codehaus.sonar</groupId> | |||
<artifactId>sonar</artifactId> | |||
<version>5.2-SNAPSHOT</version> | |||
</parent> | |||
<artifactId>sonar-maven-plugin</artifactId> | |||
<packaging>maven-plugin</packaging> | |||
<name>SonarQube :: Maven2 Plugin</name> | |||
<dependencies> | |||
<dependency> | |||
<groupId>org.apache.maven</groupId> | |||
<artifactId>maven-plugin-api</artifactId> | |||
<version>2.2.0</version> | |||
<scope>provided</scope> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.apache.maven</groupId> | |||
<artifactId>maven-artifact</artifactId> | |||
<version>2.2.0</version> | |||
<scope>provided</scope> | |||
</dependency> | |||
<dependency> | |||
<groupId>org.apache.maven</groupId> | |||
<artifactId>maven-core</artifactId> | |||
<version>2.2.0</version> | |||
<scope>provided</scope> | |||
</dependency> | |||
<!-- Test --> | |||
<dependency> | |||
<groupId>org.codehaus.sonar</groupId> | |||
<artifactId>sonar-testing-harness</artifactId> | |||
<scope>test</scope> | |||
</dependency> | |||
</dependencies> | |||
<build> | |||
<plugins> | |||
<plugin> | |||
<groupId>org.apache.maven.plugins</groupId> | |||
<artifactId>maven-surefire-plugin</artifactId> | |||
<configuration> | |||
<skipTests>${skipBatchTests}</skipTests> | |||
</configuration> | |||
</plugin> | |||
</plugins> | |||
</build> | |||
</project> |
@@ -1,54 +0,0 @@ | |||
/* | |||
* SonarQube, open source software quality management tool. | |||
* Copyright (C) 2008-2014 SonarSource | |||
* mailto:contact AT sonarsource DOT com | |||
* | |||
* SonarQube is free software; you can redistribute it and/or | |||
* modify it under the terms of the GNU Lesser General Public | |||
* License as published by the Free Software Foundation; either | |||
* version 3 of the License, or (at your option) any later version. | |||
* | |||
* SonarQube is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
* Lesser General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Lesser General Public License | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.maven; | |||
import org.apache.maven.artifact.versioning.ArtifactVersion; | |||
import org.apache.maven.execution.RuntimeInformation; | |||
import org.apache.maven.plugin.AbstractMojo; | |||
import org.apache.maven.plugin.MojoExecutionException; | |||
/** | |||
* @goal sonar | |||
* @aggregator | |||
*/ | |||
public final class SonarMojo extends AbstractMojo { | |||
/** | |||
* @component | |||
* @required | |||
* @readonly | |||
* @VisibleForTesting | |||
*/ | |||
RuntimeInformation runtimeInformation; | |||
@Override | |||
public void execute() throws MojoExecutionException { | |||
ArtifactVersion mavenVersion = getMavenVersion(); | |||
if (mavenVersion.getMajorVersion() < 3) { | |||
throw new MojoExecutionException("Please use at least Maven 3.x to perform SonarQube analysis"); | |||
} | |||
throw new MojoExecutionException("Please update sonar-maven-plugin to at least version 2.3"); | |||
} | |||
private ArtifactVersion getMavenVersion() { | |||
return runtimeInformation.getApplicationVersion(); | |||
} | |||
} |
@@ -1,65 +0,0 @@ | |||
/* | |||
* SonarQube, open source software quality management tool. | |||
* Copyright (C) 2008-2014 SonarSource | |||
* mailto:contact AT sonarsource DOT com | |||
* | |||
* SonarQube is free software; you can redistribute it and/or | |||
* modify it under the terms of the GNU Lesser General Public | |||
* License as published by the Free Software Foundation; either | |||
* version 3 of the License, or (at your option) any later version. | |||
* | |||
* SonarQube is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
* Lesser General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU Lesser General Public License | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.maven; | |||
import org.apache.maven.artifact.versioning.ArtifactVersion; | |||
import org.apache.maven.artifact.versioning.DefaultArtifactVersion; | |||
import org.apache.maven.execution.RuntimeInformation; | |||
import org.apache.maven.plugin.MojoExecutionException; | |||
import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.junit.rules.ExpectedException; | |||
public class SonarMojoTest { | |||
@Rule | |||
public ExpectedException thrown = ExpectedException.none(); | |||
@Test | |||
public void testFailureWithMaven2() throws MojoExecutionException { | |||
SonarMojo mojo = new SonarMojo(); | |||
mojo.runtimeInformation = new RuntimeInformation() { | |||
@Override | |||
public ArtifactVersion getApplicationVersion() { | |||
return new DefaultArtifactVersion("2.2.1"); | |||
} | |||
}; | |||
thrown.expect(MojoExecutionException.class); | |||
thrown.expectMessage("Please use at least Maven 3.x to perform SonarQube analysis"); | |||
mojo.execute(); | |||
} | |||
@Test | |||
public void testFailureWithMaven3() throws MojoExecutionException { | |||
SonarMojo mojo = new SonarMojo(); | |||
mojo.runtimeInformation = new RuntimeInformation() { | |||
@Override | |||
public ArtifactVersion getApplicationVersion() { | |||
return new DefaultArtifactVersion("3.0.5"); | |||
} | |||
}; | |||
thrown.expect(MojoExecutionException.class); | |||
thrown.expectMessage("Please update sonar-maven-plugin to at least version 2.3"); | |||
mojo.execute(); | |||
} | |||
} |
@@ -1,19 +0,0 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |||
<modelVersion>4.0.0</modelVersion> | |||
<parent> | |||
<groupId>org.codehaus.sonar</groupId> | |||
<artifactId>sonar</artifactId> | |||
<version>5.2-SNAPSHOT</version> | |||
</parent> | |||
<artifactId>sonar-maven3-plugin</artifactId> | |||
<packaging>pom</packaging> | |||
<name>SonarQube :: Maven3 Plugin</name> | |||
<!-- Since Sonar 3.7 there is no more difference between Maven 2 and Maven 3 so relocate to Maven 2 plugin to avoid duplication --> | |||
<distributionManagement> | |||
<relocation> | |||
<artifactId>sonar-maven-plugin</artifactId> | |||
</relocation> | |||
</distributionManagement> | |||
</project> |
@@ -1,2 +1,2 @@ | |||
#!/bin/sh | |||
mvn org.codehaus.mojo:license-maven-plugin:aggregate-add-third-party -pl sonar-application,sonar-maven-plugin -am | |||
mvn org.codehaus.mojo:license-maven-plugin:aggregate-add-third-party -pl sonar-application -am |