Example usage for org.apache.maven.repository RepositorySystem createDefaultLocalRepository

List of usage examples for org.apache.maven.repository RepositorySystem createDefaultLocalRepository

Introduction

In this page you can find the example usage for org.apache.maven.repository RepositorySystem createDefaultLocalRepository.

Prototype

ArtifactRepository createDefaultLocalRepository() throws InvalidRepositoryException;

Source Link

Usage

From source file:org.sonatype.gshell.commands.artifact.ResolveCommand.java

License:Apache License

public Object execute(final CommandContext context) throws Exception {
    assert context != null;
    IO io = context.getIo();//from w  ww  . j  a v a  2s .  c o m

    RepositorySystem rsys = plexus.lookup(RepositorySystem.class);

    ArtifactResolutionRequest request = new ArtifactResolutionRequest();

    String[] items = resolveId.split(":", 3);
    if (items.length != 3) {
        io.error("Invalid artifact resolution id: {}", resolveId); // TODO: i18n
        return Result.FAILURE;
    }

    String groupId = items[0];
    String artifactId = items[1];
    String version = items[2];

    Artifact artifact;
    if (classifier != null) {
        artifact = rsys.createArtifactWithClassifier(groupId, artifactId, version, type, classifier);
    } else {
        artifact = rsys.createArtifact(groupId, artifactId, version, type);
    }
    io.println("Resolving artifact: {}", artifact); // TODO: i18n

    //
    // TODO: Bring the ArtifactManager/ArtifactRepsitoryManager back to manage these components

    request.setLocalRepository(rsys.createDefaultLocalRepository());
    request.setRemoteRepositories(Collections.singletonList(rsys.createDefaultRemoteRepository()));

    request.setResolveRoot(true);
    request.setResolveTransitively(transitive);
    request.setArtifact(artifact);

    if (scope != null) {
        io.debug("Using scope: {}", scope);
        request.setCollectionFilter(new ScopeArtifactFilter(scope));
    }

    request.setOffline(offline);
    request.setTransferListener(new ProgressSpinnerMonitor(io));
    ArtifactResolutionResult result = rsys.resolve(request);

    Set<Artifact> artifacts = result.getArtifacts();
    io.println("Resolved artifacts:"); // TODO: i18n
    for (Artifact a : artifacts) {
        io.println("    {}", a);
    }

    return Result.SUCCESS;
}

From source file:org.sonatype.maven.archetype.commands.CreateCommand.java

License:Open Source License

public Object execute(final CommandContext context) throws Exception {
    assert context != null;
    IO io = context.getIo();//from  ww w. j a v  a  2s . c  o  m
    Variables vars = context.getVariables();

    io.println("Creating archetype from: {}", pomFile.getAbsoluteFile()); // TODO: i18n

    MavenProject project = buildProject(context);
    log.debug("Built project: {}", project);

    log.debug("Configuring");
    ArchetypeCreationConfigurator configurator = plexus.lookup(ArchetypeCreationConfigurator.class);
    Properties config = configurator.configureArchetypeCreation(project, !batch, props, null, languages);

    RepositorySystem rsys = plexus.lookup(RepositorySystem.class);

    ArchetypeCreationRequest request = new ArchetypeCreationRequest().setProject(project).setProperties(config)
            .setLanguages(languages).setFilteredExtensions(filteredExtensions).setPreserveCData(preserveCDATA)
            .setKeepParent(keepParent).setPartialArchetype(partial)
            .setLocalRepository(rsys.createDefaultLocalRepository()).setPackageName(packageName);

    if (registryFile == null) {
        File dir = vars.get(SHELL_USER_HOME, File.class);
        registryFile = new File(dir, ".m2/archetype.xml");
    }
    request.setArchetypeRegistryFile(registryFile);

    if (outputDirectory != null) {
        request.setOutputDirectory(outputDirectory);
    } else {
        // HACK: Default dir is not rooted
        System.setProperty("user.dir", vars.get(SHELL_USER_DIR, File.class).getAbsolutePath());
    }

    log.debug("Creating archetype");
    ArchetypeManager archetypeManager = plexus.lookup(ArchetypeManager.class);
    ArchetypeCreationResult result = archetypeManager.createArchetypeFromProject(request);

    if (result.getCause() != null) {
        throw result.getCause();
    }

    // HACK: Prompter has some issues, so add a newline
    io.out.println();

    io.println("Archetype created in: {}", request.getOutputDirectory().getAbsolutePath()); // TODO: i18n

    return Result.SUCCESS;
}

