< prev index next >

src/jdk.jextract/share/classes/com/sun/tools/jextract/Main.java

Print this page

        

*** 83,103 **** throw new IllegalArgumentException(format("not.a.directory", kv.key)); } } Utils.validPackageName(pkgName); ! ctx.usePackageForFolder(p, pkgName); ! } ! ! private void processHeader(Object header) { ! Path p = Paths.get((String) header); ! if (!Files.isReadable(p)) { ! throw new IllegalArgumentException(format("cannot.read.header.file", header)); ! } ! p = p.toAbsolutePath(); ! ctx.usePackageForFolder(p.getParent(), targetPackage); ! ctx.addSource(p); } private void setupLogging(Level level) { Logger logger = ctx.logger; logger.setUseParentHandlers(false); --- 83,93 ---- throw new IllegalArgumentException(format("not.a.directory", kv.key)); } } Utils.validPackageName(pkgName); ! ctx.addPackageMapping(p, pkgName); } private void setupLogging(Level level) { Logger logger = ctx.logger; logger.setUseParentHandlers(false);
*** 249,270 **** } } else if (infer_rpath) { ctx.err.println(format("warn.rpath.auto.without.L")); } - targetPackage = options.has("t") ? (String) options.valueOf("t") : ""; - if (!targetPackage.isEmpty()) { - Utils.validPackageName(targetPackage); - } - if (options.has("m")) { options.valuesOf("m").forEach(this::processPackageMapping); } try { ! options.nonOptionArguments().stream().forEach(this::processHeader); ! ctx.parse(); } catch (RuntimeException re) { ctx.err.println(re.getMessage()); if (Main.DEBUG) { re.printStackTrace(ctx.err); } --- 239,269 ---- } } else if (infer_rpath) { ctx.err.println(format("warn.rpath.auto.without.L")); } if (options.has("m")) { options.valuesOf("m").forEach(this::processPackageMapping); } + final Writer writer; + try { ! for (Object header : options.nonOptionArguments()) { ! Path p = Paths.get((String)header); ! if (!Files.isReadable(p)) { ! throw new IllegalArgumentException(format("cannot.read.header.file", header)); ! } ! p = p.normalize().toAbsolutePath(); ! ctx.addSource(p); ! } ! targetPackage = options.has("t") ? (String) options.valueOf("t") : ""; ! if (!targetPackage.isEmpty()) { ! Utils.validPackageName(targetPackage); ! } ! ctx.setTargetPackage(targetPackage); ! writer = new JextractTool(ctx).processHeaders(); } catch (RuntimeException re) { ctx.err.println(re.getMessage()); if (Main.DEBUG) { re.printStackTrace(ctx.err); }
*** 286,296 **** Files.createDirectories(dest); } else if (!Files.isDirectory(dest)) { ctx.err.println(format("not.a.directory", dest)); return 4; } ! ctx.collectClassFiles(dest, args, targetPackage); } catch (IOException ex) { ctx.err.println(format("cannot.write.class.file", dest, ex)); if (Main.DEBUG) { ex.printStackTrace(ctx.err); } --- 285,295 ---- Files.createDirectories(dest); } else if (!Files.isDirectory(dest)) { ctx.err.println(format("not.a.directory", dest)); return 4; } ! writer.writeClassFiles(dest, args); } catch (IOException ex) { ctx.err.println(format("cannot.write.class.file", dest, ex)); if (Main.DEBUG) { ex.printStackTrace(ctx.err); }
*** 306,316 **** } else { outputName = Paths.get((String)options.nonOptionArguments().get(0)).getFileName() + ".jar"; } try { ! ctx.collectJarFile(Paths.get(outputName), args, targetPackage); } catch (IOException ex) { ctx.err.println(format("cannot.write.jar.file", outputName, ex)); if (Main.DEBUG) { ex.printStackTrace(ctx.err); } --- 305,315 ---- } else { outputName = Paths.get((String)options.nonOptionArguments().get(0)).getFileName() + ".jar"; } try { ! writer.writeJarFile(Paths.get(outputName), args); } catch (IOException ex) { ctx.err.println(format("cannot.write.jar.file", outputName, ex)); if (Main.DEBUG) { ex.printStackTrace(ctx.err); }
*** 318,328 **** } return 0; } ! private static Path getBuiltinHeadersDir() { return Paths.get(System.getProperty("java.home"), "conf", "jextract"); } public static void main(String... args) { Main instance = new Main(new Context()); --- 317,327 ---- } return 0; } ! static Path getBuiltinHeadersDir() { return Paths.get(System.getProperty("java.home"), "conf", "jextract"); } public static void main(String... args) { Main instance = new Main(new Context());
< prev index next >