|
@@ -1,314 +0,0 @@
|
|
|
-/*
|
|
|
- * Copyright 2009 The Closure Compiler Authors.
|
|
|
- *
|
|
|
- * Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
- * you may not use this file except in compliance with the License.
|
|
|
- * You may obtain a copy of the License at
|
|
|
- *
|
|
|
- * http://www.apache.org/licenses/LICENSE-2.0
|
|
|
- *
|
|
|
- * Unless required by applicable law or agreed to in writing, software
|
|
|
- * distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
- * See the License for the specific language governing permissions and
|
|
|
- * limitations under the License.
|
|
|
- */
|
|
|
-
|
|
|
-//
|
|
|
-// Contents
|
|
|
-//
|
|
|
-
|
|
|
-The Closure Compiler performs checking, instrumentation, and
|
|
|
-optimizations on JavaScript code. The purpose of this README is to
|
|
|
-explain how to build and run the Closure Compiler.
|
|
|
-
|
|
|
-The Closure Compiler requires Java 6 or higher.
|
|
|
-http://www.java.com/
|
|
|
-
|
|
|
-
|
|
|
-//
|
|
|
-// Building The Closure Compiler
|
|
|
-//
|
|
|
-
|
|
|
-There are three ways to get a Closure Compiler executable.
|
|
|
-
|
|
|
-1) Use one we built for you.
|
|
|
-
|
|
|
-Pre-built Closure binaries can be found at
|
|
|
-http://code.google.com/p/closure-compiler/downloads/list
|
|
|
-
|
|
|
-
|
|
|
-2) Check out the source and build it with Apache Ant.
|
|
|
-
|
|
|
-First, check out the full source tree of the Closure Compiler. There
|
|
|
-are instructions on how to do this at the project site.
|
|
|
-http://code.google.com/p/closure-compiler/source/checkout
|
|
|
-
|
|
|
-Apache Ant is a cross-platform build tool.
|
|
|
-http://ant.apache.org/
|
|
|
-
|
|
|
-At the root of the source tree, there is an Ant file named
|
|
|
-build.xml. To use it, navigate to the same directory and type the
|
|
|
-command
|
|
|
-
|
|
|
-ant jar
|
|
|
-
|
|
|
-This will produce a jar file called "build/compiler.jar".
|
|
|
-
|
|
|
-
|
|
|
-3) Check out the source and build it with Eclipse.
|
|
|
-
|
|
|
-Eclipse is a cross-platform IDE.
|
|
|
-http://www.eclipse.org/
|
|
|
-
|
|
|
-Under Eclipse's File menu, click "New > Project ..." and create a
|
|
|
-"Java Project." You will see an options screen. Give the project a
|
|
|
-name, select "Create project from existing source," and choose the
|
|
|
-root of the checked-out source tree as the existing directory. Verify
|
|
|
-that you are using JRE version 6 or higher.
|
|
|
-
|
|
|
-Eclipse can use the build.xml file to discover rules. When you
|
|
|
-navigate to the build.xml file, you will see all the build rules in
|
|
|
-the "Outline" pane. Run the "jar" rule to build the compiler in
|
|
|
-build/compiler.jar.
|
|
|
-
|
|
|
-
|
|
|
-//
|
|
|
-// Running The Closure Compiler
|
|
|
-//
|
|
|
-
|
|
|
-Once you have the jar binary, running the Closure Compiler is straightforward.
|
|
|
-
|
|
|
-On the command line, type
|
|
|
-
|
|
|
-java -jar compiler.jar
|
|
|
-
|
|
|
-This starts the compiler in interactive mode. Type
|
|
|
-
|
|
|
-var x = 17 + 25;
|
|
|
-
|
|
|
-then hit "Enter", then hit "Ctrl-Z" (on Windows) or "Ctrl-D" (on Mac or Linux)
|
|
|
-and "Enter" again. The Compiler will respond:
|
|
|
-
|
|
|
-var x=42;
|
|
|
-
|
|
|
-The Closure Compiler has many options for reading input from a file,
|
|
|
-writing output to a file, checking your code, and running
|
|
|
-optimizations. To learn more, type
|
|
|
-
|
|
|
-java -jar compiler.jar --help
|
|
|
-
|
|
|
-You can read more detailed documentation about the many flags at
|
|
|
-http://code.google.com/closure/compiler/docs/gettingstarted_app.html
|
|
|
-
|
|
|
-
|
|
|
-//
|
|
|
-// Compiling Multiple Scripts
|
|
|
-//
|
|
|
-
|
|
|
-If you have multiple scripts, you should compile them all together with
|
|
|
-one compile command.
|
|
|
-
|
|
|
-java -jar compiler.jar --js=in1.js --js=in2.js ... --js_output_file=out.js
|
|
|
-
|
|
|
-The Closure Compiler will concatenate the files in the order they're
|
|
|
-passed at the command line.
|
|
|
-
|
|
|
-If you need to compile many, many scripts together, you may start to
|
|
|
-run into problems with managing dependencies between scripts. You
|
|
|
-should check out the Closure Library. It contains functions for
|
|
|
-enforcing dependencies between scripts, and a tool called calcdeps.py
|
|
|
-that knows how to give scripts to the Closure Compiler in the right
|
|
|
-order.
|
|
|
-
|
|
|
-http://code.google.com/p/closure-library/
|
|
|
-
|
|
|
-//
|
|
|
-// Licensing
|
|
|
-//
|
|
|
-
|
|
|
-Unless otherwise stated, all source files are licensed under
|
|
|
-the Apache License, Version 2.0.
|
|
|
-
|
|
|
-
|
|
|
------
|
|
|
-Code under:
|
|
|
-src/com/google/javascript/rhino
|
|
|
-test/com/google/javascript/rhino
|
|
|
-
|
|
|
-URL: http://www.mozilla.org/rhino
|
|
|
-Version: 1.5R3, with heavy modifications
|
|
|
-License: Netscape Public License and MPL / GPL dual license
|
|
|
-
|
|
|
-Description: A partial copy of Mozilla Rhino. Mozilla Rhino is an
|
|
|
-implementation of JavaScript for the JVM. The JavaScript parser and
|
|
|
-the parse tree data structures were extracted and modified
|
|
|
-significantly for use by Google's JavaScript compiler.
|
|
|
-
|
|
|
-Local Modifications: The packages have been renamespaced. All code not
|
|
|
-relevant to parsing has been removed. A JsDoc parser and static typing
|
|
|
-system have been added.
|
|
|
-
|
|
|
-
|
|
|
------
|
|
|
-Code in:
|
|
|
-lib/rhino
|
|
|
-
|
|
|
-Rhino
|
|
|
-URL: http://www.mozilla.org/rhino
|
|
|
-Version: Trunk
|
|
|
-License: Netscape Public License and MPL / GPL dual license
|
|
|
-
|
|
|
-Description: Mozilla Rhino is an implementation of JavaScript for the JVM.
|
|
|
-
|
|
|
-Local Modifications: Minor changes to parsing JSDoc that usually get pushed
|
|
|
-up-stream to Rhino trunk.
|
|
|
-
|
|
|
-
|
|
|
------
|
|
|
-Code in:
|
|
|
-lib/args4j.jar
|
|
|
-
|
|
|
-Args4j
|
|
|
-URL: https://args4j.dev.java.net/
|
|
|
-Version: 2.0.16
|
|
|
-License: MIT
|
|
|
-
|
|
|
-Description:
|
|
|
-args4j is a small Java class library that makes it easy to parse command line
|
|
|
-options/arguments in your CUI application.
|
|
|
-
|
|
|
-Local Modifications: None.
|
|
|
-
|
|
|
-
|
|
|
------
|
|
|
-Code in:
|
|
|
-lib/guava.jar
|
|
|
-
|
|
|
-Guava Libraries
|
|
|
-URL: http://code.google.com/p/guava-libraries/
|
|
|
-Version: 15.0
|
|
|
-License: Apache License 2.0
|
|
|
-
|
|
|
-Description: Google's core Java libraries.
|
|
|
-
|
|
|
-Local Modifications: None.
|
|
|
-
|
|
|
-
|
|
|
------
|
|
|
-Code in:
|
|
|
-lib/jsr305.jar
|
|
|
-
|
|
|
-Annotations for software defect detection
|
|
|
-URL: http://code.google.com/p/jsr-305/
|
|
|
-Version: svn revision 47
|
|
|
-License: BSD License
|
|
|
-
|
|
|
-Description: Annotations for software defect detection.
|
|
|
-
|
|
|
-Local Modifications: None.
|
|
|
-
|
|
|
-
|
|
|
------
|
|
|
-Code in:
|
|
|
-lib/jarjar.jar
|
|
|
-
|
|
|
-Jar Jar Links
|
|
|
-URL: http://jarjar.googlecode.com/
|
|
|
-Version: 1.1
|
|
|
-License: Apache License 2.0
|
|
|
-
|
|
|
-Description:
|
|
|
-A utility for repackaging Java libraries.
|
|
|
-
|
|
|
-Local Modifications: None.
|
|
|
-
|
|
|
-
|
|
|
-----
|
|
|
-Code in:
|
|
|
-lib/junit.jar
|
|
|
-
|
|
|
-JUnit
|
|
|
-URL: http://sourceforge.net/projects/junit/
|
|
|
-Version: 4.10
|
|
|
-License: Common Public License 1.0
|
|
|
-
|
|
|
-Description: A framework for writing and running automated tests in Java.
|
|
|
-
|
|
|
-Local Modifications: None.
|
|
|
-
|
|
|
-
|
|
|
----
|
|
|
-Code in:
|
|
|
-lib/protobuf-java.jar
|
|
|
-
|
|
|
-Protocol Buffers
|
|
|
-URL: http://code.google.com/p/protobuf/
|
|
|
-Version: 2.4.1
|
|
|
-License: New BSD License
|
|
|
-
|
|
|
-Description: Supporting libraries for protocol buffers,
|
|
|
-an encoding of structured data.
|
|
|
-
|
|
|
-Local Modifications: None
|
|
|
-
|
|
|
-
|
|
|
----
|
|
|
-Code in:
|
|
|
-lib/ant.jar
|
|
|
-lib/ant-launcher.jar
|
|
|
-
|
|
|
-URL: http://ant.apache.org/bindownload.cgi
|
|
|
-Version: 1.8.1
|
|
|
-License: Apache License 2.0
|
|
|
-Description:
|
|
|
- Ant is a Java based build tool. In theory it is kind of like "make"
|
|
|
- without make's wrinkles and with the full portability of pure java code.
|
|
|
-
|
|
|
-Local Modifications: None
|
|
|
-
|
|
|
-
|
|
|
----
|
|
|
-Code in:
|
|
|
-lib/json.jar
|
|
|
-URL: http://json.org/java/index.html
|
|
|
-Version: JSON version 20090211
|
|
|
-License: MIT license
|
|
|
-Description:
|
|
|
-JSON is a set of java files for use in transmitting data in JSON format.
|
|
|
-
|
|
|
-Local Modifications: None
|
|
|
-
|
|
|
----
|
|
|
-Code in
|
|
|
-lib/mockito-core.jar
|
|
|
-URL: https://code.google.com/p/mockito
|
|
|
-Version: 1.9.5
|
|
|
-License: MIT license
|
|
|
-Description:
|
|
|
-Mockito is an open source testing framework for Java. The framework allows the creation of Test Double objects (called "Mock Objects") in automated unit tests for the purpose of Test-driven Development (TDD) or Behavior Driven Development (BDD).
|
|
|
-
|
|
|
-Local Modifications: None
|
|
|
-
|
|
|
----
|
|
|
-Code in
|
|
|
-lib/objenesis.jar
|
|
|
-URL: http://objenesis.org
|
|
|
-Version: 1.2
|
|
|
-License: Apache 2.0 license
|
|
|
-Description:
|
|
|
-Depended by lib/mockito-core.jar, not used directly.
|
|
|
-
|
|
|
-Local Modifications: None
|
|
|
-
|
|
|
----
|
|
|
-Code in:
|
|
|
-tools/maven-ant-tasks-2.1.3.jar
|
|
|
-URL: http://maven.apache.org
|
|
|
-Version 2.1.3
|
|
|
-License: Apache License 2.0
|
|
|
-Description:
|
|
|
- Maven Ant tasks are used to manage dependencies and to install/deploy to
|
|
|
- maven repositories.
|
|
|
-
|
|
|
-Local Modifications: None
|