1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.maven.archetype.mojos.registry;
21
22 import org.apache.maven.archetype.common.ArchetypeRegistryManager;
23 import org.apache.maven.archetype.registry.ArchetypeRegistry;
24 import org.apache.maven.plugin.AbstractMojo;
25 import org.apache.maven.plugin.MojoExecutionException;
26 import org.apache.maven.plugin.MojoFailureException;
27
28 import java.io.File;
29 import java.io.FileNotFoundException;
30 import java.util.Iterator;
31
32
33
34
35
36
37
38
39
40
41
42
43 public class ShowExtensionsMojo
44 extends AbstractMojo
45 {
46
47 ArchetypeRegistryManager archetypeRegistryManager;
48
49
50
51
52
53
54 private File archetypeRegistryFile;
55
56 public void execute()
57 throws
58 MojoExecutionException,
59 MojoFailureException
60 {
61 try
62 {
63 ArchetypeRegistry registry;
64 try
65 {
66 registry = archetypeRegistryManager.readArchetypeRegistry( archetypeRegistryFile );
67 }
68 catch ( FileNotFoundException ex )
69 {
70 registry = archetypeRegistryManager.getDefaultArchetypeRegistry();
71 }
72
73 Iterator extensions = registry.getFilteredExtensions().iterator();
74
75 getLog().info( "Filtered extensions defined in " + archetypeRegistryFile );
76 while ( extensions.hasNext() )
77 {
78 getLog().info( " - " + extensions.next() );
79 }
80 }
81 catch ( Exception ex )
82 {
83 throw new MojoExecutionException( ex.getMessage(), ex );
84 }
85 }
86 }