210 if (i < args.length) { 211 jdkhome = args[i++]; 212 } else { 213 usage(); 214 } 215 } else if (arg.equals("-output")) { 216 output = args[i++]; 217 } else { 218 usage(); 219 } 220 } 221 if (jdkhome == null) { 222 usage(); 223 } 224 225 // parse annotation and code attribute to find all references 226 // to Class.forName etc 227 CodeAttributeParser.setParseCodeAttribute(true); 228 AnnotationParser.setParseAnnotation(true); 229 230 ClassPath.setJDKHome(jdkhome); 231 ClassPath.parseAllClassFiles(); 232 233 PrintWriter writer = new PrintWriter(new File(output, "jdk7.depconfig")); 234 235 try { 236 for (Klass k : Klass.getAllClasses()) { 237 for (AnnotatedDependency dep : k.getAnnotatedDeps()) { 238 if (dep.isEmpty()) { 239 continue; 240 } 241 writer.format("# %s \n", dep.method == null ? dep.from : dep.method); 242 writer.format("%s\n\n", dep); 243 } 244 } 245 } finally { 246 writer.close(); 247 } 248 249 writer = new PrintWriter(new File(output, "optional.depconfig")); 250 try { 251 AnnotatedDependency prev = null; 252 for (AnnotatedDependency dep : AnnotatedDependency.optionalDependencies) { 253 if (prev != null && !dep.equals(prev)) { 254 writer.format("%s\n\n", prev); | 210 if (i < args.length) { 211 jdkhome = args[i++]; 212 } else { 213 usage(); 214 } 215 } else if (arg.equals("-output")) { 216 output = args[i++]; 217 } else { 218 usage(); 219 } 220 } 221 if (jdkhome == null) { 222 usage(); 223 } 224 225 // parse annotation and code attribute to find all references 226 // to Class.forName etc 227 CodeAttributeParser.setParseCodeAttribute(true); 228 AnnotationParser.setParseAnnotation(true); 229 230 ClassPaths cpaths = ClassPaths.newJDKClassPaths(jdkhome); 231 cpaths.parse(); 232 233 PrintWriter writer = new PrintWriter(new File(output, "jdk7.depconfig")); 234 try { 235 for (Klass k : Klass.getAllClasses()) { 236 for (AnnotatedDependency dep : k.getAnnotatedDeps()) { 237 if (dep.isEmpty()) { 238 continue; 239 } 240 writer.format("# %s \n", dep.method == null ? dep.from : dep.method); 241 writer.format("%s\n\n", dep); 242 } 243 } 244 } finally { 245 writer.close(); 246 } 247 248 writer = new PrintWriter(new File(output, "optional.depconfig")); 249 try { 250 AnnotatedDependency prev = null; 251 for (AnnotatedDependency dep : AnnotatedDependency.optionalDependencies) { 252 if (prev != null && !dep.equals(prev)) { 253 writer.format("%s\n\n", prev); |