public void copyProperties()

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());
    }