1 /*
2 * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
53 import jdk.tools.jlink.internal.TaskHelper.Option;
54 import jdk.tools.jlink.internal.TaskHelper.OptionsHelper;
55 import jdk.tools.jlink.internal.Utils;
56
57 class JImageTask {
58 private static final Option<?>[] RECOGNIZED_OPTIONS = {
59 new Option<JImageTask>(true, (task, option, arg) -> {
60 task.options.directory = arg;
61 }, "--dir"),
62
63 new Option<JImageTask>(true, (task, option, arg) -> {
64 task.options.include = arg;
65 }, "--include"),
66
67 new Option<JImageTask>(false, (task, option, arg) -> {
68 task.options.fullVersion = true;
69 }, true, "--full-version"),
70
71 new Option<JImageTask>(false, (task, option, arg) -> {
72 task.options.help = true;
73 }, "--help", "-h"),
74
75 new Option<JImageTask>(false, (task, option, arg) -> {
76 task.options.verbose = true;
77 }, "--verbose"),
78
79 new Option<JImageTask>(false, (task, option, arg) -> {
80 task.options.version = true;
81 }, "--version")
82 };
83 private static final TaskHelper TASK_HELPER
84 = new TaskHelper(JIMAGE_BUNDLE);
85 private static final OptionsHelper<JImageTask> OPTION_HELPER
86 = TASK_HELPER.newOptionsHelper(JImageTask.class, RECOGNIZED_OPTIONS);
87 private static final String PROGNAME = "jimage";
88 private static final FileSystem JRT_FILE_SYSTEM = Utils.jrtFileSystem();
89
90 private final OptionsValues options;
91 private final List<Predicate<String>> includePredicates;
92 private PrintWriter log;
93
|
1 /*
2 * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
53 import jdk.tools.jlink.internal.TaskHelper.Option;
54 import jdk.tools.jlink.internal.TaskHelper.OptionsHelper;
55 import jdk.tools.jlink.internal.Utils;
56
57 class JImageTask {
58 private static final Option<?>[] RECOGNIZED_OPTIONS = {
59 new Option<JImageTask>(true, (task, option, arg) -> {
60 task.options.directory = arg;
61 }, "--dir"),
62
63 new Option<JImageTask>(true, (task, option, arg) -> {
64 task.options.include = arg;
65 }, "--include"),
66
67 new Option<JImageTask>(false, (task, option, arg) -> {
68 task.options.fullVersion = true;
69 }, true, "--full-version"),
70
71 new Option<JImageTask>(false, (task, option, arg) -> {
72 task.options.help = true;
73 }, "--help", "-h", "-?"),
74
75 new Option<JImageTask>(false, (task, option, arg) -> {
76 task.options.verbose = true;
77 }, "--verbose"),
78
79 new Option<JImageTask>(false, (task, option, arg) -> {
80 task.options.version = true;
81 }, "--version")
82 };
83 private static final TaskHelper TASK_HELPER
84 = new TaskHelper(JIMAGE_BUNDLE);
85 private static final OptionsHelper<JImageTask> OPTION_HELPER
86 = TASK_HELPER.newOptionsHelper(JImageTask.class, RECOGNIZED_OPTIONS);
87 private static final String PROGNAME = "jimage";
88 private static final FileSystem JRT_FILE_SYSTEM = Utils.jrtFileSystem();
89
90 private final OptionsValues options;
91 private final List<Predicate<String>> includePredicates;
92 private PrintWriter log;
93
|