Obvious/plovr — pull request #5 by nicks (2013-03-27 19:11:20+00:00)
Title: Build plovr from source

Hello dan,

Please review the following commits I made in branch 'nick-plovr-from-source'.

47586a3ffff22b27bfb21e94f872f22e28d9d79d (2013-03-27 15:00:40 -0400)
Update the README

594cb2e8e9a1061466ae6494515d5aa942671bc7 (2013-03-27 14:52:22 -0400)
Remove everything

91bf57253c470cd3d2edd136faa7b430bf89ed78 (2013-03-27 14:52:22 -0400)
Update the version to 0.2.1

9bc61c0a8c9061559750abe9b0d6c0a0c381c8d3 (2013-03-27 14:52:21 -0400)
Only echo the java invocation

2ded0579facf06832c71738ee29188401b5fcd41 (2013-03-27 14:52:21 -0400)
Default to -client GC on build

68d1d9a7bc719811a6768abf685b5d927f05238f (2013-03-27 14:52:21 -0400)
Allow us to run plovr in client mode or server mode

5139e8b2c7a81d6472008ebd85ff07db85601a5a (2013-03-27 14:52:21 -0400)
Package Version 0.2.0, using October 2012 build of plovr

b8470e3f6ae04b1a14765cd0e7104e6950adc951 (2013-03-27 14:52:21 -0400)
Bump version.

fcd29d91906ce72a792c99f6038c17705109f6a1 (2013-03-27 14:52:21 -0400)
Add a workaround for a Node weirdness.

091143401462382ef3657fda5abec5ec6207370a (2013-03-27 14:52:21 -0400)
[fix] path.existsSync was moved to fs.existsSync

9048be8074f86059d2245d14c574c2cbacba17fd (2013-03-27 14:52:21 -0400)
Updated plovr to use up to 4gb of ram

99e638a203f788be8a7d2cdda9febdabcb5b189e (2013-03-27 14:52:21 -0400)
Expand slightly.

a28ab37985293f2387407658e4f3158a2966696b (2013-03-27 14:52:21 -0400)
And another.

eddbe745d8b20c2ca426af6e81ba50f3e652cf97 (2013-03-27 14:52:21 -0400)
Fix a copy-paste travesty.

6cfd2c292c06f49d52afea7aed5a6d7d087b2d29 (2013-03-27 14:52:21 -0400)
A little color.

bb7a48638167593a1b0b3e6b3f6c0d016b889008 (2013-03-27 14:52:21 -0400)
Provide handy link.

9ffecfaa957bcc3d5cbf92152e55c5bcf5faa6c1 (2013-03-27 14:52:21 -0400)
Document.

017741195522f1ccec0a4d999458064382b09610 (2013-03-27 14:52:21 -0400)
Errant comma.

bf8c317edfc3d09eb8a55be8de926586666f7ec6 (2013-03-27 14:52:21 -0400)
First cut.

0f6d85701b7a35199373d828e9d43f3b50a90517 (2013-03-27 14:51:49 -0400)
first commit

d57951c8fd38e42c867ec004f4b29955f3e37308 (2013-03-27 14:43:25 -0400)
Add pre-compiled plovr jar

94be6ebc7dc35908bc9d5756a609cdc26c34218d (2013-03-27 14:41:32 -0400)
Move package.json into a subdirectory. Resolve dependency skew between different jars.

c4cefc0f15a760f7dfa28a71b71132a8c393a893 (2013-03-27 11:51:07 -0400)
Remove baked-in dependencies

da71ba951deefbaf478c757c8ed569eb0a73d5ab (2013-03-27 11:49:45 -0400)
Plovr now builds with npm-installed dependencies

f4e55871500826be92c1a484ef6072471b26dd52 (2013-03-26 23:53:22 -0400)
Use npm-installed closure-library and closure-templates

cc703c019dbaaabdfcbf5ef2ff3e1f41ed7a17a1 (2013-03-26 23:42:44 -0400)
Add .gitignore and package.json

7386dcce8bc33d5e7071910b37c67d43cb5c2fab (2013-01-06 22:57:27 -0800)
Include standard library definitions when compiling TypeScript.

