#
# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

error.multiple.main.operations=\
     You may not specify more than one '-cuxti' options
error.cant.open=\
     can''t open: {0}
error.illegal.option=\
        Illegal option: {0}
error.unrecognized.option=\
    unrecognized option : {0}
error.missing.arg=\
     option {0} requires an argument
error.bad.file.arg=\
     Error parsing file arguments
error.bad.option=\
        One of options -{ctxu} must be specified.
error.bad.cflag=\
        'c' flag requires manifest or input files to be specified!
error.bad.uflag=\
        'u' flag requires manifest, 'e' flag or input files to be specified!
error.bad.eflag=\
	'e' flag and manifest with the 'Main-Class' attribute cannot be specified \n\
	 together!
error.nosuch.fileordir=\
        {0} : no such file or directory
error.write.file=\
        Error in writing existing jar file
error.create.dir=\
        {0} : could not create directory
error.incorrect.length=\
        incorrect length while processing: {0}
error.create.tempfile=\
        Could not create a temporary file
error.hash.dep=\
        Hashing module {0} dependences, unable to find module {1} on module path
error.module.options.without.info=\
        One of --module-version or --hash-modules without module-info.class
error.unexpected.module-info=\
        Unexpected module descriptor {0}
error.module.descriptor.not.found=\
        Module descriptor not found
error.versioned.info.without.root=\
        module-info.class found in a versioned directory without module-info.class \
        in the root
error.versioned.info.name.notequal=\
        module-info.class in a versioned directory contains incorrect name
error.versioned.info.requires.transitive=\
        module-info.class in a versioned directory contains additional "requires transitive"
error.versioned.info.requires.added=\
        module-info.class in a versioned directory contains additional "requires"
error.versioned.info.requires.dropped=\
        module-info.class in a versioned directory contains missing "requires"
error.versioned.info.exports.notequal=\
        module-info.class in a versioned directory contains different "exports"
error.versioned.info.opens.notequal=\
        module-info.class in a versioned directory contains different "opens"
error.versioned.info.provides.notequal=\
        module-info.class in a versioned directory contains different "provides"
error.invalid.versioned.module.attribute=\
        Invalid module descriptor attribute {0}
error.missing.provider=\
        Service provider not found: {0}
error.release.value.notnumber=\
        release {0} not valid
error.release.value.toosmall=\
        release {0} not valid, must be >= 9
error.release.unexpected.versioned.entry=\
        unexpected versioned entry {0} for release {1}
error.validator.jarfile.exception=\
        can not validate {0}: {1}
error.validator.jarfile.invalid=\
        invalid multi-release jar file {0} deleted
error.validator.bad.entry.name=\
        entry name malformed, {0}
error.validator.version.notnumber=\
        entry name: {0}, does not have a version number
error.validator.entryname.tooshort=\
        entry name: {0}, too short, not a directory
error.validator.isolated.nested.class=\
        entry: {0}, is an isolated nested class
error.validator.new.public.class=\
        entry: {0}, contains a new public class not found in base entries
error.validator.incompatible.class.version=\
        entry: {0}, has a class version incompatible with an earlier version
error.validator.different.api=\
        entry: {0}, contains a class with different api from earlier version
error.validator.names.mismatch=\
        entry: {0}, contains a class with internal name {1}, names do not match
warn.validator.identical.entry=\
        Warning: entry {0} contains a class that\n\
        is identical to an entry already in the jar
warn.validator.resources.with.same.name=\
        Warning: entry {0}, multiple resources with same name
warn.validator.concealed.public.class=\
        Warning: entry {0} is a public class\n\
        in a concealed package, placing this jar on the class path will result\n\
        in incompatible public interfaces
out.added.manifest=\
        added manifest
out.added.module-info=\
        added module-info: {0}
out.update.manifest=\
        updated manifest
out.update.module-info=\
        updated module-info: {0}
out.ignore.entry=\
        ignoring entry {0}
out.adding=\
        adding: {0}
out.deflated=\
        (deflated {0}%)
out.stored=\
        (stored 0%)
out.create=\
        \ \ created: {0}
out.extracted=\
        extracted: {0}
out.inflated=\
        \ inflated: {0}
out.size=\
        (in = {0}) (out= {1})

