!1 Package init

Merge pull request !1 from 雷炬/master
This commit is contained in:
openeuler-ci-bot 2020-09-08 18:30:03 +08:00 committed by Gitee
commit 6d314a4d0f
4 changed files with 703 additions and 0 deletions

73
closure-compiler.spec Normal file
View File

@ -0,0 +1,73 @@
Name: closure-compiler
Summary: JavaScript minifier and checker
Version: 20160315
Release: 1
License: ASL 2.0
URL: https://developers.google.com/closure/compiler/
Source0: https://github.com/google/closure-compiler/archive/maven-release-v%{version}.tar.gz
Source1: closure-compiler.xml
BuildRequires: maven-local mvn(args4j:args4j) mvn(com.google.code.findbugs:jsr305)
BuildRequires: mvn(com.google.code.gson:gson) mvn(com.google.guava:guava:20.0)
BuildRequires: mvn(com.google.protobuf:protobuf-java) mvn(org.apache.ant:ant)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.sonatype.oss:oss-parent:pom:)
BuildRequires: libxslt docbook-style-xsl
Requires: javapackages-tools
BuildArch: noarch
%description
The Closure Compiler is a tool for making JavaScript download and run
faster. It is a true compiler for JavaScript. Instead of compiling
from a source language to machine code, it compiles from JavaScript to
better JavaScript. It parses your JavaScript, analyzes it, removes
dead code and rewrites and minimizes whats left. It also checks
syntax, variable references, and types, and warns about common
JavaScript pitfalls.
%package javadoc
Summary: API documentation for %{name}
%description javadoc
This package contains the %{summary}.
%prep
%autosetup -n %{name}-maven-release-v%{version}
rm -rf lib/*
%pom_disable_module "pom-main-shaded.xml" pom-main.xml
%mvn_alias :closure-compiler-unshaded :closure-compiler
%pom_xpath_inject "pom:plugin[pom:artifactId='maven-bundle-plugin']" \
"<configuration><instructions>
<Bundle-SymbolicName>\${project.groupId}</Bundle-SymbolicName>
</instructions></configuration>" pom-main.xml
%build
%mvn_build -f
xsltproc \
--nonet \
--stringparam man.output.quietly 1 \
--stringparam funcsynopsis.style ansi \
--stringparam man.authors.section.enabled 0 \
--stringparam man.copyright.section.enabled 0 \
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl %{SOURCE1}
%install
%mvn_install
%jpackage_script com.google.javascript.jscomp.CommandLineRunner "" "" args4j:google-gson:jsr-305:protobuf-java:guava20:%{name} %{name} true
install -Dm0644 %{name}.1 $RPM_BUILD_ROOT%{_mandir}/man1/%{name}.1
%global _docdir_fmt %{name}
%files -f .mfiles
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.*
%license COPYING
%doc README.md
%files javadoc -f .mfiles-javadoc
%license COPYING
%changelog
* Thu Aug 13 2020 leiju <leiju4@huawei.com> - 20160315-1
- Package init

626
closure-compiler.xml Normal file
View File

@ -0,0 +1,626 @@
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<refentry id="closure-compiler">
<refentryinfo>
<title>closure-compiler</title>
<productname>closure-compiler</productname>
<authorgroup>
<author>
<contrib></contrib>
<firstname></firstname>
<surname></surname>
<email></email>
</author>
</authorgroup>
</refentryinfo>
<refmeta>
<refentrytitle>closure-compiler</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>closure-compiler</refname>
<refpurpose>Performs checking, instrumentation, and
optimization on JavaScript code.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>closure-compiler</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
<arg choice="opt" rep="repeat">FILES</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>closure-compiler</command> may be used to
check and optimize JavaScript code.
If positional arguments are not given, code to check
will be read from standard input.</para>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term><option>--accept_const_keyword</option></term>
<listitem><para>Allows usage of <constant>const</constant>
keyword.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--angular_pass</option></term>
<listitem><para>Generate <varname>$inject</varname> properties for
AngularJS for functions annotated with <varname>@ngInject</varname>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--charset <replaceable>VAL</replaceable></option></term>
<listitem><para>Input and output charset for all
files. By default, we accept <constant>UTF-8</constant> as
input and output <constant>US_ASCII</constant>.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--closure_entry_point <replaceable>VAL</replaceable></option></term>
<listitem><para>Entry points to the program. Must be
goog.provide'd symbols. Any goog.provide'd symbols that are
not a transitive dependency of the entry points will be
removed. Files without goog.provide's, and their dependencies,
will always be left in. If any entry points are specified,
then the manage_closure_dependencies option will be set to
true and all files will be sorted in dependency order.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--common_js_entry_module <replaceable>VAL</replaceable></option></term>
<listitem><para>Root of your common JS dependency
hierarchy. Your main script.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--common_js_module_path_prefix <replaceable>VAL</replaceable></option></term>
<listitem><para>Path prefix to be removed from
CommonJS module names.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--compilation_level</option>
WHITESPACE_ONLY|SIMPLE_OPTIMIZATIONS|ADVANCED_OPTIMIZATIONS
</term>
<listitem><para>Specifies the compilation level to use.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--create_name_map_files</option></term>
<listitem><para>If true, variable renaming and property
renaming map files will be produced as
<literal><replaceable>binary name</replaceable>_vars_map.out</literal> and
<literal><replaceable>binary name</replaceable>_props_map.out</literal>.
Note that this flag cannot be used in conjunction with either
variableMapOut putFile or property_map_output_file.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--create_source_map</option> <replaceable>VAL</replaceable></term>
<listitem><para>If specified, a source map file mapping the
generated source files back to the original source file will
be output to the specified path. The
<varname>%outname%</varname> placeholder will expand to the
name of the output file that the source map corresponds to.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--debug</option></term>
<listitem><para>Enable debugging options.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--D</option></term>
<term><option>--d</option></term>
<term><option>--define</option> <replaceable>name</replaceable><optional>=<replaceable>val</replaceable></optional></term>
<listitem><para>Override the value of a variable
annotated @define. The format is
<replaceable>name</replaceable><optional>=<replaceable>val</replaceable></optional>,
where <replaceable>name</replaceable> is the
name of a <constant>@define</constant> variable and <replaceable>val</replaceable>
is a boolean, number, or a single-quoted string that contains no single
quotes. If <replaceable>val</replaceable> is omitted, the
variable is marked true.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--externs <replaceable>VAL</replaceable></option></term>
<listitem><para>The file containing JavaScript
externs. May be specified multiple times.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--extra_annotation <replaceable>VAL</replaceable></option></term>
<listitem><para>A whitelist of tag names in JSDoc.
May be specified multiple times.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--flagfile <replaceable>VAL</replaceable></option></term>
<listitem><para>A file containing additional command-line options.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--formatting</option>
PRETTY_PRINT | PRINT_INPUT_DELIMITER | SINGLE_QUOTES
</term>
<listitem><para>Specifies which formatting options, if any, should be applied to the
output JS.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--generate_exports</option></term>
<listitem><para>Generates export code for those marked with
<constant>@export</constant>.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--help</option></term>
<listitem><para>Displays this message</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--js <replaceable>VAL</replaceable></option></term>
<listitem><para>The JavaScript filename.
May be specified multiple times.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--js_output_file <replaceable>VAL</replaceable></option>
</term>
<listitem><para>Primary output filename. If not
specified, output is written to stdout.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--jscomp_error <replaceable>VAL</replaceable></option></term>
<listitem><para>Make the named class of warnings an
error. Options: <literal>accessControls</literal>,
<literal>ambiguousFunctionDecl</literal>,
<literal>checkEventfulObjectDisposal</literal>,
<literal>checkRegExp</literal>,
<literal>checkStruct</literal>
<literal>DictInheritance</literal>,
<literal>checkTypes</literal>,
<literal>checkVars</literal>,
<literal>const</literal>,
<literal>constantProperty</literal>,
<literal>deprecated</literal>,
<literal>duplicateMessage</literal>,
<literal>es3</literal>,
<literal>es5Strict</literal>,
<literal>externsValidation</literal>,
<literal>fileoverviewTags</literal>,
<literal>globalThis</literal>,
<literal>internetExplorerChecks</literal>,
<literal>invalidCasts</literal>,
<literal>misplacedTypeAnnotation</literal>,
<literal>missingProperties</literal>,
<literal>missingProvide</literal>,
<literal>missingRequire</literal>,
<literal>missingReturn</literal>,
<literal>nonStandardJsDocs</literal>,
<literal>reportUnknownTypes</literal>,
<literal>suspiciousCode</literal>,
<literal>strictModuleDepCheck</literal>,
<literal>typeInvalidation</literal>,
<literal>undefinedNames</literal>,
<literal>undefinedVars</literal>,
<literal>unknownDefines</literal>,
<literal>uselessCode</literal>,
<literal>visibility</literal>.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--jscomp_off <replaceable>VAL</replaceable></option></term>
<listitem><para>Turn off the named class of warnings.
Options: <literal>accessControls</literal>,
<literal>ambiguousFunctionDecl</literal>,
<literal>checkEventfulObjectDisposal</literal>,
<literal>checkRegExp</literal>,
<literal>checkStructDictInheritance</literal>,
<literal>checkTypes</literal>,
<literal>checkVars</literal>,
<literal>const</literal>,
<literal>constantProperty</literal>,
<literal>deprecated</literal>,
<literal>duplicateMessage</literal>,
<literal>es3</literal>,
<literal>es5Strict</literal>,
<literal>externsValidation</literal>,
<literal>fileoverviewTags</literal>,
<literal>globalThis</literal>,
<literal>internetExplorerChecks</literal>,
<literal>invalidCasts</literal>,
<literal>misplacedTypeAnnotation</literal>,
<literal>missingProperties</literal>,
<literal>missingProvide</literal>,
<literal>missingRequire</literal>,
<literal>missingReturn</literal>,
<literal>nonStandardJsDocs</literal>,
<literal>reportUnknownTypes</literal>,
<literal>suspiciousCode</literal>,
<literal>strictModuleDepCheck</literal>,
<literal>typeInvalidation</literal>,
<literal>undefinedNames</literal>,
<literal>undefinedVars</literal>,
<literal>unknownDefines</literal>,
<literal>uselessCode</literal>,
<literal>visibility</literal>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--jscomp_warning <literal>VAL</literal></option></term>
<listitem><para>Make the named class of warnings a
normal warning. Options:
<literal>accessControls</literal>,
<literal>ambiguousFunctionDecl</literal>,
<literal>checkEventfulObjectDisposal</literal>,
<literal>checkRegExp</literal>,
<literal>checkStructDictInheritance</literal>,
<literal>checkTypes</literal>,
<literal>checkVars</literal>,
<literal>const</literal>,
<literal>constantProperty</literal>,
<literal>deprecated</literal>,
<literal>duplicateMessage</literal>,
<literal>es3</literal>,
<literal>es5Strict</literal>,
<literal>externsValidation</literal>,
<literal>fileoverviewTags</literal>,
<literal>globalThis</literal>,
<literal>internetExplorerChecks</literal>,
<literal>invalidCasts</literal>,
<literal>misplacedTypeAnnotation</literal>,
<literal>missingProperties</literal>,
<literal>missingProvide</literal>,
<literal>missingRequire</literal>,
<literal>missingReturn</literal>,
<literal>nonStandardJsDocs</literal>,
<literal>reportUnknownTypes</literal>,
<literal>suspiciousCode</literal>,
<literal>strictModuleDepCheck</literal>,
<literal>typeInvalidation</literal>,
<literal>undefinedNames</literal>,
<literal>undefinedVars</literal>,
<literal>unknownDefines</literal>,
<literal>uselessCode</literal>,
<literal>visibility</literal>.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--language_in <replaceable>VAL</replaceable></option></term>
<listitem><para>Sets what language spec that input
sources conform. Options: <literal>ECMASCRIPT3</literal>
(default), <literal>ECMASCRIPT5</literal>,
<literal>ECMASCRIPT5_STRICT</literal>.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--logging_level <replaceable>VAL</replaceable></option></term>
<listitem><para>The logging level (standard
java.util.logging.Level values) for Compiler progress. Does
not control errors or warnings for the JavaScript code under
compilation</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--manage_closure_dependencies</option></term>
<listitem><para>Automatically sort dependencies so that a file
that goog.provides symbol X will always come before a file
that goog.requires symbol X. If an input provides symbols, and
those symbols are never required, then that input will not be
included in the compilation.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--module</option>
<replaceable>name</replaceable>:<replaceable>num-js-files</replaceable><optional>:<replaceable>dep...</replaceable></optional><optional>:</optional></term>
<listitem><para>A JavaScript module specification. Module
names must be unique. Each dep is the name of a module that
this module depends on. Modules must be listed in dependency
order, and JS source files must be listed in the corresponding
order. Where <option>--module</option> flags occur in
relation to <option>--js</option> flags is unimportant.
Provide the value <literal>auto</literal> to trigger module
creation from CommonJSmodules.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--module_output_path_prefix</option>
<replaceable>VAL</replaceable></term>
<listitem><para>Prefix for filenames of compiled JS
modules. module-name.js will be appended to this
prefix. Directories will be created as needed. Use with
<option>--module</option>.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--module_wrapper <replaceable>VAL</replaceable></option></term>
<listitem><para>An output wrapper for a JavaScript module
(optional). The format is name:wrapper. The module name must
correspond with a module specified using --module. The wrapper
must contain %s as the code placeholde r. The %basename%
placeholder can also be used to substitute the base name of
the module output file.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--new_type_inf</option></term>
<listitem><para>In development new type inference pass. DO NOT
USE!</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--only_closure_dependencies</option></term>
<listitem><para>Only include files in the transitive
dependency of the entry points (specified by
closure_entry_point). Files that do not provide dependencies
will be removed. This supersedes
<option>manage_closure_dependencies</option>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--output_manifest <replaceable>VAL</replaceable></option></term>
<listitem><para>Prints out a list of all the files in the
compilation. If <option>--manage_closure_dependencies</option>
is on, this will not include files that got dropped because
they were not required. The <varname>%outname%</varname>
placeholder expands to the JS output file. If you're using
modularization, using <varname>%outname%</varname> will create
a manifest for each module.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--output_module_dependencies <replaceable>VAL</replaceable></option></term>
<listitem><para>Prints out a JSON file of dependencies
between modules.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--output_wrapper <replaceable>VAL</replaceable></option></term>
<listitem><para>Interpolate output into this string at the
place denoted by the marker token
<varname>%output%</varname>. Use marker token
<varname>%output|jsstring%</varname> to do js string escaping
on the output.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--print_ast</option></term>
<listitem><para>Prints a dot file describing the internal
abstract syntax tree and exits.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--print_pass_graph</option></term>
<listitem><para>Prints a dot file describing the passes that
will get run and exits.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--print_tree</option></term>
<listitem><para>Prints out the parse tree and exits.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--process_closure_primitives</option></term>
<listitem><para>Processes built-ins from the Closure
library, such as goog.require(), goog.provide(), and goog.exportSymbol().
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--process_common_js_modules</option></term>
<listitem><para>Process CommonJS modules to a concatenable form.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--process_jquery_primitives</option></term>
<listitem><para>Processes built-ins from the jQuery
library, such as jQuery.fn and jQuery.extend().</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--property_map_input_file <replaceable>VAL</replaceable></option></term>
<listitem><para>File containing the serialized version of the
property renaming map produced by a previous compilation.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--property_map_output_file <replaceable>VAL</replaceable></option></term>
<listitem><para>File where the serialized version of the
property renaming map produced should be saved.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--source_map_format V1 | DEFAULT | V2 | V3</option></term>
<listitem><para>The source map format to produce.
Options: <literal>V1</literal>,
<literal>V2</literal>,
<literal>V3</literal>,
<literal>DEFAULT</literal>.
<literal>DEFAULT</literal>
produces <literal>V2</literal>.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--summary_detail_level <replaceable>N</replaceable></option></term>
<listitem><para>Controls how detailed the compilation
summary is. Values: 0 (never print
summary), 1 (print summary only if
there are errors or warnings), 2
(print summary if the 'checkTypes'
diagnostic group is enabled, see
<option>--jscomp_warning</option>), 3 (always print
summary). The default level is 1.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--third_party</option></term>
<listitem><para>Check source validity but do not enforce
Closure style rules and conventions.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--tracer_mode ALL | RAW_SIZE | TIMING_ONLY | OFF</option></term>
<listitem><para>Shows the duration of each compiler pass and
the impact to the compiled output size. Options:
<literal>ALL</literal>, <literal>RAW_SIZE</literal>,
<literal>TIMING_ONLY</literal>, <literal>OFF</literal>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--transform_amd_modules</option></term>
<listitem><para>Transform AMD to CommonJS modules.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--translations_file <replaceable>VAL</replaceable></option></term>
<listitem><para>Source of translated messages.
Currently only supports XTB.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--translations_project <replaceable>VAL</replaceable></option></term>
<listitem><para>Scopes all translations to the specified
project.When specified, we will use different message ids so
that messages in different projects can have different
translations.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--use_only_custom_externs</option></term>
<listitem><para>Specifies whether the default externs should
be excluded.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--use_types_for_optimization</option></term>
<listitem><para>Experimental: perform additional optimizations
based on available information. Inaccurate type annotations
may result in incorrect results.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--variable_map_input_file</option>
<replaceable>VAL</replaceable></term>
<listitem><para>File containing the serialized version of the
variable renaming map produced by a previous compilation.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--variable_map_output_file <replaceable>VAL</replaceable></option></term>
<listitem><para>File where the serialized version of the
variable renaming map produced should be saved.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--version</option></term>
<listitem><para>Prints the compiler version to stderr.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--warning_level QUIET | DEFAULT |VERBOSE</option></term>
<listitem><para>Specifies the warning level to use.
Options: <literal>QUIET</literal>,
<literal>DEFAULT</literal>,
<literal>VERBOSE</literal>.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--warnings_whitelist_file</option>
<replaceable>FILE</replaceable></term>
<listitem><para>A file containing warnings to suppress. Each
line should be of the form <replaceable>file-name</replaceable>:<optional><replaceable>line-number</replaceable></optional> <replaceable>warning-description</replaceable>.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para><link>https://code.google.com/p/closure-compiler/</link></para>
</refsect1>
</refentry>

4
closure-compiler.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: github
src_repo: google/closure-compiler
tag_prefix: "^v"
seperator: ""

Binary file not shown.