892b66670a7e30fb37770ae4faa08b356326d606 (2013-01-06 22:44:17 -0800)
Initial support for TypeScript.
Source files that are passed to plovr that end in .ts will be translated to JavaScript by the TypeScript compiler before being passed to the Closure Compiler.

Currently, support is limited because TypeScript code is not yet compiled against a default set of "externs" (like lib.d.ts in TypeScript parlance) like Closure JavaScript is.
ec6900a8f7b6625e32f5c69d751d1eb734e759b6 (2013-01-06 19:15:33 -0800)
Refactor the reusable logic of CoffeeScriptCompiler into AbstractJavaScriptBasedCompiler.

79f0595b98d045237661e31550caf7eac188743a (2013-01-06 18:44:54 -0800)
Create a Bash script that makes it possible to run plovr after running `ant compile` once. When Eclipse compiles the Java for you, this makes it possible to re-run plovr without having to run Ant again. This should dramatically speed up plovr development time.

4cfbf53809993f96d00b525169e0ec3cf81c0a71 (2013-01-06 17:16:20 -0800)
Replace my fork of CoffeeScript with the official release of CoffeeScript 1.4.0.

d02e0d3cd30bb626389c72cf190fb16ce15b0b52 (2013-01-06 16:13:58 -0800)
Updated Closure Stylesheets to a version built from 43c9b6b37799b79bf6dae055d702ee6a4fee8fa7.

70ecdfaabbfd2e1b46983965c6d34b660f055421 (2013-01-06 16:05:08 -0800)
Upgrade GSON to version 2.2.2.
Also created a unit test to verify that setLenient() has some terrible behavior.
Filed http://code.google.com/p/google-gson/issues/detail?id=494 to get it fixed.
882fd3b5e7f1846a1b2816cf70f2d03729b8ef7e (2013-01-06 15:36:41 -0800)
Upgrade from guava-11.0.1.jar to guava-13.0.1.jar.

6bc7a093a8c135c46c43627da06ec610d4dafafb (2013-01-06 15:22:25 -0800)
Use useNativeBasedir on tasks in Ant for safety.

da2e0149c61e469700a079885bc8009c23e385e4 (2013-01-06 15:14:32 -0800)
Suppress a deprecation warning in PlovrSoySyntaxExceptionTest.java.

1b4c3a96ba8c57bee621c461283df6b31d84b1cf (2013-01-06 15:21:48 -0800)
Update some unit tests to reflect the recent updates to the Closure Library.

c4bfe5b48fd618793ae80faaecdd9c7297916d5d (2013-01-06 14:46:50 -0800)
merge from closure-library branch at closure-library revision 2414

1855fcd4fddf7449e05bad8391567775651073d7 (2013-01-06 14:46:50 -0800)
Pull latest changes from closure-library SVN repository at r2414.

74f8dd907a443cd8400f3a91049f94e381f9efe1 (2013-01-06 14:32:54 -0800)
Fix up some compilation errors that resulted from the closure-templates merge.

480fc2847441b70237a86a8ba3948b66db87d58b (2013-01-06 14:13:34 -0800)
Merge cleanup.

7fb84a3908e1135c25d0e94b1aa362bd8f1285b1 (2013-01-06 14:05:37 -0800)
merge from closure-templates branch at closure-templates revision 28

5e2150697b4ccb8eb58dc565581ce26d787bfd7d (2013-01-06 14:05:37 -0800)
Pull latest changes from closure-templates SVN repository at r28.

dbdc60caee37a3d13ab4873be04006a353c66fa3 (2013-01-06 13:50:26 -0800)
Change plovr so it requires Java 7. plovr developers will now have to set the environment variable $JAVA7_HOME before building plovr.
Trying to maintain a patch on top of the version of Rhino that is
bundled with the Closure Compiler such that it runs when JarJar'ed
has been a nightmare.

It is necessary to run Rhino as part of plovr in order to support
the current CoffeeScript integration, as well as the upcoming
TypeScript integration. CoffeeScriptCompilerTest exercises the
CoffeeScript integration logic, so I have been using it as a
proxy to determine whether plovr is wired up to a proper JavaScript
interpreter.

