Example usage for org.apache.maven.artifact.repository ArtifactRepositoryFactory ROLE

List of usage examples for org.apache.maven.artifact.repository ArtifactRepositoryFactory ROLE

Introduction

In this page you can find the example usage for org.apache.maven.artifact.repository ArtifactRepositoryFactory ROLE.

Prototype

String ROLE

To view the source code for org.apache.maven.artifact.repository ArtifactRepositoryFactory ROLE.

Click Source Link

Usage

From source file:com.effectivemaven.centrepoint.maven.repository.CentralRepositoryService.java

License:Apache License

@Inject
private CentralRepositoryService(RepositoryParams params) {
    try {//  w  w  w  . j  a  v a 2 s  .co  m
        // jetty:run friendly setting
        Map<? extends Object, ? extends Object> context = Collections
                .singletonMap(PlexusConstants.IGNORE_CONTAINER_CONFIGURATION, Boolean.TRUE);

        // use Plexus to load the Maven components needed to retrieve repository information
        InputStreamReader configurationReader = new InputStreamReader(
                getClass().getResourceAsStream("/custom-plexus.xml"));
        PlexusContainer container = new DefaultPlexusContainer(configurationReader, context);

        this.artifactFactory = (ArtifactFactory) container.lookup(ArtifactFactory.ROLE);

        this.metadataSource = (ArtifactMetadataSource) container.lookup(MavenMetadataSource.ROLE,
                MavenMetadataSource.ROLE_HINT);

        ArtifactRepositoryFactory repositoryFactory = (ArtifactRepositoryFactory) container
                .lookup(ArtifactRepositoryFactory.ROLE);

        String localRepositoryUrl = new File(params.localRepositoryPath).toURL().toExternalForm();
        this.localRepository = repositoryFactory.createDeploymentArtifactRepository("local", localRepositoryUrl,
                new DefaultRepositoryLayout(), false);

        repository = repositoryFactory.createArtifactRepository("central", params.repositoryUrl,
                new DefaultRepositoryLayout(), new ArtifactRepositoryPolicy(), new ArtifactRepositoryPolicy());

        projectBuilder = (MavenProjectBuilder) container.lookup(MavenProjectBuilder.ROLE);
    } catch (Exception e) {
        throw new RuntimeException("Error starting Maven components for repository service", e);
    }
}

From source file:com.googlecode.jndiresources.maven.MavenEmbedder.java

License:Apache License

/**
 * Start the maven embedded./*from   w  ww.  j  a  va  2s  .  c  o m*/
 * @throws DuplicateRealmException If error.
 * @throws PlexusContainerException If error.
 * @throws ComponentLookupException If error.
 * @throws IOException If error.
 * @throws XmlPullParserException If error.
 */
public void start() throws DuplicateRealmException, PlexusContainerException, ComponentLookupException,
        IOException, XmlPullParserException {
    detectUserInstallation();

    // ----------------------------------------------------------------------
    // Set the maven.home system property which is need by components like
    // the plugin registry builder.
    // ----------------------------------------------------------------------

    if (classLoader_ == null) {
        throw new IllegalStateException("A classloader must be specified using setClassLoader(ClassLoader).");
    }

    embedder_ = new Embedder();

    embedder_.setLoggerManager(new MavenEmbedderLoggerManager(new PlexusLogger()));

    final ClassWorld classWorld = new ClassWorld();

    classWorld.newRealm("plexus.core", classLoader_);

    embedder_.start(classWorld);

    // ----------------------------------------------------------------------
    // Artifact related components
    // ----------------------------------------------------------------------
    artifactRepositoryFactory_ = (ArtifactRepositoryFactory) embedder_.lookup(ArtifactRepositoryFactory.ROLE);

    artifactFactory_ = (ArtifactFactory) embedder_.lookup(ArtifactFactory.ROLE);

    artifactResolver_ = (ArtifactResolver) embedder_.lookup(ArtifactResolver.ROLE);

    defaultArtifactRepositoryLayout_ = (ArtifactRepositoryLayout) embedder_
            .lookup(ArtifactRepositoryLayout.ROLE, DEFAULT_LAYOUT_ID);

    // TODO : gestion Artifact
    // defaultMetadatSource=(ArtifactMetadataSource)embedder.lookup(ArtifactMetadataSource.ROLE);
    // defaultMetadatSource=new ArtifactRepositoryMetadata(artifact);
    createMavenSettings();
    localRepository_ = createLocalRepository(settings_);
}

