package org.apache.maven.integrationTests; /* * Copyright 2001-2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.project.MavenProject; /** * @goal mng-3380-test * @phase validate * @requiresDependencyResolution compile */ public class MNG3380Mojo extends AbstractMojo { /** * @parameter expression="${project}" * @required * @readonly */ private MavenProject project; public void execute() throws MojoExecutionException, MojoFailureException { Artifact[] artifacts = (Artifact[]) project.getArtifacts().toArray( new Artifact[] {}); String[] expected = new String[] { // "direct-dependency-groupId:direct-dependency-artifactId:jar:1:compile", "transitive-dependency-new-groupId:transitive-dependency-artifactId:jar:2:compile", "other-groupId:other-artifactId-a:jar:1:compile", "other-groupId:other-artifactId-b:jar:1:compile" }; /* * this is what the results looked like as of 2.0.9: * * direct-dependency-groupId:direct-dependency-artifactId:jar:1:compile * transitive-dependency-new-groupId:transitive-dependency-artifactId:jar:2:compile * other-groupId:other-artifactId-a:jar:1:compile * other-groupId:other-artifactId-c:jar:1:compile * */ for (int i = 0; i < artifacts.length; i++) { String actual = artifacts[i].toString(); if (!actual.equals(expected[i])) { String message = "expected: " + expected[i] + // ", actual: " + actual; throw new MojoFailureException(message); } } } }