Instead of continuing to maintain the JarJar hack, references to
com.google.javascript.rhino.head in plovr source code have been
replaced with references to sun.org.mozilla.javascript.internal.
The sun.org.mozilla.javascript.internal classes are bundled with
Oracle's JDK 7.

This may cause some pain for users, as it may require upgrading to
Java 7, and presumably will not work for JDKs besides Oracle's,
unless such other JDKs also start including sun.org.mozilla.*.

This upgrade was likely inevitable, as plovr will want to leverage
java.nio.file.WatchService, as well as other I/O API improvements
introduced in Java 7:
http://docs.oracle.com/javase/tutorial/essential/io/fileio.html

Finally, at least on my system (Ubuntu 12.10), this change required
modifying the task in build.xml to specify the bootclasspath.
Previously, Ant was able to find the appropriate rt.jar on its own,
but now that it has failed to do so, I am requiring users to define
an environment variable named $JAVA7_HOME, which Ant will use to find
the appropriate rt.jar to include as the bootclasspath.

I chose $JAVA7_HOME as the name of the environment variable in case
you are using both Java 6 and Java 7 on your machine and have existing
tools that require $JAVA_HOME to point to Java 6 on your system.
eee5a3d567e743ba638b8c098a57bf15060c035a (2013-01-06 11:45:44 -0800)
Fix up some issues post-closure-compiler merge.

08529be12dfdbe41ef0fb1b0ca41feed00e0a21b (2013-01-06 10:42:12 -0800)
merge from closure-compiler branch at closure-compiler revision 2437

b8436768e06baf69326d5fd40a473e5e58927cd7 (2013-01-06 10:24:57 -0800)
merge from closure-compiler branch at closure-compiler revision 2437

e53c6b6543d5fe15901e73899d38401f4de98cf2 (2013-01-06 10:24:57 -0800)
Pull latest changes from closure-compiler SVN repository at r2437.

129bcc01cd89d95d87c967f85c90322c82465849 (2013-01-06 09:56:32 -0800)
Missed two files as part of the revert from the previous diff.

5d31ba6cecd025264901cdf6fb1b58f3caa056c0 (2013-01-06 09:49:16 -0800)
Revert Ilia's change that introduced JarJarHelper.
I believe this originally fixed a bug which made it possible
to run the version of Rhino bundled with the Closure Compiler,
which is necessary to support CoffeeScript in plovr.
This was because some JVMs bundle their own version of Rhino,
which was incompatiable with the one in the Closure Compiler.
I think this was an Oracle JDK vs. OpenJDK issue.

With this change, I just ran the unit tests on Ubuntu 12.10
with Sun/Oracle Java 1.6.0_37, and everything passed. (Note this includes
CoffeeScriptCompilerTest.) I do not have the OpenJDK handy,
but I suspect it is possible that this will break support for
plovr for those using the OpenJDK.

In general, this was a good change, and ideally, I would like to
support both the Oracle JDK and the OpenJDK; however, having this
change in place makes it incredibly painful to merge in upstream
changes from the official Closure Compiler repo, as it habitually
incurs all sorts of conflicts.
b084427aa5573830422190f3add2cfa9bd2a5a6f (2013-01-05 16:09:52 -0800)
Ported Ilia's global-scope-name work to use Closure Compiler's RescopeGlobalSymbols pass in favor of the custom AddScopeToGlobals and AnonymizeNamedFunctions passes that he created. Examined Hg revisions 1685 and 1688, which appeared to be the source of the original work, and undid/ported those changes.
This change means that the JavaScript generated by plovr no longer
contains a "with{}" block, and that the version of the Closure Compiler
in plovr is much closer what is in the official Closure Compiler trunk.

Code Review: https://codereview.appspot.com/7062046
76703a8952c3b4da525072a625dc60238a7ce518 (2012-10-28 23:29:37 -0700)
Incorporated the patch on http://code.google.com/p/plovr/issues/detail?id=64 to support running tests on Windows.

