Search in sources :

Example 1 with ArtifactFactory

use of org.apache.maven.artifact.factory.ArtifactFactory in project semantic-versioning by jeluard.

the class AbstractEnforcerRule method execute.

@Override
public void execute(final EnforcerRuleHelper helper) throws EnforcerRuleException {
    final MavenProject project = getMavenProject(helper);
    if (shouldSkipRuleExecution(project)) {
        helper.getLog().debug("Skipping non " + AbstractEnforcerRule.JAR_ARTIFACT_TYPE + " or " + BUNDLE_ARTIFACT_TYPE + " artifact.");
        return;
    }
    final Artifact previousArtifact;
    final Artifact currentArtifact = validateArtifact(project.getArtifact());
    final Version current = Version.parse(currentArtifact.getVersion());
    try {
        final ArtifactRepository localRepository = (ArtifactRepository) helper.evaluate("${localRepository}");
        final String version;
        if (this.previousVersion != null) {
            version = this.previousVersion;
            helper.getLog().info("Version specified as <" + version + ">");
        } else {
            final ArtifactMetadataSource artifactMetadataSource = (ArtifactMetadataSource) helper.getComponent(ArtifactMetadataSource.class);
            final List<ArtifactVersion> availableVersions = getAvailableReleasedVersions(artifactMetadataSource, project, localRepository);
            final List<ArtifactVersion> availablePreviousVersions = filterNonPreviousVersions(availableVersions, current);
            if (availablePreviousVersions.isEmpty()) {
                helper.getLog().warn("No previously released version. Backward compatibility check not performed.");
                return;
            }
            version = availablePreviousVersions.iterator().next().toString();
            helper.getLog().info("Version deduced as <" + version + "> (among all availables: " + availablePreviousVersions + ")");
        }
        final ArtifactFactory artifactFactory = (ArtifactFactory) helper.getComponent(ArtifactFactory.class);
        previousArtifact = artifactFactory.createArtifact(project.getGroupId(), project.getArtifactId(), version, null, project.getArtifact().getType());
        final ArtifactResolver resolver = (ArtifactResolver) helper.getComponent(ArtifactResolver.class);
        resolver.resolve(previousArtifact, project.getRemoteArtifactRepositories(), localRepository);
        validateArtifact(previousArtifact);
    } catch (Exception e) {
        helper.getLog().warn("Exception while accessing artifacts; skipping check.", e);
        return;
    }
    final Version previous = Version.parse(previousArtifact.getVersion());
    final File previousJar = previousArtifact.getFile();
    final File currentJar = currentArtifact.getFile();
    compareJars(helper, previous, previousJar, current, currentJar);
}
Also used : DefaultArtifactVersion(org.apache.maven.artifact.versioning.DefaultArtifactVersion) ArtifactVersion(org.apache.maven.artifact.versioning.ArtifactVersion) ArtifactFactory(org.apache.maven.artifact.factory.ArtifactFactory) MavenProject(org.apache.maven.project.MavenProject) DefaultArtifactVersion(org.apache.maven.artifact.versioning.DefaultArtifactVersion) Version(org.semver.Version) ArtifactVersion(org.apache.maven.artifact.versioning.ArtifactVersion) ArtifactRepository(org.apache.maven.artifact.repository.ArtifactRepository) ArtifactMetadataSource(org.apache.maven.artifact.metadata.ArtifactMetadataSource) File(java.io.File) Artifact(org.apache.maven.artifact.Artifact) ArtifactResolver(org.apache.maven.artifact.resolver.ArtifactResolver) ExpressionEvaluationException(org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException) IOException(java.io.IOException) EnforcerRuleException(org.apache.maven.enforcer.rule.api.EnforcerRuleException) ArtifactMetadataRetrievalException(org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException)

Example 2 with ArtifactFactory

use of org.apache.maven.artifact.factory.ArtifactFactory in project intellij-community by JetBrains.

the class Maven30ServerEmbedderImpl method reset.

