private static void setFromOut(JadxArgs args) { if (args.getOutDirSrc() == null) { args.setOutDirSrc(new File(args.getOutDir(), JadxArgs.DEFAULT_SRC_DIR)); } if (args.getOutDirRes() == null) { args.setOutDirRes(new File(args.getOutDir(), JadxArgs.DEFAULT_RES_DIR)); } }
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()); }
private ExecutorService getSaveExecutor(boolean saveSources, boolean saveResources) { if (root == null) { throw new JadxRuntimeException("No loaded files"); } int threadsCount = args.getThreadsCount(); LOG.debug("processing threads count: {}", threadsCount); LOG.info("processing ..."); ExecutorService executor = Executors.newFixedThreadPool(threadsCount); File sourcesOutDir; File resOutDir; if (args.isExportAsGradleProject()) { ExportGradleProject export = new ExportGradleProject(root, args.getOutDir()); export.init(); sourcesOutDir = export.getSrcOutDir(); resOutDir = export.getResOutDir(); } else { sourcesOutDir = args.getOutDirSrc(); resOutDir = args.getOutDirRes(); } if (saveResources) { appendResourcesSave(executor, resOutDir); } if (saveSources) { appendSourcesSave(executor, sourcesOutDir); } return executor; }
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))); }