551eb2a3c8cbad33e9491c9dd5de5c39bccdb40a (2012-10-28 23:23:10 -0700)
Started work on adding a flag to support serving via https://. This does not set the HttpsConfigurator on the HttpsServer, so it does not really work yet.

ad6b2757b2f5fb08b332add74f889ddf57f8a055 (2012-10-06 12:12:43 -0700)
Adds option that forces Soy not to remove ijData. Author: Dan Pupius

2f0e488f0175252e6bfb4475dd2a431dce96343a (2012-09-18 08:45:49 -0700)
Add fork="true" in in build.xml, which reportedly helped prevent Ant from running out of memory while building plovr: https://groups.google.com/forum/?fromgroups=#!topic/plovr/CnxG9GUR_Z4

81bb9cea8feac43c745162718111a6f5f919fbf6 (2012-09-09 23:07:40 -0700)
Obligatory fix to ConfigParserTest after merging the latest version of closure-library.

76160354142b2923597a992aab60bcd1b3cc6e8d (2012-09-09 22:59:36 -0700)
Address warnings: add @Override for overridden methods.

24c21b2cef48f144bfb4632395c8590650762b09 (2012-09-09 22:57:44 -0700)
Fix deprecation warnings. Replace accesses to JSError.level with calls to getDefaultLevel().

00478117571b03fb6f1406148692e82fb01229af (2012-09-09 22:56:26 -0700)
Fix deprecation warnings: replace JSSourceFile with SourceFile.

4441be2529ee99d9b11cca39992cf11bdb8424cd (2012-09-09 22:47:13 -0700)
Apparently Eclipse says that including the '' makes this line ambiguous, so I removed it.

75646970659776a37b03c6818f9b1385a4d7022f (2012-09-09 22:10:53 -0700)
Pull latest changes from closure-compiler SVN repository at r2171.

7e5c2a05b8d4eb5a32b2a5bbd5db78085085f0fb (2012-09-09 16:49:51 -0700)
Pull latest changes from closure-library SVN repository at r2143.

1efff3ba9005b8734e8c116d74894997c1a19e59 (2012-09-09 16:20:43 -0700)
merge from closure-library branch at closure-library revision 2143

268ac7a8502a2d82dea84a4efdfcd8384b182613 (2012-07-17 21:45:55 -0700)
User requested that "Soy files" be changed to "Soy template files" in docs so that users grepping for the word "template" find this passage more easily.

4b447d7284d32f234f060cf555a341fcffd637bf (2012-07-15 14:43:08 -0400)
Don't leave empty source*map files sitting around.
http://codereview.appspot.com/6405045/
9eef092fd95eb2a7fa6a032192365f5b03695ad7 (2012-05-03 10:35:49 -0700)
Made it possible to set test drivers from a plovr config.

f1829d98e52ae5ace4503487d58414ec69dca312 (2012-05-02 12:41:35 -0700)
First attempt at supporting a 'plovr test' command that runs the JS Unit tests headless.

f294f06ce1f470e21b18709a8d0f7c9aa2ebbe9f (2012-05-01 20:25:01 -0700)
Fix a bug where if a file (rather than a directory) were used as a ConfigPath, the resulting JsInput would have the wrong name. Added a regression test in ConfigParserTest.

3a826bc7cbe8d7f96d67297cd4ea78f77ea375c3 (2012-05-01 20:11:20 -0700)
Include relative paths in JsInput names. This should fix the following bugs:
http://code.google.com/p/plovr/issues/detail?id=55
http://code.google.com/p/plovr/issues/detail?id=56
http://code.google.com/p/plovr/issues/detail?id=60

There was a proposed solution at:

https://bitbucket.org/ipreachable/plovr/changeset/0ba0bdbfd2c8

which reportedly worked for some people, but had the drawback
that it inserted meaningless integers into the JsInput names.

This approach requires considerably more lines of code to change,
but produces cleaner URLs.

Specifically, the prefix of a JsInput for a file from either
the built-in Closure Library or a user-supplied Closure Library
will now always be "/closure/goog/".

This means that base.js and deps.js will always be:

