Resolving compile dependencies on the Closure Library

1,597 views
Skip to first unread message

Jeffrey Getzin

unread,
Jun 24, 2015, 9:36:30 PM6/24/15
to closure-comp...@googlegroups.com
Heyall, Jeff the Xoogler here! :)

I've been playing around with AngularJS + the Closure Compiler, and now I'm trying to take advantage of the Closure Library, too. The question is, what command-line arguments (on the compiler application) should I use to bring in that library? Do I treat it like any other library and have to add each file in the library as a --js? It would be nice if the compiler knew how to find the library from an environment variable or something.

By the way, I'm working in a Windows environment and I've noticed a bug that may or may not have been reported before. When I use --manage_closure_dependencies and a recursive wildcard pattern **, it does not automatically resolve provides to match requires. If I put all the files into the same directory and use just a regular wildcard * pattern, it works.

I mention this bug because I don't think I have the option to "just list all of the Closure library as source and let the manage dependencies strip the ones you don't need."  I would have to manually list each js in the library, and boy, do I not want to do that! :-)

    Thanks for any help you can provide,

      Jeff 

P.S. The following is my current command-line. If you see any way I can improve on it, eliminate redundancy, or heck, if you see something that is just plain wrong, please let me know!  :)

java -jar compiler.jar  
--closure_entry_point='com.jeffreygetzin.app.website' 
--angular_pass=true 
--compilation_level=ADVANCED    
--manage_closure_dependencies=true  
--process_closure_primitives=true  
--summary_detail_level=3 
--jscomp_warning=accessControls 
--jscomp_warning=ambiguousFunctionDecl 
--jscomp_warning=checkEventfulObjectDisposal 
--jscomp_warning=checkRegExp 
--jscomp_warning=checkStructDictInheritance 
--jscomp_error=checkTypes 
--jscomp_warning=checkVars 
--jscomp_warning=const 
--jscomp_warning=constantProperty 
--jscomp_warning=deprecated 
--jscomp_warning=duplicateMessage 
--jscomp_warning=es3 
--jscomp_warning=es5Strict 
--jscomp_warning=externsValidation 
--jscomp_warning=fileoverviewTags 
--jscomp_warning=globalThis 
--jscomp_warning=internetExplorerChecks 
--jscomp_error=invalidCasts 
--jscomp_warning=misplacedTypeAnnotation 
--jscomp_warning=missingProperties 
--jscomp_warning=missingProvide 
--jscomp_warning=missingRequire 
--jscomp_warning=missingReturn 
--jscomp_warning=nonStandardJsDocs 
--jscomp_warning=reportUnknownTypes  
--jscomp_warning=suspiciousCode 
--jscomp_warning=strictModuleDepCheck 
--jscomp_warning=typeInvalidation 
--jscomp_warning=undefinedNames 
--jscomp_warning=undefinedVars 
--jscomp_warning=unknownDefines 
--jscomp_warning=uselessCode 
--jscomp_warning=visibility   
--export_local_property_definitions=true  
--jscomp_warning=newCheckTypes 
--warning_level=VERBOSE     
--js_output_file=Content/Scripts/compiled/app-compiled.js   
--output_manifest=Content\Scripts\compiled\manifest.MF 
--externs=content\scripts\externs\angular-1.4-http-promise_templated.js  
--externs=content\scripts\externs\angular-1.4-q_templated.js  
--externs=content\scripts\externs\angular1.4.js 
--common_js_entry_module=healthyLivingApp   
scripts\*.js

Erik Neumann

unread,
Jun 25, 2015, 10:46:53 AM6/25/15
to closure-comp...@googlegroups.com
Hi Jeffrey,

I use the flag
--js=../javascript/closure-library
which is the path from my project directory to closure-library, and then I can do goog.require() on anything in closure-library.

Here is an example complete compile command that is working for me:

