1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.geronimo.genesis.plugins.tools;
21
22 import org.apache.geronimo.genesis.MojoSupport;
23 import org.apache.maven.project.MavenProject;
24 import org.apache.maven.artifact.Artifact;
25
26 import java.io.File;
27
28 /**
29 * Helper to install a specific file (or the projects pom) as the projects artifact file.
30 *
31 * <p>
32 * Custom packaging will need to define a artifact handler plexus component to map desired file extention.
33 * </p>
34 *
35 * @goal set-artifact-file
36 * @phase package
37 *
38 * @version $Rev: 452992 $ $Date: 2006-10-04 12:53:30 -0700 (Wed, 04 Oct 2006) $
39 */
40 public class SetProjectFileMojo
41 extends MojoSupport
42 {
43 /**
44 * The maven project.
45 *
46 * @parameter expression="${project}"
47 * @required
48 * @readonly
49 */
50 protected MavenProject project;
51
52 /**
53 * The target file to set as the project's artifact.
54 *
55 * @parameter expression="${project.file}"
56 * @required
57 */
58 private File targetFile;
59
60 protected void doExecute() throws Exception {
61 log.info("Setting artifact file: " + targetFile);
62
63 Artifact artifact = project.getArtifact();
64 artifact.setFile(targetFile);
65 }
66 }