本文整理汇总了Java中org.apache.maven.DefaultMaven.newRepositorySession方法的典型用法代码示例。如果您正苦于以下问题:Java DefaultMaven.newRepositorySession方法的具体用法?Java DefaultMaven.newRepositorySession怎么用?Java DefaultMaven.newRepositorySession使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.maven.DefaultMaven
的用法示例。
在下文中一共展示了DefaultMaven.newRepositorySession方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: runMavenRequest
import org.apache.maven.DefaultMaven; //导入方法依赖的package包/类
public void runMavenRequest(MavenExecutionRequest request, Runnable runnable) {
DefaultMaven maven = (DefaultMaven) getMavenComponent(Maven.class);
RepositorySystemSession repositorySystemSession = maven.newRepositorySession(request);
request.getProjectBuildingRequest().setRepositorySession(repositorySystemSession);
MavenSession mavenSession =
new MavenSession(
container, repositorySystemSession, request, new DefaultMavenExecutionResult());
LegacySupport legacySupport = getMavenComponent(LegacySupport.class);
MavenSession previousSession = legacySupport.getSession();
legacySupport.setSession(mavenSession);
try {
for (AbstractMavenLifecycleParticipant participant :
getLifecycleParticipants(Collections.emptyList())) {
participant.afterSessionStart(mavenSession);
}
runnable.run();
} catch (MavenExecutionException e) {
throw new RuntimeException(e);
} finally {
legacySupport.setSession(previousSession);
}
}
示例2: executeWithMavenSession
import org.apache.maven.DefaultMaven; //导入方法依赖的package包/类
public void executeWithMavenSession(MavenExecutionRequest request, Runnable runnable) {
DefaultMaven maven = (DefaultMaven)getComponent(Maven.class);
RepositorySystemSession repositorySession = maven.newRepositorySession(request);
request.getProjectBuildingRequest().setRepositorySession(repositorySession);
MavenSession mavenSession = new MavenSession(myContainer, repositorySession, request, new DefaultMavenExecutionResult());
LegacySupport legacySupport = getComponent(LegacySupport.class);
MavenSession oldSession = legacySupport.getSession();
legacySupport.setSession(mavenSession);
try {
runnable.run();
}
finally {
legacySupport.setSession(oldSession);
}
}
示例3: newMavenSession
import org.apache.maven.DefaultMaven; //导入方法依赖的package包/类
protected MavenSession newMavenSession() {
try {
MavenExecutionRequest request = new DefaultMavenExecutionRequest();
MavenExecutionResult result = new DefaultMavenExecutionResult();
// populate sensible defaults, including repository basedir and remote repos
MavenExecutionRequestPopulator populator;
populator = getContainer().lookup( MavenExecutionRequestPopulator.class );
populator.populateDefaults( request );
// this is needed to allow java profiles to get resolved; i.e. avoid during project builds:
// [ERROR] Failed to determine Java version for profile java-1.5-detected @ org.apache.commons:commons-parent:22, /Users/alex/.m2/repository/org/apache/commons/commons-parent/22/commons-parent-22.pom, line 909, column 14
request.setSystemProperties( System.getProperties() );
// and this is needed so that the repo session in the maven session
// has a repo manager, and it points at the local repo
// (cf MavenRepositorySystemUtils.newSession() which is what is otherwise done)
DefaultMaven maven = (DefaultMaven) getContainer().lookup( Maven.class );
DefaultRepositorySystemSession repoSession =
(DefaultRepositorySystemSession) maven.newRepositorySession( request );
repoSession.setLocalRepositoryManager(
new SimpleLocalRepositoryManagerFactory().newInstance(repoSession,
new LocalRepository( request.getLocalRepository().getBasedir() ) ));
@SuppressWarnings("deprecation")
MavenSession session = new MavenSession( getContainer(),
repoSession,
request, result );
return session;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
示例4: newMavenSession
import org.apache.maven.DefaultMaven; //导入方法依赖的package包/类
protected MavenSession newMavenSession() {
try {
MavenExecutionRequest request = new DefaultMavenExecutionRequest();
MavenExecutionResult result = new DefaultMavenExecutionResult();
// populate sensible defaults, including repository basedir and remote repos
MavenExecutionRequestPopulator populator;
populator = getContainer().lookup(MavenExecutionRequestPopulator.class);
populator.populateDefaults(request);
// this is needed to allow java profiles to get resolved; i.e. avoid during project builds:
// [ERROR] Failed to determine Java version for profile java-1.5-detected @ org.apache.commons:commons-parent:22, /Users/alex/.m2/repository/org/apache/commons/commons-parent/22/commons-parent-22.pom, line 909, column 14
request.setSystemProperties(System.getProperties());
// and this is needed so that the repo session in the maven session
// has a repo manager, and it points at the local repo
// (cf MavenRepositorySystemUtils.newSession() which is what is otherwise done)
DefaultMaven maven = (DefaultMaven) getContainer().lookup(Maven.class);
DefaultRepositorySystemSession repoSession =
(DefaultRepositorySystemSession) maven.newRepositorySession(request);
repoSession.setLocalRepositoryManager(
new SimpleLocalRepositoryManagerFactory().newInstance(repoSession,
new LocalRepository(request.getLocalRepository().getBasedir())));
@SuppressWarnings("deprecation")
MavenSession session = new MavenSession(getContainer(),
repoSession,
request, result);
return session;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
示例5: resolveArtifact
import org.apache.maven.DefaultMaven; //导入方法依赖的package包/类
@Override
public MavenArtifact resolveArtifact(
MavenArtifactKey artifactKey, List<MavenRemoteRepository> repositories)
throws RemoteException {
Artifact artifact =
getMavenComponent(ArtifactFactory.class)
.createArtifactWithClassifier(
artifactKey.getGroupId(),
artifactKey.getArtifactId(),
artifactKey.getVersion(),
artifactKey.getPackaging(),
artifactKey.getClassifier());
List<ArtifactRepository> repos = new ArrayList<>();
ArtifactRepositoryFactory factory = getMavenComponent(ArtifactRepositoryFactory.class);
for (MavenRemoteRepository repository : repositories) {
try {
ArtifactRepository artifactRepository =
ProjectUtils.buildArtifactRepository(
MavenModelUtil.convertToMavenRepository(repository), factory, container);
repos.add(artifactRepository);
} catch (InvalidRepositoryException e) {
MavenServerContext.getLogger().error(e);
}
}
MavenExecutionRequest request =
newMavenRequest(
null, Collections.emptyList(), Collections.emptyList(), Collections.emptyList());
repos.forEach(request::addRemoteRepository);
DefaultMaven maven = (DefaultMaven) getMavenComponent(Maven.class);
RepositorySystemSession repositorySystemSession = maven.newRepositorySession(request);
org.eclipse.aether.impl.ArtifactResolver artifactResolver =
getMavenComponent(org.eclipse.aether.impl.ArtifactResolver.class);
InternalLoggerFactory loggerFactory = new InternalLoggerFactory();
if (artifactResolver instanceof DefaultArtifactResolver) {
((DefaultArtifactResolver) artifactResolver).setLoggerFactory(loggerFactory);
}
org.eclipse.aether.RepositorySystem repositorySystem =
getMavenComponent(org.eclipse.aether.RepositorySystem.class);
if (repositorySystem instanceof DefaultRepositorySystem) {
((DefaultRepositorySystem) repositorySystem).setLoggerFactory(loggerFactory);
}
List<RemoteRepository> remoteRepositories =
RepositoryUtils.toRepos(request.getRemoteRepositories());
remoteRepositories =
repositorySystem.newResolutionRepositories(repositorySystemSession, remoteRepositories);
try {
ArtifactResult artifactResult =
repositorySystem.resolveArtifact(
repositorySystemSession,
new ArtifactRequest(RepositoryUtils.toArtifact(artifact), remoteRepositories, null));
return MavenModelUtil.convertArtifact(
RepositoryUtils.toArtifact(artifactResult.getArtifact()), localRepository);
} catch (ArtifactResolutionException ignored) {
// we need ignore exception, it's some times has class that client doesn't has
// .printStackTrace() may be solution, but it will spam wsagent logs
}
return MavenModelUtil.convertArtifact(artifact, localRepository);
}
示例6: lookupConfiguredMojo
import org.apache.maven.DefaultMaven; //导入方法依赖的package包/类
public E lookupConfiguredMojo(File pom, String goal, TestDB testDb) throws Exception {
// Mojoテストリソースディレクトリのパスをシステムプロパティに設定しておく
// System.setProperty("MojoTestRoot", getMojoTestRoot());
// 各DBの接続情報をシステムプロパティへマージする
Properties prop = new Properties();
prop.load(new FileInputStream(new File(Thread.currentThread().getContextClassLoader().getResource("jdbc_test.properties").getPath())));
System.getProperties().putAll(prop);
// Maven実行リクエスト初期化
MavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest();
// テスト用のsettingファイルで初期化
// File settings = new File(this.getClass().getResource("settings.xml").getPath());
File settings = new File(Thread.currentThread().getContextClassLoader().getResource("settings.xml").getPath());
MavenExecutionRequestPopulator populator = getContainer().lookup(MavenExecutionRequestPopulator.class);
MavenSettingsBuilder mb = this.lookup(MavenSettingsBuilder.class);
Settings st = mb.buildSettings(settings);
populator.populateFromSettings(executionRequest, st);
// カレントディレクトリをセット
executionRequest.setBaseDirectory(pom.getParentFile());
// プロファイルを指定DBのプロファイルにセット
executionRequest.setActiveProfiles(Collections.singletonList(testDb.name()));
// ローカルリポジトリオブジェクトのセット
String localRepoPath = this.getClass().getResource("testLocalRepo").toURI().toURL().toString();
executionRequest.setLocalRepository(new MavenArtifactRepository(RepositorySystem.DEFAULT_LOCAL_REPO_ID,
localRepoPath, new DefaultRepositoryLayout(),
new ArtifactRepositoryPolicy(), new ArtifactRepositoryPolicy()));
// 実行プロジェクトを作成
ProjectBuildingRequest buildingRequest = executionRequest.getProjectBuildingRequest();
DefaultMaven maven = (DefaultMaven) getContainer().lookup(Maven.class);
DefaultRepositorySystemSession repoSession = (DefaultRepositorySystemSession) maven
.newRepositorySession(executionRequest);
repoSession.setOffline(true);
buildingRequest.setRepositorySession(repoSession);
ProjectBuilder projectBuilder = this.lookup(ProjectBuilder.class);
MavenProject project = projectBuilder.build(pom, buildingRequest).getProject();
currentMavenExecutionRequest = executionRequest;
// 指定ゴールを持つMojoを取得
Mojo mojo = this.lookupConfiguredMojo(project, goal);
currentProject = project;
return (E) mojo;
}