private static void validateOutDirs(JadxArgs args) { File outDir = args.getOutDir(); File srcDir = args.getOutDirSrc(); File resDir = args.getOutDirRes(); if (outDir == null) { if (srcDir != null) { outDir = srcDir; } else if (resDir != null) { outDir = resDir; } else { outDir = makeDirFromInput(args); } } args.setOutDir(outDir); setFromOut(args); checkDir(args.getOutDir()); checkDir(args.getOutDirSrc()); checkDir(args.getOutDirRes()); }
public static void validate(JadxArgs args) { checkInputFiles(args); validateOutDirs(args); if (LOG.isDebugEnabled()) { LOG.debug("Effective jadx args: {}", args); } }
public void load() { reset(); JadxArgsValidator.validate(args); init(); LOG.info("loading ..."); loadFiles(args.getInputFiles()); root = new RootNode(args); root.load(inputFiles); root.initClassPath(); root.loadResources(getResources()); initVisitors(); }
private static void checkInputFiles(JadxArgs args) { List<File> inputFiles = args.getInputFiles(); if (inputFiles.isEmpty()) { throw new JadxArgsValidateException("Please specify input file"); } if (inputFiles.size() > 1) { for (File inputFile : inputFiles) { String fileName = inputFile.getName(); if (fileName.startsWith("--")) { throw new JadxArgsValidateException("Unknown argument: " + fileName); } } throw new JadxArgsValidateException("Only one input file supported"); } for (File file : inputFiles) { checkFile(file); } }
private void checkOutDirs(String outDir, String srcDir, String resDir) { JadxArgsValidator.validate(args); LOG.debug("Got dirs: out={}, src={}, res={}", args.getOutDir(), args.getOutDirSrc(), args.getOutDirRes()); assertThat(args.getOutDir(), is(toFile(outDir))); assertThat(args.getOutDirSrc(), is(toFile(srcDir))); assertThat(args.getOutDirRes(), is(toFile(resDir))); }