1 package org.apache.maven.archetype.mojos;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.archetype.ArchetypeManager;
23 import org.apache.maven.archetype.catalog.Archetype;
24 import org.apache.maven.plugin.AbstractMojo;
25 import org.apache.maven.plugin.MojoExecutionException;
26 import org.apache.maven.plugins.annotations.Component;
27 import org.apache.maven.plugins.annotations.LifecyclePhase;
28 import org.apache.maven.plugins.annotations.Mojo;
29 import org.apache.maven.plugins.annotations.Parameter;
30 import org.apache.maven.project.MavenProject;
31 import org.codehaus.plexus.util.StringUtils;
32
33
34
35
36
37
38 @Mojo( name = "update-local-catalog", defaultPhase = LifecyclePhase.INSTALL )
39 public class UpdateLocalCatalogMojo
40 extends AbstractMojo
41 {
42
43 @Component
44 private ArchetypeManager manager;
45
46
47
48
49 @Parameter( defaultValue = "${project}", readonly = true, required = true )
50 private MavenProject project;
51
52 public void execute()
53 throws MojoExecutionException
54 {
55 Archetype archetype = new Archetype();
56 archetype.setGroupId( project.getGroupId() );
57 archetype.setArtifactId( project.getArtifactId() );
58 archetype.setVersion( project.getVersion() );
59
60 if ( StringUtils.isNotEmpty( project.getDescription() ) )
61 {
62 archetype.setDescription( project.getDescription() );
63 }
64 else
65 {
66 archetype.setDescription( project.getName() );
67 }
68
69 manager.updateLocalCatalog( archetype );
70 }
71 }