@Override
public void reset() throws RemoteException {
    try {
        setConsoleAndIndicator(null, null);
        final ArtifactFactory artifactFactory = getComponent(ArtifactFactory.class);
        if (artifactFactory instanceof CustomMaven3ArtifactFactory) {
            ((CustomMaven3ArtifactFactory) artifactFactory).reset();
        }
        final ArtifactResolver artifactResolver = getComponent(ArtifactResolver.class);
        if (artifactResolver instanceof CustomMaven30ArtifactResolver) {
            ((CustomMaven30ArtifactResolver) artifactResolver).reset();
        }
        final RepositoryMetadataManager repositoryMetadataManager = getComponent(RepositoryMetadataManager.class);
        if (repositoryMetadataManager instanceof CustomMaven3RepositoryMetadataManager) {
            ((CustomMaven3RepositoryMetadataManager) repositoryMetadataManager).reset();
        }
    //((CustomWagonManager)getComponent(WagonManager.class)).reset();
    } catch (Exception e) {
        throw rethrowException(e);
    }
}
Also used : RepositoryMetadataManager(org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager) ArtifactFactory(org.apache.maven.artifact.factory.ArtifactFactory) InitializationException(org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException) ModelInterpolationException(org.apache.maven.project.interpolation.ModelInterpolationException) InvocationTargetException(java.lang.reflect.InvocationTargetException) RemoteException(java.rmi.RemoteException) SettingsBuildingException(org.apache.maven.settings.building.SettingsBuildingException) ComponentLookupException(org.codehaus.plexus.component.repository.exception.ComponentLookupException) ContextException(org.codehaus.plexus.context.ContextException) InvalidRepositoryException(org.apache.maven.artifact.InvalidRepositoryException)

Example 3 with ArtifactFactory

use of org.apache.maven.artifact.factory.ArtifactFactory in project intellij-community by JetBrains.

the class Maven3ServerEmbedderImpl method reset.

@Override
public void reset() throws RemoteException {
    try {
        setConsoleAndIndicator(null, null);
        final ArtifactFactory artifactFactory = getComponent(ArtifactFactory.class);
        if (artifactFactory instanceof CustomMaven3ArtifactFactory) {
            ((CustomMaven3ArtifactFactory) artifactFactory).reset();
        }
        final ArtifactResolver artifactResolver = getComponent(ArtifactResolver.class);
        if (artifactResolver instanceof CustomMaven3ArtifactResolver) {
            ((CustomMaven3ArtifactResolver) artifactResolver).reset();
        }
        final RepositoryMetadataManager repositoryMetadataManager = getComponent(RepositoryMetadataManager.class);
        if (repositoryMetadataManager instanceof CustomMaven3RepositoryMetadataManager) {
            ((CustomMaven3RepositoryMetadataManager) repositoryMetadataManager).reset();
        }
    //((CustomWagonManager)getComponent(WagonManager.class)).reset();
    } catch (Exception e) {
        throw rethrowException(e);
    }
}
Also used : RepositoryMetadataManager(org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager) ArtifactFactory(org.apache.maven.artifact.factory.ArtifactFactory) ArtifactResolver(org.apache.maven.artifact.resolver.ArtifactResolver) DefaultArtifactResolver(org.eclipse.aether.internal.impl.DefaultArtifactResolver) ArtifactNotFoundException(org.apache.maven.artifact.resolver.ArtifactNotFoundException) InitializationException(org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException) ModelInterpolationException(org.apache.maven.project.interpolation.ModelInterpolationException) RemoteException(java.rmi.RemoteException) ComponentLookupException(org.codehaus.plexus.component.repository.exception.ComponentLookupException) ContextException(org.codehaus.plexus.context.ContextException) ArtifactResolutionException(org.apache.maven.artifact.resolver.ArtifactResolutionException) InvalidRepositoryException(org.apache.maven.artifact.InvalidRepositoryException)

Example 4 with ArtifactFactory

use of org.apache.maven.artifact.factory.ArtifactFactory in project maven-plugins by apache.

the class DependencyTestUtils method getArtifactFactory.

public static ArtifactFactory getArtifactFactory() throws IllegalAccessException {
    ArtifactFactory artifactFactory;
    ArtifactHandlerManager manager = new DefaultArtifactHandlerManager();
    setVariableValueToObject(manager, "artifactHandlers", new HashMap());
    artifactFactory = new DefaultArtifactFactory();
    setVariableValueToObject(artifactFactory, "artifactHandlerManager", manager);
    return artifactFactory;
}
Also used : ArtifactFactory(org.apache.maven.artifact.factory.ArtifactFactory) DefaultArtifactFactory(org.apache.maven.artifact.factory.DefaultArtifactFactory) DefaultArtifactFactory(org.apache.maven.artifact.factory.DefaultArtifactFactory) HashMap(java.util.HashMap) ArtifactHandlerManager(org.apache.maven.artifact.handler.manager.ArtifactHandlerManager) DefaultArtifactHandlerManager(org.apache.maven.artifact.handler.manager.DefaultArtifactHandlerManager) DefaultArtifactHandlerManager(org.apache.maven.artifact.handler.manager.DefaultArtifactHandlerManager)

