< prev index next >

src/jdk.jlink/share/classes/jdk/tools/jimage/JImageTask.java

Print this page
rev 48495 : 8189102: All tools should support -?, -h and --help
Reviewed-by: kvn, jjg, weijun, alanb, rfield, ksrini
   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 


< prev index next >