/closure/goog/base.js
/closure/goog/deps.js

Further, names of other JsInputs will be a concatenation of:

(1) the relative path specified in a config
(2) the path relative to the relative path specified in the config.

Previously, JsInputs were only composed of (2), which was simpler,
but resulted in the bug reports listed above.

For example, consider the following files:

config.js
main/foo/bar.soy
custom/foo/bar.soy

Previously, if config.js included the following line:

"paths": ["main", "custom"]

then there would be an error because there would be two JsInputs
with the name "foo/bar.soy".

With this change, the names of the JsInputs would be
"main/foo/bar.soy" and "custom/foo/bar.soy", eliminating
the naming collision and fixing the error.

The introduction of the ConfigPath abstraction is fundamental to this change.

An alternative solution would have been to use absolute file paths for
all JsInputs that correspond to local files, but:

(1) That would result in ugly URLs.
(2) That might leak information about local paths on the user's machine.

NameCollisionTest has been added as a regression test,
though this change could still benefit from manual testing
by users with other configurations.
d8c7598baccb333fcb3420cc7c1d60a95fe0a238 (2012-02-23 16:46:20 -0800)
In SoyWeb, create a --plugins command line option that makes it possible to specify a Guice module that injects plugins and functions for Closure Templates. This was already possible using the "soy-function-plugins" option in a plovr config for build and serve modes, but not for SoyWeb.

c78367e65546e24a69ab8475c442c7ee954cbd03 (2012-02-22 00:13:32 -0800)
Add support for a css-defines config option. This takes a list of conditions that should be set to true when evaluating GSS. This is analogous to using the --define command line option in Closure Stylesheets.

733cd4bdafb94249d4499b8b2ccfc708ca8d0222 (2012-02-15 18:37:52 -0800)
Disable the "simplify CSS" optimization in Closure Stylesheets because it can introduce breaking behavior: http://bolinfest.com/webkit/placeholder.html

334d957366608dfae57f09a874bc0b2431e8d2d7 (2012-02-14 01:18:17 -0800)
Replace the official Closure Stylesheets release with a version that includes Guava 11.0.1.

d73674fb365b3406050aca63f86400e3f5044cb1 (2012-02-13 18:24:00 -0800)
Upgrading from Guava 10.0.1 to 11.0.1.

e6a4216e4559ed2faef86b45f8a7a3ef2b1f938c (2012-02-09 23:26:24 -0800)
Added support for config option: css-allowed-unrecognized-properties.

64ee9baa89ad52eab7daa2371b19a7548a15489b (2012-02-09 18:59:05 -0800)
Added support for writing out the compiled CSS file in build mode.

6b2d40b4c28355091db9fb005d427a3e23aaa05f (2012-02-09 18:39:43 -0800)
Introduced a "css-output-file" option for the Config.

1c5a0d47b9620855ee5d1b55b30488ec0b5a260e (2012-02-08 17:55:16 -0800)
Remove misplaced jarfile entry in build.xml.

28bd02d4738172b6ea03e6a314d60a6d6526ceae (2012-02-08 17:27:30 -0800)
Added a new option to plovr: css-gss-function-map-provider This makes it possible to set the GssFunctionMapProvider to use when compiling GSS.

2da44dfc741512acd67f909808b4739ecfdb73a7 (2012-02-08 15:24:42 -0800)
Fixed a bug where checking the last modified time of a config file considered only the root config file in a config inheritance chain rather than all of the files in the config inheritance chain.

3ec8bf0d2ced0673f81585549ab8417a0356666c (2012-02-08 14:30:05 -0800)
Initial support for Closure Stylesheets. Currently, only works in serve mode. Only options that can be specified from a config are: css-inputs css-allowed-non-standard-functions Options will be prefixed with "css-" rather than doing: css: { inputs: ... allowed-non-standard-functions: ... } Because the prefixing approach works better with config inheritance.

5c566a4a69ede25aca51eb0277fb9d0b7e640de0 (2012-02-08 12:00:05 -0800)
Disable ETags in Google Chrome until further notice because the Chrome team believes they have fixed the issue whereas I am still seeing it: http://code.google.com/p/chromium/issues/detail?id=105824