From source file:org.sonatype.maven.archetype.commands.CreateCommand.java

License:Open Source License

private MavenProject buildProject(final CommandContext context) throws Exception {
    assert context != null;

    ProjectBuilder builder = plexus.lookup(ProjectBuilder.class);
    ProjectBuildingRequest request = new DefaultProjectBuildingRequest();

    RepositorySystem rsys = plexus.lookup(RepositorySystem.class);
    request.setLocalRepository(rsys.createDefaultLocalRepository());
    request.setRemoteRepositories(Collections.singletonList(rsys.createDefaultRemoteRepository()));

    //        request.setLocalRepository( getLocalRepository() );
    //        request.setSystemProperties( getSystemProperties() );
    //        request.setUserProperties( getUserProperties() );
    //        request.setRemoteRepositories( getRemoteRepositories() );
    //        request.setPluginArtifactRepositories( getPluginArtifactRepositories() );
    //        request.setRepositoryCache( getRepositoryCache() );
    //        request.setOffline( isOffline() );
    //        request.setForceUpdate( isUpdateSnapshots() );
    //        request.setServers( getServers() );
    //        request.setMirrors( getMirrors() );
    //        request.setProxies( getProxies() );
    //        request.setActiveProfileIds( getActiveProfiles() );
    //        request.setInactiveProfileIds( getInactiveProfiles() );
    //        request.setProfiles( getProfiles() );
    //        request.setProcessPlugins( true );
    //        request.setBuildStartTime( getStartTime() );
    //        request.setTransferListener( getTransferListener() );

    ProjectBuildingResult result = builder.build(pomFile, request);

    // TODO: Handle problems?

    return result.getProject();
}

From source file:org.sonatype.maven.archetype.commands.RealizeCommand.java

License:Open Source License

public Object execute(final CommandContext context) throws Exception {
    assert context != null;
    IO io = context.getIo();/*from   ww w.j a  va2 s  .  c  om*/
    Variables vars = context.getVariables();

    RepositorySystem rsys = plexus.lookup(RepositorySystem.class);
    ArchetypeGenerationRequest request = new ArchetypeGenerationRequest()
            .setLocalRepository(rsys.createDefaultLocalRepository())
            .setRemoteArtifactRepositories(Collections.singletonList(rsys.createDefaultRemoteRepository()));

    if (outputDirectory == null) {
        outputDirectory = new File(vars.get(SHELL_USER_DIR, String.class));
    }
    request.setOutputDirectory(outputDirectory.getAbsolutePath());

    if (archetypeId != null) {
        String[] items = archetypeId.split(":", 3);
        if (items.length != 3) {
            io.error("Invalid archetype id: {}", archetypeId); // TODO: i18n
            return Result.FAILURE;
        }

        request.setArchetypeGroupId(items[0]).setArchetypeArtifactId(items[1]).setArchetypeVersion(items[2]);
    }

    ArchetypeSelector selector = plexus.lookup(ArchetypeSelector.class);

    selector.selectArchetype(request, !batch, catalog);

    ArchetypeGenerationConfigurator configurator = plexus.lookup(ArchetypeGenerationConfigurator.class);
    configurator.configureArchetype(request, !batch, props);

    ArchetypeManager archetypeManager = plexus.lookup(ArchetypeManager.class);
    ArchetypeGenerationResult generationResult = archetypeManager.generateProjectFromArchetype(request);
    if (generationResult.getCause() != null) {
        throw generationResult.getCause();
    }

    return Result.SUCCESS;
}