java -jar ../javascript/closure-compiler/build/compiler.jar
 --closure_entry_point=myphysicslab.sims.engine2D.ChainApp
 --compilation_level=SIMPLE
 --define=goog.DEBUG=true 
 '--define=goog.LOCALE='\''en'\'''
 --define=myphysicslab.lab.util.UtilityCore.ADVANCED=false
 --extra_annotation_name=alias
 --generate_exports
 --js=../javascript/closure-library
 --js=src
 --jscomp_warning=accessControls
 --jscomp_warning=ambiguousFunctionDecl
 --jscomp_warning=checkTypes
 --jscomp_warning=checkVars
 --jscomp_warning=const
 --jscomp_warning=constantProperty
 --jscomp_warning=fileoverviewTags
 --jscomp_warning=globalThis
 --jscomp_warning=invalidCasts
 --jscomp_warning=misplacedTypeAnnotation
 --jscomp_warning=missingProperties
 --jscomp_warning=missingProvide
 --jscomp_warning=missingRequire
 --jscomp_warning=missingReturn
 --jscomp_warning=newCheckTypes
 --jscomp_warning=strictModuleDepCheck
 --jscomp_warning=suspiciousCode
 --jscomp_warning=typeInvalidation
 --jscomp_warning=undefinedNames
 --jscomp_warning=undefinedVars
 --jscomp_warning=unknownDefines
 --jscomp_warning=uselessCode
 --jscomp_warning=visibility
 --language_in=ECMASCRIPT5
 --only_closure_dependencies=true
 --warning_level=VERBOSE








--

---
You received this message because you are subscribed to the Google Groups "Closure Compiler Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to closure-compiler-d...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/closure-compiler-discuss/c7029df5-8e25-4439-87b5-26cb71dd77db%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jeffrey Getzin

unread,
Jun 25, 2015, 11:30:46 PM6/25/15
to closure-comp...@googlegroups.com
Thank you so much. I'll give that a try!

   Jeff
To unsubscribe from this group and stop receiving emails from it, send an email to closure-compiler-discuss+unsub...@googlegroups.com.

Jeffrey Getzin

unread,
Jun 25, 2015, 11:44:09 PM6/25/15
to closure-comp...@googlegroups.com
Hmmm, that didn't work for me. I added the following to the command-line I posted above:

--js=Content\Scripts\closure


And, without even referencing the Closure Library---that is just including the new command line parameter---I suddenly started getting these errors:


1>  Content\Scripts\closure\goog\net\xpc\crosspagechannel.js:25: ERROR - required "goog.async.Deferred" namespace never provided
1>  goog.require('goog.async.Deferred');
1>  ^
1>  
1>  Content\Scripts\closure\goog\net\xpc\directtransport.js:25: ERROR - required "goog.async.Deferred" namespace never provided
1>  goog.require('goog.async.Deferred');
1>  ^
1>  
1>  Content\Scripts\closure\goog\net\xpc\nativemessagingtransport.js:26: ERROR - required "goog.async.Deferred" namespace never provided
1>  goog.require('goog.async.Deferred');
1>  ^
1>  
1>  3 error(s), 0 warning(s)


My guess is that the Windows and Linux file systems behave slightly differently, and that not much time is spent on the Windows version of Closure. (After all, most people who use Windows use the entire Microsoft stack.)

In any case, I guess I'll give up on using the Closure Library in the short term. Maybe a future version of the compiler for Windows will iron out some of the bugs.

Thanks for trying to help, though!

    Take care,
        Jeff

Tyler Breisacher

unread,
Jun 25, 2015, 11:49:24 PM6/25/15
to closure-compiler
goog.async.Deferred lives in the "third_party" directory of Closure Library: https://github.com/google/closure-library/blob/master/third_party/closure/goog/mochikit/async/deferred.js so maybe you ended up downloading just the "closure" dir and not the third_party part?

--