From source file:hudson.gridmaven.RedeployPublisher.java

License:Open Source License

public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener)
        throws InterruptedException, IOException {
    if (build.getResult().isWorseThan(getTreshold()))
        return true; // build failed. Don't publish

    /**//  w ww. ja v  a2  s  . c o  m
     * Check if we should skip or not
     */
    if (releaseEnvVar != null) {
        String envVarValue = build.getEnvironment(listener).get(releaseEnvVar);
        if ("true".equals(envVarValue)) { // null or false are ignored
            listener.getLogger().println("[INFO] Skipping deploying artifact as release build is in progress.");
            return true; // skip the deploy
        }
    }

    List<MavenAbstractArtifactRecord> mavenAbstractArtifactRecords = getActions(build, listener);
    if (mavenAbstractArtifactRecords == null || mavenAbstractArtifactRecords.isEmpty()) {
        listener.getLogger().println("[ERROR] No artifacts are recorded. Is this a Maven project?");
        build.setResult(Result.FAILURE);
        return true;
    }

    if (build instanceof MavenModuleSetBuild
            && ((MavenModuleSetBuild) build).getParent().isArchivingDisabled()) {
        listener.getLogger()
                .println("[ERROR] You cannot use the \"Deploy artifacts to Maven repository\" feature if you "
                        + "disabled automatic artifact archiving");
        build.setResult(Result.FAILURE);
        return true;
    }

    long startupTime = Calendar.getInstance().getTimeInMillis();

    try {
        MavenEmbedder embedder = createEmbedder(listener, build);
        ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) embedder
                .lookup(ArtifactRepositoryLayout.ROLE, "default");
        ArtifactRepositoryFactory factory = (ArtifactRepositoryFactory) embedder
                .lookup(ArtifactRepositoryFactory.ROLE);
        ArtifactRepository artifactRepository = null;
        if (url != null) {
            // By default we try to get the repository definition from the job configuration
            artifactRepository = getDeploymentRepository(factory, layout, id, url);
        }
        for (MavenAbstractArtifactRecord mavenAbstractArtifactRecord : mavenAbstractArtifactRecords) {
            if (artifactRepository == null && mavenAbstractArtifactRecord instanceof MavenArtifactRecord) {
                // If no repository definition is set on the job level we try to take it from the POM
                MavenArtifactRecord mavenArtifactRecord = (MavenArtifactRecord) mavenAbstractArtifactRecord;
                artifactRepository = getDeploymentRepository(factory, layout, mavenArtifactRecord.repositoryId,
                        mavenArtifactRecord.repositoryUrl);
            }
            if (artifactRepository == null) {
                listener.getLogger().println(
                        "[ERROR] No Repository settings defined in the job configuration or distributionManagement of the module.");
                build.setResult(Result.FAILURE);
                return true;
            }
            mavenAbstractArtifactRecord.deploy(embedder, artifactRepository, listener);
        }
        listener.getLogger().println("[INFO] Deployment done in "
                + Util.getTimeSpanString(Calendar.getInstance().getTimeInMillis() - startupTime));
        return true;
    } catch (MavenEmbedderException e) {
        e.printStackTrace(listener.error(e.getMessage()));
    } catch (ComponentLookupException e) {
        e.printStackTrace(listener.error(e.getMessage()));
    } catch (ArtifactDeploymentException e) {
        e.printStackTrace(listener.error(e.getMessage()));
    }
    // failed
    build.setResult(Result.FAILURE);
    listener.getLogger().println("[INFO] Deployment failed after "
            + Util.getTimeSpanString(Calendar.getInstance().getTimeInMillis() - startupTime));
    return true;
}

