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;
21
22 import org.apache.maven.archetype.catalog.ArchetypeCatalog;
23 import org.apache.maven.archetype.repositorycrawler.RepositoryCrawler;
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
30
31
32
33
34
35
36
37
38 public class CrawlRepositoryMojo
39 extends AbstractMojo
40 {
41
42
43
44
45
46 private File catalogFile;
47
48
49
50
51 private RepositoryCrawler crawler;
52
53
54
55
56
57
58 private File repository;
59
60 public void execute ()
61 throws MojoExecutionException, MojoFailureException
62 {
63 System.err.println ( "repository " + repository );
64 System.err.println ( "catalogFile " + catalogFile );
65 if ( repository == null )
66 {
67 throw new MojoFailureException (
68 "The repository is not defined. Use -Drepository=/path/to/repository"
69 );
70 }
71
72 ArchetypeCatalog catalog = crawler.crawl ( repository );
73 if ( catalogFile == null )
74 {
75 catalogFile = new File ( repository, "archetype-catalog.xml" );
76 }
77 crawler.writeCatalog ( catalog, catalogFile );
78 }
79 }