---
You received this message because you are subscribed to the Google Groups "Closure Compiler Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to closure-compiler-d...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/closure-compiler-discuss/6e35c013-09ea-4e45-9672-f017c17b56d1%40googlegroups.com.

Nick Santos

unread,
Jun 25, 2015, 11:49:25 PM6/25/15
to closure-compiler
The root of closure-library looks like this.
https://github.com/google/closure-library

Your line `--js=Content\Scripts\closure` cannot possibly work, because
that points to this directory
https://github.com/google/closure-library/tree/master/closure
which is not the root of closure-library, and does not contain the
goog.async.Deferred code.

On Thu, Jun 25, 2015 at 8:44 PM, Jeffrey Getzin <get...@gmail.com> wrote:

Jeffrey Getzin

unread,
Jun 26, 2015, 12:00:53 AM6/26/15
to closure-comp...@googlegroups.com
Ok, I think I'm getting closure. I changed the parameter to:

--js=C:\Apps\Closure\closure-library-master

and now when I compile, it looks like it's finding the library.

The problem is that now I'm getting a whole ton of warnings such as:

1>  C:\Apps\Closure\closure-library-master\closure\goog\array\array.js:115: WARNING - could not determine the type of this expression
1>        return goog.array.ARRAY_PROTOTYPE_.indexOf.call(arr, obj, opt_fromIndex);
1>                                                             ^
1>  
1>  C:\Apps\Closure\closure-library-master\closure\goog\array\array.js:124: WARNING - could not determine the type of this expression
1>          if (!goog.isString(obj) || obj.length != 1) {
1>                             ^
1>  
1>  C:\Apps\Closure\closure-library-master\closure\goog\array\array.js:124: WARNING - could not determine the type of this expression
1>          if (!goog.isString(obj) || obj.length != 1) {
1>                                     ^
1>  
1>  C:\Apps\Closure\closure-library-master\closure\goog\array\array.js:127: WARNING - could not determine the type of this expression
1>          return arr.indexOf(obj, fromIndex);
1>                             ^
1>  
1>  C:\Apps\Closure\closure-library-master\closure\goog\array\array.js:131: WARNING - could not determine the type of this expression
1>          if (i in arr && arr[i] === obj)
1>                                     ^

 
before I start getting errors like these:

1>  C:\Apps\Closure\closure-library-master\closure\goog\demos\xpc\xpcdemo.js:112: ERROR - actual parameter 1 of goog.net.xpc.CrossPageChannel.prototype.createPeerIframe does not match formal parameter
1>  found   : (Element|null)
1>  required: Element
1>        goog.dom.getElement('iframeContainer'));
1>        ^
1>  
1>  C:\Apps\Closure\closure-library-master\closure\goog\demos\xpc\xpcdemo.js:149: ERROR - actual parameter 2 of goog.messaging.AbstractChannel.prototype.registerService does not match formal parameter
1>  found   : function (string): undefined
1>  required: function ((Object|string)): ?
1>    xpcdemo.channel.registerService('log', xpcdemo.log);
1>                                           ^
1>  
1>  C:\Apps\Closure\closure-library-master\closure\goog\demos\xpc\xpcdemo.js:150: ERROR - actual parameter 2 of goog.messaging.AbstractChannel.prototype.registerService does not match formal parameter
1>  found   : function (string): undefined
1>  required: function ((Object|string)): ?
1>    xpcdemo.channel.registerService('ping', xpcdemo.pingHandler_);


So I'm guessing that it's finding the Closure Library, and then trying to compile the whole thing, and that my specified compiler checks are stricter than what's usually used with the Library, and is causing the compile to fail.

Does that sound plausible?

   Jeff

Jeffrey Getzin

unread,
Jun 26, 2015, 12:03:39 AM6/26/15
to closure-comp...@googlegroups.com
Ha! I love the typo in my previous message. I obviously meant, "I think I'm getting closer", but my fingers types "I think I'm getting closure."  :)

   Jeff