usage.compat=\
\Compatibility Interface:\
\n\
Usage: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files] ...\n\
Options:\n\
\ \   -c  create new archive\n\
\ \   -t  list table of contents for archive\n\
\ \   -x  extract named (or all) files from archive\n\
\ \   -u  update existing archive\n\
\ \   -v  generate verbose output on standard output\n\
\ \   -f  specify archive file name\n\
\ \   -m  include manifest information from specified manifest file\n\
\ \   -n  perform Pack200 normalization after creating a new archive\n\
\ \   -e  specify application entry point for stand-alone application \n\
\ \       bundled into an executable jar file\n\
\ \   -0  store only; use no ZIP compression\n\
\ \   -P  preserve leading '/' (absolute path) and ".." (parent directory) components from file names\n\
\ \   -M  do not create a manifest file for the entries\n\
\ \   -i  generate index information for the specified jar files\n\
\ \   -C  change to the specified directory and include the following file\n\
If any file is a directory then it is processed recursively.\n\
The manifest file name, the archive file name and the entry point name are\n\
specified in the same order as the 'm', 'f' and 'e' flags.\n\n\
Example 1: to archive two class files into an archive called classes.jar: \n\
\ \      jar cvf classes.jar Foo.class Bar.class \n\
Example 2: use an existing manifest file 'mymanifest' and archive all the\n\
\ \          files in the foo/ directory into 'classes.jar': \n\
\ \      jar cvfm classes.jar mymanifest -C foo/ .\n

main.usage.summary=\
jar: You must specify one of -ctxui options.
main.usage.summary.try=\
Try `jar --help' for more information.

main.help.preopt=\
Usage: jar [OPTION...] [ [--release VERSION] [-C dir] files] ...\n\
jar creates an archive for classes and resources, and can manipulate or\n\
restore individual classes or resources from an archive.\n\
\n\
\ Examples:\n\
\ # Create an archive called classes.jar with two class files:\n\
\ jar --create --file classes.jar Foo.class Bar.class\n\
\ # Create an archive using an existing manifest, with all the files in foo/:\n\
\ jar --create --file classes.jar --manifest mymanifest -C foo/ .\n\
\ # Create a modular jar archive, where the module descriptor is located in\n\
\ # classes/module-info.class:\n\
\ jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0\n\
\     -C foo/ classes resources\n\
\ # Update an existing non-modular jar to a modular jar:\n\
\ jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0\n\
\     -C foo/ module-info.class\n\
\ # Create a multi-release jar, placing some files in the META-INF/versions/9 directory:\n\
\ jar --create --file mr.jar -C foo classes --release 9 -C foo9 classes
main.help.opt.main=\
\ Main operation mode:\n
main.help.opt.main.create=\
\  -c, --create               Create the archive
main.help.opt.main.generate-index=\
\  -i, --generate-index=FILE  Generate index information for the specified jar\n\
\                             archives
main.help.opt.main.list=\
\  -t, --list                 List the table of contents for the archive
main.help.opt.main.update=\
\  -u, --update               Update an existing jar archive
main.help.opt.main.extract=\
\  -x, --extract              Extract named (or all) files from the archive
main.help.opt.main.print-module-descriptor=\
\  -d, --print-module-descriptor  Print the module descriptor
main.help.opt.any=\
\ Operation modifiers valid in any mode:\n\
\n\
\  -C DIR                     Change to the specified directory and include the\n\
\                             following file
main.help.opt.any.file=\
\  -f, --file=FILE            The archive file name\n\
\      --release VERSION      Places all following files in a versioned directory\n\
\                             of the jar (i.e. META-INF/versions/VERSION/)
main.help.opt.any.verbose=\
\  -v, --verbose              Generate verbose output on standard output
main.help.opt.create.update=\
\ Operation modifiers valid only in create and update mode:\n
main.help.opt.create.update.main-class=\
\  -e, --main-class=CLASSNAME The application entry point for stand-alone\n\
\                             applications bundled into a modular, or executable,\n\
\                             jar archive
main.help.opt.create.update.manifest=\
\  -m, --manifest=FILE        Include the manifest information from the given\n\
\                             manifest file
main.help.opt.create.update.no-manifest=\
\  -M, --no-manifest          Do not create a manifest file for the entries
main.help.opt.create.update.module-version=\
\      --module-version=VERSION    The module version, when creating a modular\n\
\                             jar, or updating a non-modular jar
main.help.opt.create.update.hash-modules=\
\      --hash-modules=PATTERN Compute and record the hashes of modules \n\
\                             matched by the given pattern and that depend upon\n\
\                             directly or indirectly on a modular jar being\n\
\                             created or a non-modular jar being updated
main.help.opt.create.update.module-path=\
\  -p, --module-path          Location of module dependence for generating\n\
\                             the hash
main.help.opt.create.update.index=\
\ Operation modifiers valid only in create, update, and generate-index mode:\n
main.help.opt.create.update.index.no-compress=\
\  -0, --no-compress          Store only; use no ZIP compression
main.help.opt.other=\
\ Other options:\n
main.help.opt.other.help=\
\  -?, --help[:compat]        Give this, or optionally the compatibility, help
main.help.opt.other.version=\
\      --version              Print program version
main.help.postopt=\
\ An archive is a modular jar if a module descriptor, 'module-info.class', is\n\
\ located in the root of the given directories, or the root of the jar archive\n\
\ itself. The following operations are only valid when creating a modular jar,\n\
\ or updating an existing non-modular jar: '--module-version',\n\
\ '--hash-modules', and '--module-path'.\n\
\n\
\ Mandatory or optional arguments to long options are also mandatory or optional\n\
\ for any corresponding short options.