From source file:hudson.gridmaven.reporters.MavenAbstractArtifactRecord.java

License:Open Source License

/**
 * Performs a redeployment./*w ww.j  a va 2s  .  c o  m*/
 */
public final HttpResponse doRedeploy(@QueryParameter("_.id") final String id,
        @QueryParameter("_.url") final String repositoryUrl,
        @QueryParameter("_.uniqueVersion") final boolean uniqueVersion) throws ServletException, IOException {
    getACL().checkPermission(REDEPLOY);

    File logFile = new File(getBuild().getRootDir(), "maven-deployment." + records.size() + ".log");
    final Record record = new Record(repositoryUrl, logFile.getName());
    records.add(record);

    new TaskThread(this, ListenerAndText.forFile(logFile, this)) {
        protected void perform(TaskListener listener) throws Exception {
            try {
                MavenEmbedder embedder = MavenUtil.createEmbedder(listener, getBuild());
                ArtifactRepositoryLayout layout = embedder.lookup(ArtifactRepositoryLayout.class, "default");
                ArtifactRepositoryFactory factory = (ArtifactRepositoryFactory) embedder
                        .lookup(ArtifactRepositoryFactory.ROLE);

                ArtifactRepository repository = factory.createDeploymentArtifactRepository(id, repositoryUrl,
                        layout, uniqueVersion);
                WrappedArtifactRepository repo = new WrappedArtifactRepository(repository, uniqueVersion);
                deploy(embedder, repo, listener);

                record.result = Result.SUCCESS;
            } finally {
                if (record.result == null)
                    record.result = Result.FAILURE;
                // persist the record
                getBuild().save();
            }
        }
    }.start();

    return HttpRedirect.DOT;
}

From source file:hudson.maven.RedeployPublisher.java

License:Open Source License

public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener)
        throws InterruptedException, IOException {
    if (build.getResult().isWorseThan(getTreshold()))
        return true; // build failed. Don't publish

    /**/*from  w  ww .j av a  2s . co  m*/
     * Check if we should skip or not
     */
    if (releaseEnvVar != null) {
        String envVarValue = build.getEnvironment(listener).get(releaseEnvVar);
        if ("true".equals(envVarValue)) { // null or false are ignored
            listener.getLogger().println("[INFO] Skipping deploying artifact as release build is in progress.");
            return true; // skip the deploy
        }
    }

    List<MavenAbstractArtifactRecord> mavenAbstractArtifactRecords = getActions(build, listener);
    if (mavenAbstractArtifactRecords == null || mavenAbstractArtifactRecords.isEmpty()) {
        listener.getLogger().println("[ERROR] No artifacts are recorded. Is this a Maven project?");
        build.setResult(Result.FAILURE);
        return true;
    }

    if (build instanceof MavenModuleSetBuild
            && ((MavenModuleSetBuild) build).getParent().isArchivingDisabled()) {
        listener.getLogger()
                .println("[ERROR] You cannot use the \"Deploy artifacts to Maven repository\" feature if you "
                        + "disabled automatic artifact archiving");
        build.setResult(Result.FAILURE);
        return true;
    }

    long startupTime = System.currentTimeMillis();

    try {
        MavenEmbedder embedder = createEmbedder(listener, build);
        ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) embedder
                .lookup(ArtifactRepositoryLayout.ROLE, "default");
        ArtifactRepositoryFactory factory = (ArtifactRepositoryFactory) embedder
                .lookup(ArtifactRepositoryFactory.ROLE);
        ArtifactRepository artifactRepository = null;
        if (url != null) {
            // By default we try to get the repository definition from the job configuration
            artifactRepository = getDeploymentRepository(factory, layout, id, url);
        }
        for (MavenAbstractArtifactRecord mavenAbstractArtifactRecord : mavenAbstractArtifactRecords) {
            if (artifactRepository == null && mavenAbstractArtifactRecord instanceof MavenArtifactRecord) {
                // If no repository definition is set on the job level we try to take it from the POM
                MavenArtifactRecord mavenArtifactRecord = (MavenArtifactRecord) mavenAbstractArtifactRecord;
                artifactRepository = getDeploymentRepository(factory, layout, mavenArtifactRecord.repositoryId,
                        mavenArtifactRecord.repositoryUrl);
            }
            if (artifactRepository == null) {
                listener.getLogger().println(
                        "[ERROR] No Repository settings defined in the job configuration or distributionManagement of the module.");
                build.setResult(Result.FAILURE);
                return true;
            }
            mavenAbstractArtifactRecord.deploy(embedder, artifactRepository, listener);
        }
        listener.getLogger().println("[INFO] Deployment done in "
                + Util.getTimeSpanString(System.currentTimeMillis() - startupTime));
        return true;
    } catch (MavenEmbedderException e) {
        e.printStackTrace(listener.error(e.getMessage()));
    } catch (ComponentLookupException e) {
        e.printStackTrace(listener.error(e.getMessage()));
    } catch (ArtifactDeploymentException e) {
        e.printStackTrace(listener.error(e.getMessage()));
    }
    // failed
    build.setResult(Result.FAILURE);
    listener.getLogger().println("[INFO] Deployment failed after "
            + Util.getTimeSpanString(System.currentTimeMillis() - startupTime));
    return true;
}