Tyler Breisacher

unread,
Jun 26, 2015, 12:41:24 AM6/26/15
to closure-compiler
--jscomp_warning=reportUnknownTypes is really not recommended.

--

---
You received this message because you are subscribed to the Google Groups "Closure Compiler Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to closure-compiler-d...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/closure-compiler-discuss/5808f0ea-1653-4c2e-be4a-42f1f8f2ae5c%40googlegroups.com.

Jeffrey Getzin

unread,
Jun 26, 2015, 1:12:23 AM6/26/15
to closure-comp...@googlegroups.com
Ah, that helped. That got me down to a more manageable set of warnings:

1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\animationframe\animationframe_test.js:138: WARNING - Access to private property requestedFrame_ of goog.dom.animationFrame not allowed here.
1>    assertFalse(goog.dom.animationFrame.requestedFrame_);
1>                ^
1>  
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\animationframe\animationframe_test.js:141: WARNING - Access to private property requestedFrame_ of goog.dom.animationFrame not allowed here.
1>    assertFalse(goog.dom.animationFrame.requestedFrame_);
1>                ^
1>  
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\animationframe\animationframe_test.js:171: WARNING - Access to private property tasks_ of goog.dom.animationFrame not allowed here.
1>    var taskLength = goog.dom.animationFrame.tasks_[0].length;
1>                     ^
1>  
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\animationframe\animationframe_test.js:190: WARNING - Access to private property requestedFrame_ of goog.dom.animationFrame not allowed here.
1>    assertFalse(goog.dom.animationFrame.requestedFrame_);
1>                ^
1>  
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\animationframe\animationframe_test.js:194: WARNING - Access to private property requestedFrame_ of goog.dom.animationFrame not allowed here.
1>    assertFalse(goog.dom.animationFrame.requestedFrame_);
1>                ^
1>  
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\animationframe\animationframe_test.js:198: WARNING - Access to private property requestedFrame_ of goog.dom.animationFrame not allowed here.
1>    assertFalse(goog.dom.animationFrame.requestedFrame_);
1>                ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:88: WARNING - goog.dom.query is never defined
1>    assertEquals('child1', goog.dom.query('> [qux]', 'container')[0].id);
1>                           ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:88: WARNING - Property query never defined on goog.dom
1>    assertEquals('child1', goog.dom.query('> [qux]', 'container')[0].id);
1>                                    ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:89: WARNING - goog.dom.query is never defined
1>    assertEquals('child3', goog.dom.query('> [qux]', 'container')[1].id);
1>                           ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:89: WARNING - Property query never defined on goog.dom
1>    assertEquals('child3', goog.dom.query('> [qux]', 'container')[1].id);
1>                                    ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:110: WARNING - Property $ of type goog.dom has been deprecated: Use {@link goog.dom.getElement} instead.
1>    assertEquals(goog.dom.$('_foo'), goog.dom.query('.foo:nth-child(2)')[0]);
1>                 ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:110: WARNING - goog.dom.query is never defined
1>    assertEquals(goog.dom.$('_foo'), goog.dom.query('.foo:nth-child(2)')[0]);
1>                                     ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:110: WARNING - Property query never defined on goog.dom
1>    assertEquals(goog.dom.$('_foo'), goog.dom.query('.foo:nth-child(2)')[0]);
1>                                              ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:145: WARNING - goog.dom.query is never defined
1>    var els = goog.dom.query('.myupperclass .myclass input');
1>              ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:145: WARNING - Property query never defined on goog.dom
1>    var els = goog.dom.query('.myupperclass .myclass input');
1>                       ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:155: WARNING - goog.dom.query is never defined
1>    var els = goog.dom.query('#if1 .if2 div', document);
1>              ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:155: WARNING - Property query never defined on goog.dom
1>    var els = goog.dom.query('#if1 .if2 div', document);
1>                       ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:156: WARNING - goog.dom.query is never defined
1>    var frameEls = goog.dom.query('#if1 .if2 div', frameDocument);
1>                   ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:156: WARNING - Property query never defined on goog.dom
1>    var frameEls = goog.dom.query('#if1 .if2 div', frameDocument);
1>                            ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:172: WARNING - goog.dom.query is never defined
1>                 goog.dom.query.apply(null, args).length);
1>                 ^
1>  
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js:172: WARNING - Property query never defined on goog.dom
1>                 goog.dom.query.apply(null, args).length);
1>                          ^
1>  
1>  0 error(s), 21 warning(s), 96.6% typed
1>  0 error(s), 21 warning(s), 96.6% typed

