KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > jayasoft > ivy > tools > analyser > RepositoryAnalyser


1 package fr.jayasoft.ivy.tools.analyser;
2
3 import java.io.File JavaDoc;
4 import java.io.IOException JavaDoc;
5
6 import fr.jayasoft.ivy.DefaultArtifact;
7 import fr.jayasoft.ivy.ModuleDescriptor;
8 import fr.jayasoft.ivy.util.IvyPatternHelper;
9 import fr.jayasoft.ivy.util.Message;
10 import fr.jayasoft.ivy.xml.XmlModuleDescriptorWriter;
11
12 public class RepositoryAnalyser {
13     public void analyse(String JavaDoc pattern, DependencyAnalyser depAnalyser) {
14         JarModuleFinder finder = new JarModuleFinder(pattern);
15         ModuleDescriptor[] mds = depAnalyser.analyze(finder.findJarModules());
16         Message.info("found "+mds.length+" modules");
17         for (int i = 0; i < mds.length; i++) {
18             File JavaDoc ivyFile = new File JavaDoc(IvyPatternHelper.substitute(pattern, DefaultArtifact.newIvyArtifact(mds[i].getModuleRevisionId(), mds[i].getPublicationDate())));
19             try {
20                 Message.info("generating "+ivyFile);
21                 XmlModuleDescriptorWriter.write(mds[i], ivyFile);
22             } catch (IOException JavaDoc e) {
23                 // TODO Auto-generated catch block
24
e.printStackTrace();
25             }
26         }
27     }
28     
29     public static void main(String JavaDoc[] args) {
30         if (args.length != 2) {
31             System.out.println("usage: ivyanalyser path/to/jarjar.jar absolute-ivy-repository-pattern");
32             return;
33         }
34         String JavaDoc jarjarLocation = args[0];
35         String JavaDoc pattern = args[1];
36
37         JarJarDependencyAnalyser a = new JarJarDependencyAnalyser(new File JavaDoc(jarjarLocation));
38         new RepositoryAnalyser().analyse(pattern, a);
39     }
40 }
41
Popular Tags