91f9e31ba0b77804535984d85446a40b042c8e76 (2012-02-08 11:30:18 -0800)
Test for Chrome 17 instead of Chrome 16 now that Chrome 17 is available on the stable channel and still appears to exhibit the bug.

bd6451d98c0c514323fc632741ef0921a7b7272a (2012-02-08 14:10:39 -0500)
Remove old rhino source left from merge of new code which moved everything around. Move JarJarHelper to new code, and fix up all the org/mozilla/javascript references to use it.
Fix CoffeeScriptCompiler's error message handling -- NativeObject.message
is now a ConsString
7e6fef818fd2894d0525405ad58f5200174ab6bb (2012-02-08 11:10:32 -0800)
Do not use ETags if using Chrome 16 or earlier due to: http://code.google.com/p/chromium/issues/detail?id=105824.

6806f778256bd993e9e9da6ba86ea60c6787194d (2012-02-08 11:56:36 -0500)
Use new jarjar'd package name.

3756704db1951eebe013574bb00b97f242643271 (2012-02-05 13:04:01 -0800)
Fixed plovr so that `ant all` succeeds again after syncing each of Closure Library, Closure Templates, and Closure Compiler to head.
Merging com.google.javascript.jscomp.CompilerOptions after these syncs
has often been a pain, so I decided to create a subclass with plovr's
customizations in a new PlovrCompilerOptions class. (There was already a
TestCompilerOptions class that was serving a similar purpose.)
plovr's modifications to CompilerOptions are slight, and perhaps this
class will ultimately go away, but for now, this seems like the easiest
solution. (An unfortunate side-effect of creating this subclass is that
it required modifying com.google.javascript.jscomp.DefaultPassConfig
because subclassing that class would also be a pain.) On the bright side,
there are no longer any local modifications to
com.google.javascript.jscomp.CompilerOptions.

Replaced many instances of compileToJavaObj() (which is now deprecated
as of the latest Closure Templates sync) with compileToTofu() because
plovr is compiled with deprecation warnings on.

Updated ConfigTest to test for setting different properties because some
of the properties it used to test for have been removed as part of the
recent Closure Compiler sync. This leverages getters that are made public
by PlovrCompilerOptions (which used to be the responsibility of
TestCompilerOptions).

Updated ManifestTest because the Closure Library has been updated so that
events.js no longer relies on simplepool.js, jscript.js, or pools.js -- huzzah!
1b4f9b4bd79538f5f1efad299c6f4b9b5d76e6fa (2012-02-05 11:57:06 -0800)
Update icu4j jar name post update so that plovr compiles again.

4bd2398a92e515c935e2a25cd84acafa541747b5 (2012-02-05 11:41:13 -0800)
Post closure-compiler sync merge fixes.

3fe0457d3a4e38e1404c3f48ea1b2633fe165547 (2012-02-05 00:36:38 -0800)
merge from closure-compiler branch at closure-compiler revision 1761

d6107ac93af12010579c2fbb225493a015292655 (2012-02-05 00:36:38 -0800)
Pull latest changes from closure-compiler SVN repository at r1761.

d71e435d5a5f96dca641509859f1a1a2b9bbaae2 (2012-02-04 23:42:40 -0800)
merge from closure-library branch at closure-library revision 1559

2fff83e0f3bae067682434c9cdd3a06ebcb0df24 (2012-02-04 23:42:40 -0800)
Pull latest changes from closure-library SVN repository at r1559.

69e54405b5f84b9adf7deb3dc5aa912410f110ff (2012-02-04 23:25:52 -0800)
merge from closure-templates branch at closure-templates revision 27

2c42a39ba935f03944447beea2110e9c377b424c (2012-02-04 23:25:52 -0800)
Pull latest changes from closure-templates SVN repository at r27.

224dba272e626880fcc772ffd0a251aafbc762d7 (2012-02-04 23:05:33 -0800)
Add basic support for ETags when running plovr in server mode.