From source file:hudson.maven.reporters.MavenAbstractArtifactRecord.java

License:Open Source License

/**
 * Performs a redeployment./*from w w w .j a va2s.  c  om*/
 */
@RequirePOST
public final HttpResponse doRedeploy(@QueryParameter("_.id") final String id,
        @QueryParameter("_.url") final String repositoryUrl,
        @QueryParameter("_.uniqueVersion") final boolean uniqueVersion) throws ServletException, IOException {
    getACL().checkPermission(REDEPLOY);

    File logFile = new File(getBuild().getRootDir(), "maven-deployment." + records.size() + ".log");
    final Record record = new Record(repositoryUrl, logFile.getName());
    records.add(record);

    new TaskThread(this, ListenerAndText.forFile(logFile, this)) {
        protected void perform(TaskListener listener) throws Exception {
            try {
                MavenEmbedder embedder = MavenUtil.createEmbedder(listener, getBuild());
                ArtifactRepositoryLayout layout = embedder.lookup(ArtifactRepositoryLayout.class, "default");
                ArtifactRepositoryFactory factory = (ArtifactRepositoryFactory) embedder
                        .lookup(ArtifactRepositoryFactory.ROLE);

                ArtifactRepository repository = factory.createDeploymentArtifactRepository(id, repositoryUrl,
                        layout, uniqueVersion);
                WrappedArtifactRepository repo = new WrappedArtifactRepository(repository, uniqueVersion);
                deploy(embedder, repo, listener);

                record.result = Result.SUCCESS;
            } finally {
                if (record.result == null)
                    record.result = Result.FAILURE;
                // persist the record
                getBuild().save();
            }
        }
    }.start();

    return HttpRedirect.DOT;
}

From source file:org.efaps.maven_java5.EfapsAnnotationDescriptorExtractor.java

License:Open Source License

/**
 * Initialize the container from the context.
 *
 *///w w  w .jav a 2s  .  c  o m