Oddly enough, that brought in a number of dependencies I wouldn't have expected, such testing and labs. Indeed, when I F12 my app, I see the following error:

Uncaught Error: No tests found in given test case: Jeffrey Getzin's website By default, the test runner fails if a test case has no tests. To modify this behavior, see goog.testing.TestRunner's setStrict() method, or G_testRunner.setStrict()

It seems really weird to me that it's bringing in the test framework and then complaining, in a user-visible location, that there were no tests executed.

How very odd!
 
1>  C:\Apps\Closure\closure-library-master\alltests.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\base.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\async\freelist.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\debug\error.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\deps.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\disposable\idisposable.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\disposable\disposable.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\animationframe\polyfill.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\animationframe\animationframe.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\nodetype.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\tagname.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\events\eventid.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\events\event.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\events\listenable.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\events\listener.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\fs\url.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\functions\functions.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\i18n\bidi.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\math\size.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\object\object.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\tags.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\promise\resolver.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\promise\thenable.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\reflect\reflect.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\string\string.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\asserts\asserts.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\array\array.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\async\workqueue.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\debug\entrypointregistry.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\events\listenermap.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\labs\useragent\util.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\labs\useragent\browser.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\labs\useragent\engine.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\async\nexttick.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\labs\useragent\platform.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\math\math.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\math\coordinate.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\math\box.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\math\rect.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\string\typedstring.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\string\const.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\html\safestyle.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\html\safestylesheet.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\html\safeurl.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\html\trustedresourceurl.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\html\safehtml.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\safe.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\testing\objectpropertystring.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\testing\stacktrace.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\testing\asserts.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\testing\watchers.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\async\run.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\promise\promise.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\testing\testcase.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\testing\testrunner.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\testing\jsunit.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\useragent\useragent.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\browserfeature.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\dom.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\vendor.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\events\browserfeature.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\events\eventtype.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\events\browserevent.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\events\events.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\events\eventtarget.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\events\keycodes.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\style\style.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\testing\events\events.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\testing\propertyreplacer.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\testing\mockclock.js
1>  C:\Apps\Closure\closure-library-master\closure\goog\dom\animationframe\animationframe_test.js
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\base.js
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\deps.js
1>  C:\Apps\Closure\closure-library-master\third_party\closure\goog\dojo\dom\query_test.js
1>  scripts\rogues.js
1>  scripts\services.js
1>  scripts\books.js
1>  scripts\news.js
1>  scripts\app.js

   Jeff

P.S. It bears mentioning that the only Closure functions I'm using are goog.require() and goog.provide(). So all of those dependencies were brought in because of those two method calls.

--

---
You received this message because you are subscribed to the Google Groups "Closure Compiler Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to closure-compiler-discuss+unsub...@googlegroups.com.

Nick Santos

unread,
Jun 28, 2015, 2:08:21 AM6/28/15
to closure-compiler

Have you tried only_closure_dependencies instead of manage_closure_dependencies? I think that might be closer to what you want.

--

---
You received this message because you are subscribed to the Google Groups "Closure Compiler Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to closure-compiler-d...@googlegroups.com.

--

---
You received this message because you are subscribed to the Google Groups "Closure Compiler Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to closure-compiler-d...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/closure-compiler-discuss/3f1f5dba-ad23-4d6a-ad0b-027d5f6df303%40googlegroups.com.