81553886acea7aa6363a2c2fb664e2d308654ec0 (2011-12-09 18:32:40 +0000)
Wrote a script to build all of the public documentation as static files and copy it to a directory that can be served by Apache. Previously, the documentation was served by SoyWeb, but it has failed to achieve 100% uptime, so this should be more reliable.

1819c9e0a28869b603b4755a68c26810793decb7 (2011-11-29 00:45:05 -0500)
Updated InputFileHandler so that it no longer invokes Manifest.getAllDependencies() every time it is executed. Including some debugging information so that others can help test to see whether this addresses the performance issue.

fdb43a5375cdb44dcf5b1c4f844fe75f40976800 (2011-11-24 10:03:49 -0500)
Nick Santos's proposed fix for http://code.google.com/p/plovr/issues/detail?id=51.

d99d68696bda33acf3283fb8520cba4685000f93 (2011-11-08 00:23:59 -0500)
Fix an error in the Ant target "serve-prod-documentation".

79de7e68a05851ee1dd80c30e3204f7f4e9ede3b (2011-11-07 23:56:37 -0500)
merge from closure-library branch at closure-library revision 1374

b3f017745f2b46f992c512cb769f82078ca5db28 (2011-11-07 23:56:37 -0500)
Pull latest changes from closure-library SVN repository at r1374.

3f7f01938853d8b997b68f3c2fdb0502f4cf972a (2011-11-07 23:54:24 -0500)
Upgrade to Guava 10.0.1.

5fe18f070e7e438aecf95896b7e3765d2ab53bae (2011-11-07 23:33:21 -0500)
merge from closure-compiler branch at closure-compiler revision 1559

67b9c07be6eb1b4e606f103836495c1aea668608 (2011-11-07 23:33:21 -0500)
Pull latest changes from closure-compiler SVN repository at r1559.

4ac866459b84b38d82079a0cc4480233d1b6bea2 (2011-11-05 12:01:30 -0400)
Updated SoyWeb so that it can take simple parameters from the query string. Here, "simple" means strings, booleans, numbers, and null. Complex soy data types (lists and maps) can be specified by passing encoded JSON, though that is admittedly tedious. Using the query string to inject parameters can be disabled by passing the --safe flag to SoyWeb. Note that for security purposes, --safe should always be used in production, though admittedly, SoyWeb is designed for internal prototyping rather than production.

7eeba321ddf080f6e563bea99bde7d82b7fe583e (2011-11-05 10:26:20 -0400)
Fix for http://code.google.com/p/plovr/issues/detail?id=49. plovr now prints an error an exits when no configs are supplied to the 'serve' command.

d0e7e63169280037ef12b5664ef0ab4c2cb4f76e (2011-10-28 00:09:45 -0400)
Update a TODO with some bug references.

8e9f4b691b016f67908a1898e2906999c6a77f1d (2011-10-26 10:56:57 -0400)
Pull latest changes from closure-templates SVN repository at r23.

5b6a271e7e384bef78e0fdf8b0b3ca340128b2b1 (2011-10-25 00:42:27 -0400)
Devised a better mechanism for generating tests from an existing plovr config. Now serve /test/CONFIG_ID/list, which is a list of all _test.html files. Also serve /test/CONFIG_ID/all, which is a test runner for all the _test.html files. Each _test.html is created by one of the following (in priority order): (1) A _test.html parallel to the _test.js file. (2) A Soy template specified by test-template in the plovr config. (3) The org.plovr.test template defined in test.soy.

9117097282491c721189ec1684144dcd382ae0c0 (2011-10-22 00:46:09 -0400)
Convert some tests from JUnit 3 to JUnit 4.

1af481bbbe14c45b2dd83a7efde8e29088370efb (2011-10-22 00:36:35 -0400)
Fix a bug from the previous commit where a value was not added to a cache.

68d397413df87404cea0861cf778b3b846646871 (2011-10-22 00:28:17 -0400)
Move the options to translate a Soy file into SoyFileOptions. Only have Soy files specify JS namespaces When the Closure Library is used.

