in core-it-support/core-it-plugins/maven-it-plugin-expression/src/main/java/org/apache/maven/plugin/coreit/EvalMojo.java [126:170]
public void execute() throws MojoExecutionException, MojoFailureException {
if (outputFile == null) {
throw new MojoFailureException("Path name for output file has not been specified");
}
/*
* NOTE: We don't want to test path translation here.
*/
if (!outputFile.isAbsolute()) {
outputFile = new File(basedir, outputFile.getPath()).getAbsoluteFile();
}
getLog().info("[MAVEN-CORE-IT-LOG] Creating output file: " + outputFile);
Properties expressionProperties = new Properties();
if (expressionList != null && expressionList.length() > 0) {
expressions = expressionList.split(",");
}
if (expressions != null && expressions.length > 0) {
Map contexts = new HashMap();
contexts.put("project", project);
contexts.put("executedProject", executedProject);
contexts.put("pom", project);
contexts.put("settings", settings);
contexts.put("session", session);
contexts.put("localRepositoryBasedir", localRepositoryBasedir);
for (String expression : expressions) {
Map values = ExpressionUtil.evaluate(expression, contexts);
for (Object key : values.keySet()) {
Object value = values.get(key);
PropertyUtil.store(expressionProperties, key.toString().replace('/', '.'), value);
}
}
}
try {
PropertyUtil.write(expressionProperties, outputFile);
} catch (IOException e) {
throw new MojoExecutionException("Output file could not be created: " + outputFile, e);
}
getLog().info("[MAVEN-CORE-IT-LOG] Created output file: " + outputFile);
}