本文整理汇总了Java中org.apache.maven.execution.MavenExecutionRequestPopulator类的典型用法代码示例。如果您正苦于以下问题:Java MavenExecutionRequestPopulator类的具体用法?Java MavenExecutionRequestPopulator怎么用?Java MavenExecutionRequestPopulator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MavenExecutionRequestPopulator类属于org.apache.maven.execution包,在下文中一共展示了MavenExecutionRequestPopulator类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: newMavenRequest
import org.apache.maven.execution.MavenExecutionRequestPopulator; //导入依赖的package包/类
public MavenExecutionRequest newMavenRequest(
File pom, List<String> activeProfiles, List<String> inactiveProfiles, List<String> goals) {
MavenExecutionRequest request = new DefaultMavenExecutionRequest();
try {
getMavenComponent(MavenExecutionRequestPopulator.class)
.populateFromSettings(request, settings);
request.setGoals(goals);
request.setPom(pom);
getMavenComponent(MavenExecutionRequestPopulator.class).populateDefaults(request);
request.setSystemProperties(properties);
request.setActiveProfiles(activeProfiles);
request.setInactiveProfiles(inactiveProfiles);
request.setStartTime(buildDate);
return request;
} catch (MavenExecutionRequestPopulationException e) {
throw new RuntimeException(e);
}
}
示例2: MavenEmbedder
import org.apache.maven.execution.MavenExecutionRequestPopulator; //导入依赖的package包/类
MavenEmbedder(EmbedderConfiguration configuration) throws ComponentLookupException {
embedderConfiguration = configuration;
plexus = configuration.getContainer();
this.maven = (DefaultMaven) plexus.lookup(Maven.class);
this.projectBuilder = plexus.lookup(ProjectBuilder.class);
this.repositorySystem = plexus.lookup(RepositorySystem.class);
this.settingsBuilder = plexus.lookup(SettingsBuilder.class);
this.populator = plexus.lookup(MavenExecutionRequestPopulator.class);
settingsDecrypter = plexus.lookup(SettingsDecrypter.class);
}
示例3: newMavenSession
import org.apache.maven.execution.MavenExecutionRequestPopulator; //导入依赖的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: lookupConfiguredMojo
import org.apache.maven.execution.MavenExecutionRequestPopulator; //导入依赖的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;
}