From 6b8cb8823c353071159749bf69dd4deaefadd82c Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Feb 05 2014 14:42:07 +0000 Subject: Package approved --- diff --git a/.gitignore b/.gitignore index e69de29..3f68048 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/v20140110.zip diff --git a/closure-compiler-build.patch b/closure-compiler-build.patch new file mode 100644 index 0000000..6e32999 --- /dev/null +++ b/closure-compiler-build.patch @@ -0,0 +1,54 @@ +diff --git a/build.xml~ b/build.xml +index 2e4b841..dc25582 100644 +--- a/build.xml~ ++++ b/build.xml +@@ -85,27 +85,12 @@ + classpathref="maven-ant-tasks.classpath" /> + + ++ + +- +- +- +- +- + + + + +- +- +- +- + + + + +- ++ + + +@@ -230,8 +215,9 @@ + + + +- +- ++ ++ ++ + + + diff --git a/closure-compiler.spec b/closure-compiler.spec new file mode 100644 index 0000000..ea9bd00 --- /dev/null +++ b/closure-compiler.spec @@ -0,0 +1,176 @@ +#global _check 1 + +Summary: JavaScript minifier and checker +Name: closure-compiler +Version: 20140110 +%global githash ef22f25de0c0 +Release: 1%{?dist} +License: ASL 2.0 and MPL 1.1 +URL: https://developers.google.com/closure/compiler/ +# .tar.gz is truncated for some reason +Source0: http://closure-compiler.googlecode.com/archive/v%{version}.zip +Source1: closure-compiler.xml +Patch0: closure-compiler-build.patch +BuildArch: noarch + +BuildRequires: jpackage-utils +BuildRequires: java-devel +BuildRequires: ant +BuildRequires: maven +BuildRequires: maven-ant-tasks +BuildRequires: jarjar +BuildRequires: args4j +BuildRequires: guava >= 15 +BuildRequires: android-json-org-java +BuildRequires: jsr-305 +BuildRequires: junit +BuildRequires: protobuf-java +BuildRequires: rhino +BuildRequires: nekohtml +BuildRequires: plexus-classworlds +BuildRequires: plexus-component-api +BuildRequires: plexus-utils +BuildRequires: findbugs +%if 0%{?_check} +BuildRequires: mockito +%endif +BuildRequires: libxslt +BuildRequires: docbook-style-xsl + +Requires: jpackage-utils +Requires: java +Requires: args4j +Requires: guava +Requires: android-json-org-java +Requires: jsr-305 +Requires: protobuf-java +Requires: rhino + +%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 what's 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 +%setup -q -n %{name}-%{githash} +%patch0 -p1 +rm -rf lib/* tools/* +build-jar-repository -s -p lib/ \ + jarjar \ + args4j \ + android-json-org-java \ + jsr-305 \ + junit \ + protobuf \ + js \ + findbugs \ +%if 0%{?_check} + mockito \ +%endif + guava +ln -s android-json-org-java.jar lib/json.jar +build-jar-repository -p -s tools/ \ + maven-ant-tasks \ + maven/maven-core \ + maven/maven-compat \ + maven/maven-artifact \ + maven/maven-model \ + maven/maven-project \ + maven/maven-settings \ + maven/maven-error-diagnostics \ + maven-wagon/file \ + maven-wagon/http \ + maven-wagon/provider-api \ + plexus-classworlds \ + plexus-component-api/plexus-component-api \ + plexus-utils \ + nekohtml +sed -i "s|\${tools.dir}/maven-ant-tasks-2.1.3.jar|$(build-classpath-directory tools)|" build.xml + +# I can't for the life of me figure out why this line breaks +# build. But it doesn't seem very important anyway. +sed -i 's|||' build.xml + +# This test requires google-caja which is not available. +rm test/com/google/javascript/jscomp/jsonml/JsonMLConversionTest.java + +%build +ant jar-nodeps javadoc +echo "Main-Class: com.google.javascript.jscomp.CommandLineRunner" > manifest +jar -uvmf manifest build/%{name}-*.jar + +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} + +%if 0%{?_check} +%check +ant test +%endif + +%install +mkdir -p ${RPM_BUILD_ROOT}%{_javadir} +cp -p build/%{name}-*.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar + +mkdir -p $RPM_BUILD_ROOT%{_javadocdir} +cp -pr build/javadoc $RPM_BUILD_ROOT%{_javadocdir}/%{name} + +mkdir -p $RPM_BUILD_ROOT%{_mavenpomdir} +cp -pr %{name}.pom $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}.pom + +%jpackage_script com.google.javascript.jscomp.CommandLineRunner "" "" jarjar:args4j:android-json-org-java:jsr-305:junit:protobuf:js:guava:%{name} %{name} true + +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +cp %{name}.1 $RPM_BUILD_ROOT%{_mandir}/man1 + +%add_maven_depmap JPP-%{name}.pom %{name}.jar + +%files +%{_javadir}/%{name}*.jar +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.* +%{_mavenpomdir}/JPP-%{name}.pom +%{_mavendepmapfragdir}/%{name} + +%doc COPYING + +%files javadoc +%doc CONTRIBUTORS COPYING README +%{_javadocdir}/%{name} + +%changelog +* Wed Feb 05 2014 Zbigniew Jędrzejewski-Szmek - 20140110-1 +- Fix requires. +- Convert manpage to docbook. +- Add disabled %%check. +- Update license. +- Update to newest upstream version. + +* Tue Oct 29 2013 Zbigniew Jędrzejewski-Szmek - 20131118-1 +- Update to latest upstream release. +- Remove bundled tools/maven-ant-tasks in %%prep and add dependencies + on replacement packages. +- Replace json with android-json-org-java completely. + +* Tue Oct 29 2013 Zbigniew Jędrzejewski-Szmek - 20131014-2 +- Replace json with android-json-org-java. +- Put requires java libraries in Requires. +- Add main-class manifests to the jar. + +* Mon Oct 28 2013 Zbigniew Jędrzejewski-Szmek - 20131014-1 +- Initial packaging. diff --git a/closure-compiler.xml b/closure-compiler.xml new file mode 100644 index 0000000..9634442 --- /dev/null +++ b/closure-compiler.xml @@ -0,0 +1,626 @@ + + + + + + closure-compiler + closure-compiler + + + + + + + + + + + + + closure-compiler + 1 + + + + closure-compiler + Performs checking, instrumentation, and + optimization on JavaScript code. + + + + + closure-compiler + OPTIONS + FILES + + + + + Description + + closure-compiler may be used to + check and optimize JavaScript code. + If positional arguments are not given, code to check + will be read from standard input. + + + + Options + + The following options are understood: + + + + + + Allows usage of const + keyword. + + + + + + Generate $inject properties for + AngularJS for functions annotated with @ngInject. + + + + + + + Input and output charset for all + files. By default, we accept UTF-8 as + input and output US_ASCII. + + + + + + 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. + + + + + + + Root of your common JS dependency + hierarchy. Your main script. + + + + + + Path prefix to be removed from + CommonJS module names. + + + + + WHITESPACE_ONLY|SIMPLE_OPTIMIZATIONS|ADVANCED_OPTIMIZATIONS + + + Specifies the compilation level to use. + + + + + + If true, variable renaming and property + renaming map files will be produced as + binary name_vars_map.out and + binary name_props_map.out. + Note that this flag cannot be used in conjunction with either + variableMapOut putFile or property_map_output_file. + + + + + VAL + + 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 + %outname% placeholder will expand to the + name of the output file that the source map corresponds to. + + + + + + + Enable debugging options. + + + + + + name=val + + Override the value of a variable + annotated @define. The format is + name=val, + where name is the + name of a @define variable and val + is a boolean, number, or a single-quoted string that contains no single + quotes. If val is omitted, the + variable is marked true. + + + + + + The file containing JavaScript + externs. May be specified multiple times. + + + + + + A whitelist of tag names in JSDoc. + May be specified multiple times. + + + + + + A file containing additional command-line options. + + + + + + PRETTY_PRINT | PRINT_INPUT_DELIMITER | SINGLE_QUOTES + + + Specifies which formatting options, if any, should be applied to the + output JS. + + + + + + Generates export code for those marked with + @export. + + + + + + Displays this message + + + + + + The JavaScript filename. + May be specified multiple times. + + + + + + + Primary output filename. If not + specified, output is written to stdout. + + + + + + Make the named class of warnings an + error. Options: accessControls, + ambiguousFunctionDecl, + checkEventfulObjectDisposal, + checkRegExp, + checkStruct + DictInheritance, + checkTypes, + checkVars, + const, + constantProperty, + deprecated, + duplicateMessage, + es3, + es5Strict, + externsValidation, + fileoverviewTags, + globalThis, + internetExplorerChecks, + invalidCasts, + misplacedTypeAnnotation, + missingProperties, + missingProvide, + missingRequire, + missingReturn, + nonStandardJsDocs, + reportUnknownTypes, + suspiciousCode, + strictModuleDepCheck, + typeInvalidation, + undefinedNames, + undefinedVars, + unknownDefines, + uselessCode, + visibility. + + + + + + Turn off the named class of warnings. + Options: accessControls, + ambiguousFunctionDecl, + checkEventfulObjectDisposal, + checkRegExp, + checkStructDictInheritance, + checkTypes, + checkVars, + const, + constantProperty, + deprecated, + duplicateMessage, + es3, + es5Strict, + externsValidation, + fileoverviewTags, + globalThis, + internetExplorerChecks, + invalidCasts, + misplacedTypeAnnotation, + missingProperties, + missingProvide, + missingRequire, + missingReturn, + nonStandardJsDocs, + reportUnknownTypes, + suspiciousCode, + strictModuleDepCheck, + typeInvalidation, + undefinedNames, + undefinedVars, + unknownDefines, + uselessCode, + visibility. + + + + + + + Make the named class of warnings a + normal warning. Options: + accessControls, + ambiguousFunctionDecl, + checkEventfulObjectDisposal, + checkRegExp, + checkStructDictInheritance, + checkTypes, + checkVars, + const, + constantProperty, + deprecated, + duplicateMessage, + es3, + es5Strict, + externsValidation, + fileoverviewTags, + globalThis, + internetExplorerChecks, + invalidCasts, + misplacedTypeAnnotation, + missingProperties, + missingProvide, + missingRequire, + missingReturn, + nonStandardJsDocs, + reportUnknownTypes, + suspiciousCode, + strictModuleDepCheck, + typeInvalidation, + undefinedNames, + undefinedVars, + unknownDefines, + uselessCode, + visibility. + + + + + + Sets what language spec that input + sources conform. Options: ECMASCRIPT3 + (default), ECMASCRIPT5, + ECMASCRIPT5_STRICT. + + + + + + The logging level (standard + java.util.logging.Level values) for Compiler progress. Does + not control errors or warnings for the JavaScript code under + compilation + + + + + + 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. + + + + + name:num-js-files:dep...: + + 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 flags occur in + relation to flags is unimportant. + Provide the value auto to trigger module + creation from CommonJSmodules. + + + + + VAL + + Prefix for filenames of compiled JS + modules. module-name.js will be appended to this + prefix. Directories will be created as needed. Use with + . + + + + + + 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. + + + + + + In development new type inference pass. DO NOT + USE! + + + + + + 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 + . + + + + + + + Prints out a list of all the files in the + compilation. If + is on, this will not include files that got dropped because + they were not required. The %outname% + placeholder expands to the JS output file. If you're using + modularization, using %outname% will create + a manifest for each module. + + + + + + Prints out a JSON file of dependencies + between modules. + + + + + + Interpolate output into this string at the + place denoted by the marker token + %output%. Use marker token + %output|jsstring% to do js string escaping + on the output. + + + + + + Prints a dot file describing the internal + abstract syntax tree and exits. + + + + + + Prints a dot file describing the passes that + will get run and exits. + + + + + + Prints out the parse tree and exits. + + + + + + Processes built-ins from the Closure + library, such as goog.require(), goog.provide(), and goog.exportSymbol(). + + + + + + + Process CommonJS modules to a concatenable form. + + + + + + + Processes built-ins from the jQuery + library, such as jQuery.fn and jQuery.extend(). + + + + + + File containing the serialized version of the + property renaming map produced by a previous compilation. + + + + + + + File where the serialized version of the + property renaming map produced should be saved. + + + + + + The source map format to produce. + Options: V1, + V2, + V3, + DEFAULT. + DEFAULT + produces V2. + + + + + + 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 + ), 3 (always print + summary). The default level is 1. + + + + + + Check source validity but do not enforce + Closure style rules and conventions. + + + + + + Shows the duration of each compiler pass and + the impact to the compiled output size. Options: + ALL, RAW_SIZE, + TIMING_ONLY, OFF. + + + + + + + Transform AMD to CommonJS modules. + + + + + + Source of translated messages. + Currently only supports XTB. + + + + + + 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. + + + + + + Specifies whether the default externs should + be excluded. + + + + + + Experimental: perform additional optimizations + based on available information. Inaccurate type annotations + may result in incorrect results. + + + + + VAL + + File containing the serialized version of the + variable renaming map produced by a previous compilation. + + + + + + + File where the serialized version of the + variable renaming map produced should be saved. + + + + + + Prints the compiler version to stderr. + + + + + + Specifies the warning level to use. + Options: QUIET, + DEFAULT, + VERBOSE. + + + + + FILE + + A file containing warnings to suppress. Each + line should be of the form file-name:line-number warning-description. + + + + + + + See Also + https://code.google.com/p/closure-compiler/ + + diff --git a/sources b/sources index e69de29..8e64dc0 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +ce07ae896c7b4530120d01301aa75594 v20140110.zip