Example 5 with ArtifactFactory

use of org.apache.maven.artifact.factory.ArtifactFactory in project maven-plugins by apache.

the class TestCopyDependenciesMojo2 method testRepositoryLayout.

public void testRepositoryLayout() throws Exception {
    String baseVersion = "2.0-SNAPSHOT";
    String groupId = "testGroupId";
    String artifactId = "expanded-snapshot";
    Artifact expandedSnapshot = createExpandedVersionArtifact(baseVersion, groupId, artifactId, "compile", "jar", null);
    mojo.getProject().getArtifacts().add(expandedSnapshot);
    mojo.getProject().getDependencyArtifacts().add(expandedSnapshot);
    Artifact pomExpandedSnapshot = createExpandedVersionArtifact(baseVersion, groupId, artifactId, "compile", "pom", null);
    mojo.getProject().getArtifacts().add(pomExpandedSnapshot);
    mojo.getProject().getDependencyArtifacts().add(pomExpandedSnapshot);
    mojo.useRepositoryLayout = true;
    mojo.execute();
    ArtifactFactory artifactFactory = lookup(ArtifactFactory.class);
    File outputDirectory = mojo.outputDirectory;
    ArtifactRepository targetRepository = new MavenArtifactRepository("local", outputDirectory.toURL().toExternalForm(), new DefaultRepositoryLayout(), new ArtifactRepositoryPolicy(), new ArtifactRepositoryPolicy());
    Set<Artifact> artifacts = mojo.getProject().getArtifacts();
    for (Artifact artifact : artifacts) {
        assertArtifactExists(artifact, targetRepository);
        if (!artifact.getBaseVersion().equals(artifact.getVersion())) {
            Artifact baseArtifact = artifactFactory.createArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact.getBaseVersion(), artifact.getScope(), artifact.getType());
            assertArtifactExists(baseArtifact, targetRepository);
        }
    }
}
Also used : ArtifactFactory(org.apache.maven.artifact.factory.ArtifactFactory) ArtifactRepositoryPolicy(org.apache.maven.artifact.repository.ArtifactRepositoryPolicy) DefaultRepositoryLayout(org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout) MavenArtifactRepository(org.apache.maven.artifact.repository.MavenArtifactRepository) ArtifactRepository(org.apache.maven.artifact.repository.ArtifactRepository) MavenArtifactRepository(org.apache.maven.artifact.repository.MavenArtifactRepository) File(java.io.File) Artifact(org.apache.maven.artifact.Artifact)

Aggregations

ArtifactFactory (org.apache.maven.artifact.factory.ArtifactFactory)6 File (java.io.File)3 Artifact (org.apache.maven.artifact.Artifact)3 RemoteException (java.rmi.RemoteException)2 InvalidRepositoryException (org.apache.maven.artifact.InvalidRepositoryException)2 ArtifactRepository (org.apache.maven.artifact.repository.ArtifactRepository)2 RepositoryMetadataManager (org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager)2 ArtifactResolver (org.apache.maven.artifact.resolver.ArtifactResolver)2 MavenProject (org.apache.maven.project.MavenProject)2 ModelInterpolationException (org.apache.maven.project.interpolation.ModelInterpolationException)2 ComponentLookupException (org.codehaus.plexus.component.repository.exception.ComponentLookupException)2 ContextException (org.codehaus.plexus.context.ContextException)2 InitializationException (org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException)2 IOException (java.io.IOException)1 InvocationTargetException (java.lang.reflect.InvocationTargetException)1 HashMap (java.util.HashMap)1 DefaultArtifactFactory (org.apache.maven.artifact.factory.DefaultArtifactFactory)1 ArtifactHandlerManager (org.apache.maven.artifact.handler.manager.ArtifactHandlerManager)1 DefaultArtifactHandlerManager (org.apache.maven.artifact.handler.manager.DefaultArtifactHandlerManager)1 ArtifactMetadataRetrievalException (org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException)1