public void process()

in src/main/java/org/apache/maven/resolver/internal/ant/tasks/Resolve.java [308:349]


        public void process(Artifact artifact, RepositorySystemSession session) {
            if (dir != null) {
                if (refid != null && fileset == null) {
                    fileset = new FileSet();
                    fileset.setProject(getProject());
                    fileset.setDir(dir);
                    getProject().addReference(refid, fileset);
                }

                String path = layout.getPath(artifact);

                if (fileset != null) {
                    fileset.createInclude().setName(path);
                }

                File src = artifact.getFile();
                File dst = new File(dir, path);

                if (src.lastModified() != dst.lastModified() || src.length() != dst.length()) {
                    try {
                        Resolve.this.log("Copy " + src + " to " + dst, Project.MSG_VERBOSE);
                        FileUtils.getFileUtils().copyFile(src, dst, null, true, true);
                    } catch (IOException e) {
                        throw new BuildException(
                                "Failed to copy artifact file " + src + " to " + dst + ": " + e.getMessage(), e);
                    }
                } else {
                    Resolve.this.log("Omit to copy " + src + " to " + dst + ", seems unchanged", Project.MSG_VERBOSE);
                }
            } else {
                if (resources == null) {
                    resources = new Resources();
                    resources.setProject(getProject());
                    getProject().addReference(refid, resources);
                }

                FileResource resource = new FileResource(artifact.getFile());
                resource.setBaseDir(session.getLocalRepository().getBasedir());
                resource.setProject(getProject());
                resources.add(resource);
            }
        }