1 package fr.jayasoft.ivy.tools.analyser; 2 3 import java.io.File ; 4 import java.io.IOException ; 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 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 ivyFile = new File (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 e) { 23 e.printStackTrace(); 25 } 26 } 27 } 28 29 public static void main(String [] 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 jarjarLocation = args[0]; 35 String pattern = args[1]; 36 37 JarJarDependencyAnalyser a = new JarJarDependencyAnalyser(new File (jarjarLocation)); 38 new RepositoryAnalyser().analyse(pattern, a); 39 } 40 } 41 | Popular Tags |