\input texinfo @c -*-texinfo-*-
@setfilename fastjar.info
@settitle Guide to GNU jar utilites

@c Note: When reading this manual you'll find lots of strange
@c circumlocutions like ``compiler for the Java language''.
@c This is necessary due to Sun's restrictions on the use of
@c the word ``Java'.

@c When this manual is copyrighted.
@set copyrights-fastjar 2002

@include gcc-common.texi

@c Versions
@set which-gcj GCC-@value{version-GCC}

@ifinfo
@format
@dircategory Programming
@direntry
* fastjar: (fastjar).       GNU jar utilities
@end direntry

@dircategory Individual utilities
@direntry
* jar: (fastjar)Invoking jar.
                            An archive tool for Java archives
* grepjar: (fastjar)Invoking grepjar.
                            Search files in a jar file for a pattern
@end direntry
@end format

@c man begin COPYRIGHT
Copyright (C) @value{copyrights-fastjar} Matthias Klose

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version. A copy of the license is included in the
@c man end
section entitled ``GNU General Public License''.
@ignore
@c man begin COPYRIGHT
man page gpl(7).
@c man end
@end ignore
@end ifinfo

@titlepage
@title GNU jar utilites
@author Brian Burns

@page
@vskip 0pt plus 1filll
Copyright @copyright{} @value{copyrights-gcj} Matthias Klose
@sp 2
For the @value{which-gcj} Version*
@sp 1
Published by the Free Software Foundation @*
59 Temple Place - Suite 330@*
Boston, MA 02111-1307, USA@*
@sp 1
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version. A copy of the license is included in the
section entitled ``GNU General Public License''.
@end titlepage
@contents
@page


@node Top
@top Introduction

This manual describes how to use @command{jar} and @command{grepjar}.

@menu
* Invoking jar::	Options supported by @command{jar}
* Invoking grepjar::    Options supported by @command{grepjar}
* Copying::		The GNU General Public License
@end menu

@node Invoking jar
@chapter Invoking jar

@c man title jar archive tool for Java archives

@c man begin DESCRIPTION jar

@code{fastjar} is an implementation of Sun's jar utility that comes with
the JDK, written entirely in C, and runs in a fraction of the time while
being feature compatible.

If any file is a directory then it is processed recursively.  The
manifest file name and the archive file name needs to be specified in
the same order the @option{-m} and @option{-f} flags are specified.

@c man end

@ignore
@c man begin SYNOPSIS jar
jar @option{-ctxu} [@option{OPTIONS}] [@var{jar-file}] [@var{manifest-file}] [@option{-C} @var{dir}] @var{files}@dots{}
@c man end
@c man begin SEEALSO jar
gcj(1), gij(1), grepjar(1)
and the Info entry for @file{gcj}.
@c man end
@end ignore

@c man begin OPTIONS jar

Exactly one of the following actions must be specified:

@table @gcctabopt

@item -c
Create new archive.

@item -t
List table of contents for archive.

@item -x
Extract named (or all) files from archive.

@item -u
Update existing archive. This option is disabled due to bugs (currently
fails with exit status 1 and does nothing).

@end table

The following parameters are optional:

@table @gcctabopt

@item -@@
Read the names of the files to add to the archive from stdin.  This
option is supported only in combination with @option{-c} or @option{-u}.
Non standard option added in the GCC version.

@item -C @var{directory}
Change to the @var{directory} and include the following file.

@item -E
Prevent fastjar from reading the content of a directory when specifying
one (and instead relying on the provided list of files to populate the
archive with regard to the directory entry). Non standard option added
in the GCC version.

@item -M
Do not create a manifest file for the entries.

@item -0
Store only; use no ZIP compression.

@item -V
@itemx --version
Display version information.

@item -f @var{archive}
Specify archive file name.

@item -m @var{manifest}
Include manifest information from specified @var{manifest} file.

@item -v
Generate verbose output on standard output.

@end table

All remaining options are considered to be names of files.

@c man end

@node Invoking grepjar
@chapter Invoking grepjar

@c man title grepjar search files in a jar file for a pattern

@c man begin DESCRIPTION grepjar

The @code{grepjar} program can be used to search files in a jar file for
a pattern.

@c man end

@ignore
@c man begin SYNOPSIS grepjar
grepjar [@option{-bcinsw}] @option{-e} @var{PATTERN} | @var{PATTERN} @var{files}@dots{}
@c man end
@c man begin SEEALSO grepjar
jar(1), gcj(1), gij(1), gfdl(7) and the Info entry for @file{gcj}.
@c man end
@end ignore

@c man begin OPTIONS grepjar

@table @gcctabopt
@item -b
Print byte offset of match.

@item -c
Print number of matches.

@item -i
Compare case-insensitively.

@item -n
Print line number of each match.

@item -s
Suppress error messages.

@item -w
Force @var{PATTERN} to match only whole words.

@item -e @var{PATTERN}
Use @var{PATTERN} as regular expression.

@item --help
Print help, then exit.

@item -V
@itemx --version
Print version number, then exit.
@end table

@c man end

@include gpl.texi

@bye
