/** * Creates a Verifier against passed in {@link MavenDeployment}. * * @param mavenDeployment * @return * @throws VerificationException * @throws IOException */ public Verifier createMavenVerifier(final MavenDeployment mavenDeployment) throws VerificationException, IOException { System.setProperty("maven.home", mavenDeployment.getMavenHomeFile().getAbsolutePath()); Verifier verifier = new Verifier(mavenDeployment.getMavenProjectFile().getAbsolutePath()) { @Override public void executeGoals(List<String> goals, Map envVars) throws VerificationException { try { super.executeGoals(goals, envVars); } catch (VerificationException e) { // HACK: Strip out the entire log which is included in the message by default! :-( File logFile = new File(getBasedir(), getLogFileName()); throw new VerificationException( "Goals execution failed: " + goals + "; see log for more details: " + logFile.getAbsolutePath(), e.getCause()); } } }; verifier.setLogFileName(mavenDeployment.getLogFileName()); verifier.setLocalRepo(mavenDeployment.getLocalRepositoryFile().getAbsolutePath()); verifier.resetStreams(); List<String> options = new ArrayList<String>(); options.add("-X"); options.add("-Dmaven.repo.local=" + mavenDeployment.getLocalRepositoryFile().getAbsolutePath()); options.add("-s " + mavenDeployment.getSettingsXmlFile().getAbsolutePath()); verifier.setCliOptions(options); return verifier; }
public void run() { status = "started"; File mavenProject = getTestFile("pom.xml").getParentFile(); System.setProperty("maven.home", TestProperties.getString("maven.instance")); Verifier verifier; try { verifier = new Verifier(mavenProject.getAbsolutePath(), false); status = "verifierCreated"; } catch (VerificationException e) { status = "failCreation" + e.getMessage(); return; } File mavenRepository = new File(TestProperties.getString("maven.local.repo")); verifier.setLocalRepo(mavenRepository.getAbsolutePath()); verifier.resetStreams(); List<String> options = new ArrayList<String>(); options.add("-X"); options.add("-Dmaven.repo.local=" + mavenRepository.getAbsolutePath()); options.add("-s " + getOverridableFile("settings.xml")); verifier.setCliOptions(options); status = "pre-execute"; try { verifier.executeGoal("dependency:resolve"); status = "executed"; } catch (VerificationException e) { status = "failExecute" + e.getMessage(); } }
@SuppressWarnings("unchecked") protected Verifier getVerifier(String test, boolean setTargetPlatform, File userSettings) throws Exception { /* Test JVM can be started in debug mode by passing the following env to execute(...) methods. java.util.Map<String, String> env = new java.util.HashMap<String, String>(); env.put("MAVEN_OPTS", "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"); */ // oddly enough, Verifier uses this system property to locate maven install System.setProperty("maven.home", getMavenHome()); File testDir = getBasedir(test); Verifier verifier = new Verifier(testDir.getAbsolutePath()); verifier.getCliOptions().add("-Dmaven.home=" + getMavenHome()); verifier.getCliOptions().add("-Dtycho-version=" + getTychoVersion()); if (setTargetPlatform) { verifier.getCliOptions().add("-Dtycho.targetPlatform=" + getTargetPlatforn()); } verifier.getCliOptions().add("-X"); verifier.getCliOptions().add("-s " + userSettings.getCanonicalPath()); verifier.getVerifierProperties().put("use.mavenRepoLocal", "true"); verifier.setLocalRepo(EnvironmentUtil.getLocalRepo()); String customOptions = System.getProperty("it.cliOptions"); if (customOptions != null && customOptions.trim().length() > 0) { verifier.getCliOptions().add(customOptions); } String m2eState = System.getProperty("m2eclipse.workspace.state"); String m2eResolver = System.getProperty("m2eclipse.workspace.resolver"); if (m2eState != null && m2eResolver != null) { verifier.getVerifierProperties().put("m2eclipse.workspace.state", m2eState); } return verifier; }