ba1a2c89436660da2941ba26c652309b2686a299 (2011-10-19 10:42:15 -0400)
Add ant.jar to .classpath because closure-templates uses org.apache.tools.ant.Task without including an ant.jar. Fortunately, closure-compiler has one, which removes the compilation error that appears in Eclipse.

6ad9ae1d810be17c381119f778065896d32735d8 (2011-10-19 10:19:14 -0400)
Pull latest changes from closure-compiler SVN repository at r1520.

3c2c616a7691179b7b3c7a0faf19ca10ebca1a35 (2011-10-19 10:15:36 -0400)
Pull latest changes from closure-library SVN repository at r1348.

8939a47354a397cf50dfb4b28f2709dbd84807b5 (2011-10-19 10:14:25 -0400)
merge from closure-library branch at closure-library revision 1348

352c72092edfc20a7ca6a50fe49ef9677988b4b7 (2011-10-19 10:14:06 -0400)
Move update-repository.sh into scripts because I can never find it in its current location.

0306661e350819ca4f3f95e1bbba643f4179273f (2011-10-19 01:02:41 -0400)
Laying the groundwork for generating _test.html files for _test.js files. Next step is to create the multitest runner. After that, need to make it possible to customize the _test.html template.

509b36ad10bb0e6d6cc8279b07d9df0eaf336e98 (2011-10-18 01:36:27 -0400)
Polished soyweb command and documented it for public release.

3d1cb0644e56c58f3fa6ea6f706010a72fdad25b (2011-10-16 12:04:08 -0400)
Add a favicon to plovr.

ff0eb735e1d3075f1d7a14ea5819f1f2d9fb181a (2011-10-14 23:34:52 -0400)
merge from closure-compiler branch at closure-compiler revision 1511

7c1762fe407d37b8cccbb94b9288a3c5dd023a07 (2011-10-14 23:34:52 -0400)
Pull latest changes from closure-compiler SVN repository at r1511.

2bcc2ce8279aa7e2339f8b178c38930ec58bc277 (2011-10-14 23:30:13 -0400)
Edit trailing whitespace in fastdatanode.js to match what's in head on code.google.com.

0ee41e488065a3f79e3bf1509da069ba83bf3809 (2011-10-14 23:24:09 -0400)
Edit trailing whitespace to match code in Closure Templates so there is no diff between what's in head on code.google.com and the fork in plovr.

a3d38a53d1025ed6d93209c6c9c6f0304cc75911 (2011-10-14 23:19:11 -0400)
Undo remnants for the partial fix for a bug in Soy from http://code.google.com/p/plovr/source/detail?r=ca80a6fb0b8a9c49b84fe60d83c6cde2427144d6

321f2dbede160ea018bedfe48c4897406168d4a2 (2011-10-14 22:58:29 -0400)
merge from closure-library branch at closure-library revision 1341

bd9f9e720b7c1e6b0b9014dd1d9cba8c3c1cb561 (2011-10-14 22:58:29 -0400)
Pull latest changes from closure-library SVN repository at r1341.

bed4dad159ba195d0895a7fe89f396cfc280a943 (2011-10-14 21:56:22 -0400)
Reflect recent Soy change that renamed soydata.js to soyutils.js.

52fdf7da165b347ae2120935a32501cafb59a024 (2011-10-14 19:23:26 -0400)
Fix some TODOs that were waiting on fixes from Closure Templates.

e59e470491ad3a93cd61eb8d18a3b840e552bd4c (2011-10-14 18:47:50 -0400)
merge from closure-templates branch at closure-templates revision 22

6ae7cae7fa635f61bdebadc8a26218956c97c9eb (2011-10-14 18:47:49 -0400)
Pull latest changes from closure-templates SVN repository at r22.

329b2b511945608d3b603dd5b398aee0fb5ea84d (2011-10-13 23:21:02 -0400)
Updated the InputFileHandler so that it will serve any file that could be referenced by the deps.js file.

08346e76b13ba51ae06d1f31beaf8a2b12f11321 (2011-10-13 21:12:26 -0400)
Updated plovr so that it generates a deps.js as part of compilation. Now the base.js served by plovr at /input/CONFIG_ID/closure/goog/base.js can be included via a