From: Simon Brandhof Date: Thu, 11 Aug 2011 13:19:09 +0000 (+0200) Subject: SONAR-2689 Do not support the version 1.0-beta-1 of the Sonar maven plugin anymore X-Git-Tag: 2.11^2~170 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=6f5eea36bd802edf9961e3e18ef7bc5e2d42b39d;p=sonarqube.git SONAR-2689 Do not support the version 1.0-beta-1 of the Sonar maven plugin anymore --- diff --git a/sonar-core-maven-plugin/pom.xml b/sonar-core-maven-plugin/pom.xml index 9fb3b019aac..3f874312722 100644 --- a/sonar-core-maven-plugin/pom.xml +++ b/sonar-core-maven-plugin/pom.xml @@ -36,29 +36,6 @@ --> - - org.apache.maven.shared - maven-dependency-tree - 1.2 - - - org.codehaus.sonar - sonar-plugin-api - ${project.version} - - - org.codehaus.sonar - sonar-batch - ${project.version} - - - org.slf4j - slf4j-api - - - ch.qos.logback - logback-classic - org.apache.maven maven-plugin-api @@ -77,17 +54,6 @@ 2.0.7 provided - - commons-lang - commons-lang - - - org.codehaus.sonar - sonar-plugin-api - ${project.version} - test - test-jar - diff --git a/sonar-core-maven-plugin/src/main/java/org/sonar/maven2/BatchMojo.java b/sonar-core-maven-plugin/src/main/java/org/sonar/maven2/BatchMojo.java index f81ea53d442..eb89d585abb 100644 --- a/sonar-core-maven-plugin/src/main/java/org/sonar/maven2/BatchMojo.java +++ b/sonar-core-maven-plugin/src/main/java/org/sonar/maven2/BatchMojo.java @@ -19,33 +19,9 @@ */ package org.sonar.maven2; -import ch.qos.logback.classic.LoggerContext; -import ch.qos.logback.classic.joran.JoranConfigurator; -import ch.qos.logback.core.joran.spi.JoranException; -import org.apache.commons.configuration.*; -import org.apache.commons.io.IOUtils; -import org.apache.maven.artifact.factory.ArtifactFactory; -import org.apache.maven.artifact.metadata.ArtifactMetadataSource; -import org.apache.maven.artifact.repository.ArtifactRepository; -import org.apache.maven.artifact.resolver.ArtifactCollector; -import org.apache.maven.execution.MavenSession; -import org.apache.maven.execution.RuntimeInformation; -import org.apache.maven.lifecycle.LifecycleExecutor; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugin.PluginManager; -import org.apache.maven.project.MavenProject; -import org.apache.maven.project.MavenProjectBuilder; -import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder; -import org.slf4j.LoggerFactory; -import org.sonar.api.batch.bootstrap.ProjectDefinition; -import org.sonar.api.batch.bootstrap.ProjectReactor; -import org.sonar.batch.Batch; -import org.sonar.batch.MavenProjectConverter; -import org.sonar.batch.bootstrapper.EnvironmentInformation; - -import java.io.InputStream; /** * @goal internal @@ -54,135 +30,8 @@ import java.io.InputStream; */ public final class BatchMojo extends AbstractMojo { - /** - * @parameter expression="${session}" - * @required - * @readonly - */ - private MavenSession session; - - /** - * @parameter expression="${project}" - * @required - * @readonly - */ - private MavenProject project; - - /** - * @component - * @required - */ - private LifecycleExecutor lifecycleExecutor; - - /** - * @component - * @required - */ - private PluginManager pluginManager; - - /** - * The artifact factory to use. - * - * @component - * @required - * @readonly - */ - private ArtifactFactory artifactFactory; - - /** - * The artifact repository to use. - * - * @parameter expression="${localRepository}" - * @required - * @readonly - */ - private ArtifactRepository localRepository; - - /** - * The artifact metadata source to use. - * - * @component - * @required - * @readonly - */ - private ArtifactMetadataSource artifactMetadataSource; - - /** - * The artifact collector to use. - * - * @component - * @required - * @readonly - */ - private ArtifactCollector artifactCollector; - - /** - * The dependency tree builder to use. - * - * @component - * @required - * @readonly - */ - private DependencyTreeBuilder dependencyTreeBuilder; - - /** - * @component - * @required - * @readonly - */ - private MavenProjectBuilder projectBuilder; - - /** - * @component - * @required - * @readonly - */ - private RuntimeInformation runtimeInformation; - public void execute() throws MojoExecutionException, MojoFailureException { - initLogging(); - executeBatch(); - } - - private void executeBatch() throws MojoExecutionException { - ProjectDefinition def = MavenProjectConverter.convert(session.getSortedProjects(), project); - ProjectReactor reactor = new ProjectReactor(def); - - Batch batch = Batch.create(reactor, getInitialConfiguration(), session, project, - getLog(), lifecycleExecutor, pluginManager, artifactFactory, - localRepository, artifactMetadataSource, artifactCollector, - dependencyTreeBuilder, projectBuilder, getEnvironmentInformation(), Maven2PluginExecutor.class); - batch.execute(); - } - - private EnvironmentInformation getEnvironmentInformation() { - String mavenVersion = runtimeInformation.getApplicationVersion().toString(); - return new EnvironmentInformation("Maven", mavenVersion); - } - - private Configuration getInitialConfiguration() { - CompositeConfiguration configuration = new CompositeConfiguration(); - configuration.addConfiguration(new SystemConfiguration()); - configuration.addConfiguration(new EnvironmentConfiguration()); - configuration.addConfiguration(new MapConfiguration(project.getModel().getProperties())); - return configuration; - } - - private void initLogging() throws MojoExecutionException { - LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); - JoranConfigurator jc = new JoranConfigurator(); - jc.setContext(context); - context.reset(); - InputStream input = getClass().getResourceAsStream("/org/sonar/batch/logback.xml"); - System.setProperty("ROOT_LOGGER_LEVEL", getLog().isDebugEnabled() ? "DEBUG" : "INFO"); - try { - jc.doConfigure(input); - - } catch (JoranException e) { - throw new MojoExecutionException("can not initialize logging", e); - - } finally { - IOUtils.closeQuietly(input); - } + throw new MojoExecutionException("The version 1.0-beta-1 of org.codehaus.mojo:sonar-maven-plugin is not supported anymore. " + + "Please upgrade to 1.0-beta-2 for Maven2 or 2.0-beta-2 for Maven3."); } } diff --git a/sonar-core-maven-plugin/src/main/java/org/sonar/maven2/Maven2PluginExecutor.java b/sonar-core-maven-plugin/src/main/java/org/sonar/maven2/Maven2PluginExecutor.java deleted file mode 100644 index ba4afc7120d..00000000000 --- a/sonar-core-maven-plugin/src/main/java/org/sonar/maven2/Maven2PluginExecutor.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Sonar, open source software quality management tool. - * Copyright (C) 2008-2011 SonarSource - * mailto:contact AT sonarsource DOT com - * - * Sonar 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. - * - * Sonar 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 Sonar; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 - */ -package org.sonar.maven2; - -import org.apache.maven.execution.MavenSession; -import org.apache.maven.execution.ReactorManager; -import org.apache.maven.lifecycle.LifecycleExecutor; -import org.apache.maven.project.MavenProject; -import org.sonar.batch.AbstractMavenPluginExecutor; - -import java.util.Arrays; - -public class Maven2PluginExecutor extends AbstractMavenPluginExecutor { - - private LifecycleExecutor lifecycleExecutor; - private MavenSession mavenSession; - - public Maven2PluginExecutor(LifecycleExecutor le, MavenSession mavenSession) { - this.lifecycleExecutor = le; - this.mavenSession = mavenSession; - } - - @Override - public void concreteExecute(MavenProject pom, String goal) throws Exception { - ReactorManager reactor = new ReactorManager(Arrays.asList(pom)); - MavenSession clonedSession = new MavenSession(mavenSession.getContainer(), - mavenSession.getSettings(), - mavenSession.getLocalRepository(), - mavenSession.getEventDispatcher(), - reactor, - Arrays.asList(goal), - mavenSession.getExecutionRootDirectory(), - mavenSession.getExecutionProperties(), - mavenSession.getStartTime()); - lifecycleExecutor.execute(clonedSession, reactor, clonedSession.getEventDispatcher()); - } - -} diff --git a/sonar-core-maven-plugin/src/test/resources/logback-text.xml b/sonar-core-maven-plugin/src/test/resources/logback-text.xml deleted file mode 100644 index e9e78e5c318..00000000000 --- a/sonar-core-maven-plugin/src/test/resources/logback-text.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - %d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n - - - - - - - - - - - - - - \ No newline at end of file diff --git a/sonar-server/src/main/java/org/sonar/server/mavendeployer/Artifact.java b/sonar-server/src/main/java/org/sonar/server/mavendeployer/Artifact.java index cf1793dd085..1c953d013c0 100644 --- a/sonar-server/src/main/java/org/sonar/server/mavendeployer/Artifact.java +++ b/sonar-server/src/main/java/org/sonar/server/mavendeployer/Artifact.java @@ -36,26 +36,18 @@ public class Artifact { private String groupId; private String artifactId; protected String version; - private Artifact[] dependencies; protected File jar; private String packaging; - public Artifact(String groupId, String artifactId, String version, String packaging, File jar, Artifact... deps) { + public Artifact(String groupId, String artifactId, String version, String packaging, File jar) { this.artifactId = artifactId; this.groupId = groupId; this.version = version; - this.dependencies = deps; this.jar = jar; this.packaging = packaging; } - public void deployTo(File rootDir, boolean deployDependencies) throws IOException { - if (deployDependencies && dependencies != null) { - for (Artifact dependency : dependencies) { - dependency.deployTo(rootDir, true); - } - } - + public void deployTo(File rootDir) throws IOException { File dir = createDir(rootDir); savePom(dir); saveMetadata(dir); @@ -85,18 +77,6 @@ public class Artifact { return version; } - public Artifact[] getDependencies() { - return dependencies; - } - - public File getJar() { - return jar; - } - - public String getPackaging() { - return packaging; - } - private void saveJar(File dir) throws IOException { if (jar != null) { copyTo(dir); @@ -125,23 +105,13 @@ public class Artifact { } public String getPom() throws IOException { - return transformFromTemplatePath(getTemplatePath(), getDependenciesAsString()); + return transformFromTemplatePath(getTemplatePath()); } protected String getTemplatePath() { return "/org/sonar/server/mavendeployer/pom.template"; } - private String getDependenciesAsString() throws IOException { - StringBuilder sb = new StringBuilder(); - if (dependencies != null) { - for (Artifact dependency : dependencies) { - sb.append(dependency.getXmlDefinition()); - } - } - return sb.toString(); - } - @Override public boolean equals(Object o) { if (this == o) { @@ -179,11 +149,7 @@ public class Artifact { FileUtils.writeStringToFile(metadataFile, getMetadata(), CharEncoding.UTF_8); } - protected String transformFromTemplatePath(String templatePath) throws IOException { - return transformFromTemplatePath(templatePath, ""); - } - - protected final String transformFromTemplatePath(String templatePath, String depsXml) throws IOException { + protected final String transformFromTemplatePath(String templatePath) throws IOException { InputStream template = this.getClass().getResourceAsStream(templatePath); try { String content = IOUtils.toString(template); @@ -192,7 +158,6 @@ public class Artifact { content = StringUtils.replace(content, "$version", version); content = StringUtils.replace(content, "$timestamp", version); content = StringUtils.replace(content, "$packaging", packaging); - content = StringUtils.replace(content, "$dependencies", StringUtils.defaultString(depsXml, "")); return content; } finally { diff --git a/sonar-server/src/main/java/org/sonar/server/mavendeployer/MavenRepository.java b/sonar-server/src/main/java/org/sonar/server/mavendeployer/MavenRepository.java index 8dbd3e57d59..22455c1a057 100644 --- a/sonar-server/src/main/java/org/sonar/server/mavendeployer/MavenRepository.java +++ b/sonar-server/src/main/java/org/sonar/server/mavendeployer/MavenRepository.java @@ -52,7 +52,7 @@ public class MavenRepository { public void start() { try { Artifact maven2Plugin = Mojo.createMaven2Plugin(serverId, installation.getMaven2Plugin()); - maven2Plugin.deployTo(rootDir, false); + maven2Plugin.deployTo(rootDir); } catch (IOException e) { throw new RuntimeException(e); diff --git a/sonar-server/src/main/java/org/sonar/server/mavendeployer/Mojo.java b/sonar-server/src/main/java/org/sonar/server/mavendeployer/Mojo.java index bd90adea321..615dbf4ae52 100644 --- a/sonar-server/src/main/java/org/sonar/server/mavendeployer/Mojo.java +++ b/sonar-server/src/main/java/org/sonar/server/mavendeployer/Mojo.java @@ -28,16 +28,12 @@ import java.io.IOException; public final class Mojo extends Artifact { - private Mojo(String artifactId, String version, File jar, Artifact... deps) { - super(BASE_GROUP_ID, artifactId, version, "maven-plugin", jar, deps); + private Mojo(String artifactId, String version, File jar) { + super(BASE_GROUP_ID, artifactId, version, "maven-plugin", jar); } - public static Mojo createMaven2Plugin(String version, File jar, Artifact... deps) { - return new Mojo("sonar-core-maven-plugin", version, jar, deps); - } - - public static Mojo createMaven3Plugin(String version, File jar, Artifact... deps) { - return new Mojo("sonar-core-maven3-plugin", version, jar, deps); + public static Mojo createMaven2Plugin(String version, File jar) { + return new Mojo("sonar-core-maven-plugin", version, jar); } @Override diff --git a/sonar-server/src/main/resources/org/sonar/server/mavendeployer/sonar-core-maven-plugin.template b/sonar-server/src/main/resources/org/sonar/server/mavendeployer/sonar-core-maven-plugin.template index 1340868f93b..0c59a937c5d 100644 --- a/sonar-server/src/main/resources/org/sonar/server/mavendeployer/sonar-core-maven-plugin.template +++ b/sonar-server/src/main/resources/org/sonar/server/mavendeployer/sonar-core-maven-plugin.template @@ -9,26 +9,6 @@ deployed - - org.apache.maven.shared - maven-dependency-tree - 1.2 - - - org.codehaus.sonar - sonar-batch - ${project.version} - - - ch.qos.logback - logback-classic - 0.9.15 - - - org.slf4j - slf4j-api - 1.5.6 - org.apache.maven maven-plugin-api @@ -47,13 +27,5 @@ 2.0.7 provided - - commons-lang - commons-lang - 2.4 - - - $dependencies - \ No newline at end of file