Jeffrey Getzin

unread,
Jun 29, 2015, 8:09:19 AM6/29/15
to closure-comp...@googlegroups.com
Ah! That was exactly what I was looking for. Very awesome!

Thank you very much. I just love this compiler. We just need to get better and more current documentation out there to make it perfect! :)

    Jeff
...

Dimitris Vardoulakis

unread,
Jun 29, 2015, 1:22:58 PM6/29/15
to closure-comp...@googlegroups.com, get...@gmail.com


On Monday, June 29, 2015 at 5:09:19 AM UTC-7, Jeffrey Getzin wrote:
Ah! That was exactly what I was looking for. Very awesome!

Thank you very much. I just love this compiler. We just need to get better and more current documentation out there to make it perfect! :)

We are a small team and have not had the time to make our documentation as good as it should be. If you find wiki pages that need changes/clarification, by all means, feel free to edit them.
Feel free to also add new wiki pages if you think some important information is not being covered.

We welcome external contributions to improve documentation.

 
...

Jeffrey Getzin

unread,
Jun 29, 2015, 1:34:56 PM6/29/15
to closure-comp...@googlegroups.com
That's a great idea. As I start to learn more, I may very well do that.

One thing that could save users a lot of aggravation is getting rid of all the stale documentation with pointers to other sites. If there were one official location where everything is documented, that would be awesome. As it was, I often got conflicting information, or information from sources other than this project.

   Jeff


--

---
You received this message because you are subscribed to a topic in the Google Groups "Closure Compiler Discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/closure-compiler-discuss/fgN8xKr9Kxs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to closure-compiler-d...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/closure-compiler-discuss/66be69ac-d097-43ee-af5e-c5867d5b7c62%40googlegroups.com.

Dimitris Vardoulakis

unread,
Jun 29, 2015, 1:41:11 PM6/29/15
to closure-comp...@googlegroups.com, get...@gmail.com


On Monday, June 29, 2015 at 10:34:56 AM UTC-7, Jeffrey Getzin wrote:
That's a great idea. As I start to learn more, I may very well do that.

One thing that could save users a lot of aggravation is getting rid of all the stale documentation with pointers to other sites. If there were one official location where everything is documented, that would be awesome. As it was, I often got conflicting information, or information from sources other than this project.

The wiki is usually more up to date than 
but the wiki contains a lot of information which can be overwhelming to a new user. The developers.google page is a bit more condensed and the only "official-looking" documentation that we have :)

Unfortunately the developers.google page is not open source, so if you find issues with that page, just suggest them to us and we can fix them.

But even just improving the wiki I think has great benefit.

 

   Jeff


To unsubscribe from this group and all its topics, send an email to closure-compiler-discuss+unsub...@googlegroups.com.

Jeffrey Getzin

unread,
Jun 29, 2015, 2:01:59 PM6/29/15
to closure-comp...@googlegroups.com
As a Xoogler, would it be possible for me to gain access to the developer's page?

  Jeff



 

   Jeff


To unsubscribe from this group and all its topics, send an email to closure-compiler-d...@googlegroups.com.

--

---
You received this message because you are subscribed to a topic in the Google Groups "Closure Compiler Discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/closure-compiler-discuss/fgN8xKr9Kxs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to closure-compiler-d...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/closure-compiler-discuss/75691b10-428f-4d90-9d1a-9b7c5708a53f%40googlegroups.com.

Dimitris Vardoulakis

unread,
Jun 29, 2015, 2:25:44 PM6/29/15
to closure-comp...@googlegroups.com, get...@gmail.com


On Monday, June 29, 2015 at 11:01:59 AM UTC-7, Jeffrey Getzin wrote:
As a Xoogler, would it be possible for me to gain access to the developer's page?

Not as far as I know.

 
...
Reply all
Reply to author
Forward
0 new messages