public void contextualize(final Context _context) throws ContextException {
    final PlexusContainer container = (PlexusContainer) _context.get(PlexusConstants.PLEXUS_KEY);
    try {
        this.artifactRepositoryLayout = (ArtifactRepositoryLayout) container
                .lookup(ArtifactRepositoryLayout.ROLE);
    } catch (final ComponentLookupException e) {
        throw new ContextException("Could not get ArtifactRepositoryLayout from PlexusContainer", e);
    }
    try {
        this.artifactRepositoryFactory = (ArtifactRepositoryFactory) container
                .lookup(ArtifactRepositoryFactory.ROLE);
    } catch (final ComponentLookupException e) {
        throw new ContextException("Could not get ArtifactResolver from PlexusContainer", e);
    }
    try {
        this.settingsBuilder = (MavenSettingsBuilder) container.lookup(MavenSettingsBuilder.ROLE);
    } catch (final ComponentLookupException e) {
        throw new ContextException("Could not get ArtifactResolver from PlexusContainer", e);
    }
    try {
        this.artifactResolver = (ArtifactResolver) container.lookup(ArtifactResolver.ROLE);
    } catch (final ComponentLookupException e) {
        throw new ContextException("Could not get ArtifactResolver from PlexusContainer", e);
    }
    try {
        this.artifactFactory = (ArtifactFactory) container.lookup(ArtifactFactory.ROLE);
    } catch (final ComponentLookupException e) {
        throw new ContextException("Could not get ArtifactFactory from PlexusContainer", e);
    }
    try {
        this.artifactMetadataSource = (ArtifactMetadataSource) container.lookup(ArtifactMetadataSource.ROLE,
                "maven");
    } catch (final ComponentLookupException e) {
        throw new ContextException("Could not get ArtifactMetadataSource from PlexusContainer", e);
    }
}

From source file:org.nuxeo.build.maven.MavenEmbedder.java

License:Open Source License

public void start() throws MavenEmbedderException {
    detectUserInstallation();//from  w  ww  .j  a  v  a 2s  . c o  m

    // ----------------------------------------------------------------------
    // Set the maven.home system property which is need by components like
    // the plugin registry builder.
    // ----------------------------------------------------------------------

    if (classLoader == null) {
        throw new IllegalStateException("A classloader must be specified using setClassLoader(ClassLoader).");
    }

    embedder = new Embedder();

    if (logger != null) {
        embedder.setLoggerManager(new MavenEmbedderLoggerManager(new PlexusLoggerAdapter(logger)));
    }

    try {
        ClassWorld classWorld = new ClassWorld();

        classWorld.newRealm("plexus.core", classLoader);

        embedder.start(classWorld);

        // ----------------------------------------------------------------------
        // Lookup each of the components we need to provide the desired
        // client interface.
        // ----------------------------------------------------------------------

        modelReader = new MavenXpp3Reader();

        modelWriter = new MavenXpp3Writer();

        pluginDescriptorBuilder = new PluginDescriptorBuilder();

        profileManager = new DefaultProfileManager(embedder.getContainer(), (Properties) null);

        mavenProjectBuilder = (MavenProjectBuilder) embedder.lookup(MavenProjectBuilder.ROLE);

        // ----------------------------------------------------------------------
        // Artifact related components
        // ----------------------------------------------------------------------

        artifactRepositoryFactory = (ArtifactRepositoryFactory) embedder.lookup(ArtifactRepositoryFactory.ROLE);

        artifactFactory = (ArtifactFactory) embedder.lookup(ArtifactFactory.ROLE);

        artifactResolver = (ArtifactResolver) embedder.lookup(ArtifactResolver.ROLE);

        artifactMetadataSource = (ArtifactMetadataSource) embedder.lookup(ArtifactMetadataSource.ROLE);

        defaultArtifactRepositoryLayout = (ArtifactRepositoryLayout) embedder
                .lookup(ArtifactRepositoryLayout.ROLE, DEFAULT_LAYOUT_ID);

        lifecycleExecutor = (LifecycleExecutor) embedder.lookup(LifecycleExecutor.ROLE);

        wagonManager = (WagonManager) embedder.lookup(WagonManager.ROLE);

        createMavenSettings();

        profileManager.loadSettingsProfiles(settings);

        localRepository = createLocalRepository();
    } catch (PlexusContainerException e) {
        throw new MavenEmbedderException("Cannot start Plexus embedder.", e);
    } catch (DuplicateRealmException e) {
        throw new MavenEmbedderException("Cannot create Classworld realm for the embedder.", e);
    } catch (ComponentLookupException e) {
        throw new MavenEmbedderException("Cannot lookup required component.", e);
    }
}