in src/main/java/org/apache/maven/plugins/antrun/AntRunMojo.java [402:457]
public void copyProperties(MavenProject mavenProject, Project antProject) {
Properties mavenProps = mavenProject.getProperties();
Properties userProps = session.getUserProperties();
List<String> allPropertyKeys = new ArrayList<>(mavenProps.stringPropertyNames());
allPropertyKeys.addAll(userProps.stringPropertyNames());
for (String key : allPropertyKeys) {
String value = userProps.getProperty(key, mavenProps.getProperty(key));
antProject.setProperty(key, value);
}
// Set the POM file as the ant.file for the tasks run directly in Maven.
antProject.setProperty("ant.file", mavenProject.getFile().getAbsolutePath());
// Add some of the common Maven properties
getLog().debug("Setting properties with prefix: " + propertyPrefix);
antProject.setProperty((propertyPrefix + "project.groupId"), mavenProject.getGroupId());
antProject.setProperty((propertyPrefix + "project.artifactId"), mavenProject.getArtifactId());
antProject.setProperty((propertyPrefix + "project.name"), mavenProject.getName());
if (mavenProject.getDescription() != null) {
antProject.setProperty((propertyPrefix + "project.description"), mavenProject.getDescription());
}
antProject.setProperty((propertyPrefix + "project.version"), mavenProject.getVersion());
antProject.setProperty((propertyPrefix + "project.packaging"), mavenProject.getPackaging());
antProject.setProperty(
(propertyPrefix + "project.build.directory"),
mavenProject.getBuild().getDirectory());
antProject.setProperty(
(propertyPrefix + "project.build.outputDirectory"),
mavenProject.getBuild().getOutputDirectory());
antProject.setProperty(
(propertyPrefix + "project.build.testOutputDirectory"),
mavenProject.getBuild().getTestOutputDirectory());
antProject.setProperty(
(propertyPrefix + "project.build.sourceDirectory"),
mavenProject.getBuild().getSourceDirectory());
antProject.setProperty(
(propertyPrefix + "project.build.testSourceDirectory"),
mavenProject.getBuild().getTestSourceDirectory());
antProject.setProperty((propertyPrefix + "localRepository"), localRepository.toString());
antProject.setProperty((propertyPrefix + "settings.localRepository"), localRepository.getBasedir());
// Add properties for dependency artifacts
Set<Artifact> depArtifacts = mavenProject.getArtifacts();
for (Artifact artifact : depArtifacts) {
String propName = artifact.getDependencyConflictId();
antProject.setProperty(propertyPrefix + propName, artifact.getFile().getPath());
}
// Add a property containing the list of versions for the mapper
StringBuilder versionsBuffer = new StringBuilder();
for (Artifact artifact : depArtifacts) {
versionsBuffer.append(artifact.getVersion()).append(File.pathSeparator);
}
antProject.setProperty(versionsPropertyName, versionsBuffer.toString());
}