# Copyright 2016 The Closure Rules Authors. All rights reserved.
#
# 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.

package(default_visibility = ["//visibility:public"])

exports_files([
    "closure/goog/base.js",
    "closure/goog/deps.js",
    "closure/goog/transpile.js",
])

filegroup(
    name = "js_files",
    srcs = [
        "closure/goog/base.js",
        "closure/goog/deps.js",
        ":js_library_files",
        ":js_testing_files",
    ],
)

filegroup(
    name = "js_library_files",
    srcs = [
        # This list was generated by :js_library_files_maker
        "closure/goog/a11y/aria/announcer.js",
        "closure/goog/a11y/aria/aria.js",
        "closure/goog/a11y/aria/attributes.js",
        "closure/goog/a11y/aria/datatables.js",
        "closure/goog/a11y/aria/roles.js",
        "closure/goog/array/array.js",
        "closure/goog/asserts/asserts.js",
        "closure/goog/async/animationdelay.js",
        "closure/goog/async/conditionaldelay.js",
        "closure/goog/async/debouncer.js",
        "closure/goog/async/delay.js",
        "closure/goog/async/freelist.js",
        "closure/goog/async/nexttick.js",
        "closure/goog/async/run.js",
        "closure/goog/async/throttle.js",
        "closure/goog/async/workqueue.js",
        "closure/goog/bootstrap/nodejs.js",
        "closure/goog/bootstrap/webworkers.js",
        "closure/goog/color/alpha.js",
        "closure/goog/color/color.js",
        "closure/goog/color/names.js",
        "closure/goog/crypt/aes.js",
        "closure/goog/crypt/arc4.js",
        "closure/goog/crypt/base64.js",
        "closure/goog/crypt/basen.js",
        "closure/goog/crypt/blobhasher.js",
        "closure/goog/crypt/blockcipher.js",
        "closure/goog/crypt/cbc.js",
        "closure/goog/crypt/crypt.js",
        "closure/goog/crypt/ctr.js",
        "closure/goog/crypt/hash.js",
        "closure/goog/crypt/hash32.js",
        "closure/goog/crypt/hmac.js",
        "closure/goog/crypt/md5.js",
        "closure/goog/crypt/pbkdf2.js",
        "closure/goog/crypt/sha1.js",
        "closure/goog/crypt/sha2.js",
        "closure/goog/crypt/sha224.js",
        "closure/goog/crypt/sha256.js",
        "closure/goog/crypt/sha2_64bit.js",
        "closure/goog/crypt/sha384.js",
        "closure/goog/crypt/sha512.js",
        "closure/goog/crypt/sha512_256.js",
        "closure/goog/cssom/cssom.js",
        "closure/goog/cssom/iframe/style.js",
        "closure/goog/datasource/datamanager.js",
        "closure/goog/datasource/datasource.js",
        "closure/goog/datasource/expr.js",
        "closure/goog/datasource/fastdatanode.js",
        "closure/goog/datasource/jsdatasource.js",
        "closure/goog/datasource/jsondatasource.js",
        "closure/goog/datasource/jsxmlhttpdatasource.js",
        "closure/goog/datasource/xmldatasource.js",
        "closure/goog/date/date.js",
        "closure/goog/date/datelike.js",
        "closure/goog/date/daterange.js",
        "closure/goog/date/duration.js",
        "closure/goog/date/relative.js",
        "closure/goog/date/relativewithplurals.js",
        "closure/goog/date/utcdatetime.js",
        "closure/goog/db/cursor.js",
        "closure/goog/db/db.js",
        "closure/goog/db/error.js",
        "closure/goog/db/index.js",
        "closure/goog/db/indexeddb.js",
        "closure/goog/db/keyrange.js",
        "closure/goog/db/objectstore.js",
        "closure/goog/db/transaction.js",
        "closure/goog/debug/console.js",
        "closure/goog/debug/debug.js",
        "closure/goog/debug/debugwindow.js",
        "closure/goog/debug/devcss/devcss.js",
        "closure/goog/debug/devcss/devcssrunner.js",
        "closure/goog/debug/divconsole.js",
        "closure/goog/debug/entrypointregistry.js",
        "closure/goog/debug/error.js",
        "closure/goog/debug/errorhandler.js",
        "closure/goog/debug/errorhandlerweakdep.js",
        "closure/goog/debug/errorreporter.js",
        "closure/goog/debug/fancywindow.js",
        "closure/goog/debug/formatter.js",
        "closure/goog/debug/fpsdisplay.js",
        "closure/goog/debug/logbuffer.js",
        "closure/goog/debug/logger.js",
        "closure/goog/debug/logrecord.js",
        "closure/goog/debug/logrecordserializer.js",
        "closure/goog/debug/relativetimeprovider.js",
        "closure/goog/debug/tracer.js",
        "closure/goog/disposable/disposable.js",
        "closure/goog/disposable/idisposable.js",
        "closure/goog/dom/abstractmultirange.js",
        "closure/goog/dom/abstractrange.js",
        "closure/goog/dom/animationframe/animationframe.js",
        "closure/goog/dom/animationframe/polyfill.js",
        "closure/goog/dom/annotate.js",
        "closure/goog/dom/attr.js",
        "closure/goog/dom/browserfeature.js",
        "closure/goog/dom/browserrange/abstractrange.js",
        "closure/goog/dom/browserrange/browserrange.js",
        "closure/goog/dom/browserrange/geckorange.js",
        "closure/goog/dom/browserrange/ierange.js",
        "closure/goog/dom/browserrange/operarange.js",
        "closure/goog/dom/browserrange/w3crange.js",
        "closure/goog/dom/browserrange/webkitrange.js",
        "closure/goog/dom/bufferedviewportsizemonitor.js",
        "closure/goog/dom/classes.js",
        "closure/goog/dom/classlist.js",
        "closure/goog/dom/controlrange.js",
        "closure/goog/dom/dataset.js",
        "closure/goog/dom/dom.js",
        "closure/goog/dom/fontsizemonitor.js",
        "closure/goog/dom/forms.js",
        "closure/goog/dom/fullscreen.js",
        "closure/goog/dom/iframe.js",
        "closure/goog/dom/inputtype.js",
        "closure/goog/dom/iter.js",
        "closure/goog/dom/multirange.js",
        "closure/goog/dom/nodeiterator.js",
        "closure/goog/dom/nodeoffset.js",
        "closure/goog/dom/nodetype.js",
        "closure/goog/dom/pattern/abstractpattern.js",
        "closure/goog/dom/pattern/allchildren.js",
        "closure/goog/dom/pattern/callback/callback.js",
        "closure/goog/dom/pattern/callback/counter.js",
        "closure/goog/dom/pattern/callback/test.js",
        "closure/goog/dom/pattern/childmatches.js",
        "closure/goog/dom/pattern/endtag.js",
        "closure/goog/dom/pattern/fulltag.js",
        "closure/goog/dom/pattern/matcher.js",
        "closure/goog/dom/pattern/nodetype.js",
        "closure/goog/dom/pattern/pattern.js",
        "closure/goog/dom/pattern/repeat.js",
        "closure/goog/dom/pattern/sequence.js",
        "closure/goog/dom/pattern/starttag.js",
        "closure/goog/dom/pattern/tag.js",
        "closure/goog/dom/pattern/text.js",
        "closure/goog/dom/range.js",
        "closure/goog/dom/rangeendpoint.js",
        "closure/goog/dom/safe.js",
        "closure/goog/dom/savedcaretrange.js",
        "closure/goog/dom/savedrange.js",
        "closure/goog/dom/selection.js",
        "closure/goog/dom/tagiterator.js",
        "closure/goog/dom/tagname.js",
        "closure/goog/dom/tags.js",
        "closure/goog/dom/textrange.js",
        "closure/goog/dom/textrangeiterator.js",
        "closure/goog/dom/vendor.js",
        "closure/goog/dom/viewportsizemonitor.js",
        "closure/goog/dom/xml.js",
        "closure/goog/editor/browserfeature.js",
        "closure/goog/editor/clicktoeditwrapper.js",
        "closure/goog/editor/command.js",
        "closure/goog/editor/contenteditablefield.js",
        "closure/goog/editor/defines.js",
        "closure/goog/editor/field.js",
        "closure/goog/editor/focus.js",
        "closure/goog/editor/icontent.js",
        "closure/goog/editor/link.js",
        "closure/goog/editor/node.js",
        "closure/goog/editor/plugin.js",
        "closure/goog/editor/plugins/abstractbubbleplugin.js",
        "closure/goog/editor/plugins/abstractdialogplugin.js",
        "closure/goog/editor/plugins/abstracttabhandler.js",
        "closure/goog/editor/plugins/basictextformatter.js",
        "closure/goog/editor/plugins/blockquote.js",
        "closure/goog/editor/plugins/emoticons.js",
        "closure/goog/editor/plugins/enterhandler.js",
        "closure/goog/editor/plugins/firststrong.js",
        "closure/goog/editor/plugins/headerformatter.js",
        "closure/goog/editor/plugins/linkbubble.js",
        "closure/goog/editor/plugins/linkdialogplugin.js",
        "closure/goog/editor/plugins/linkshortcutplugin.js",
        "closure/goog/editor/plugins/listtabhandler.js",
        "closure/goog/editor/plugins/loremipsum.js",
        "closure/goog/editor/plugins/removeformatting.js",
        "closure/goog/editor/plugins/spacestabhandler.js",
        "closure/goog/editor/plugins/tableeditor.js",
        "closure/goog/editor/plugins/tagonenterhandler.js",
        "closure/goog/editor/plugins/undoredo.js",
        "closure/goog/editor/plugins/undoredomanager.js",
        "closure/goog/editor/plugins/undoredostate.js",
        "closure/goog/editor/range.js",
        "closure/goog/editor/seamlessfield.js",
        "closure/goog/editor/style.js",
        "closure/goog/editor/table.js",
        "closure/goog/events/actioneventwrapper.js",
        "closure/goog/events/actionhandler.js",
        "closure/goog/events/browserevent.js",
        "closure/goog/events/browserfeature.js",
        "closure/goog/events/event.js",
        "closure/goog/events/eventhandler.js",
        "closure/goog/events/eventid.js",
        "closure/goog/events/events.js",
        "closure/goog/events/eventtarget.js",
        "closure/goog/events/eventtype.js",
        "closure/goog/events/eventwrapper.js",
        "closure/goog/events/filedrophandler.js",
        "closure/goog/events/focushandler.js",
        "closure/goog/events/imehandler.js",
        "closure/goog/events/inputhandler.js",
        "closure/goog/events/keycodes.js",
        "closure/goog/events/keyhandler.js",
        "closure/goog/events/keynames.js",
        "closure/goog/events/listenable.js",
        "closure/goog/events/listener.js",
        "closure/goog/events/listenermap.js",
        "closure/goog/events/mousewheelhandler.js",
        "closure/goog/events/onlinehandler.js",
        "closure/goog/events/pastehandler.js",
        "closure/goog/events/wheelevent.js",
        "closure/goog/events/wheelhandler.js",
        "closure/goog/format/emailaddress.js",
        "closure/goog/format/format.js",
        "closure/goog/format/htmlprettyprinter.js",
        "closure/goog/format/internationalizedemailaddress.js",
        "closure/goog/format/jsonprettyprinter.js",
        "closure/goog/fs/entry.js",
        "closure/goog/fs/entryimpl.js",
        "closure/goog/fs/error.js",
        "closure/goog/fs/filereader.js",
        "closure/goog/fs/filesaver.js",
        "closure/goog/fs/filesystem.js",
        "closure/goog/fs/filesystemimpl.js",
        "closure/goog/fs/filewriter.js",
        "closure/goog/fs/fs.js",
        "closure/goog/fs/progressevent.js",
        "closure/goog/fs/url.js",
        "closure/goog/functions/functions.js",
        "closure/goog/fx/abstractdragdrop.js",
        "closure/goog/fx/anim/anim.js",
        "closure/goog/fx/animation.js",
        "closure/goog/fx/animationqueue.js",
        "closure/goog/fx/css3/fx.js",
        "closure/goog/fx/css3/transition.js",
        "closure/goog/fx/cssspriteanimation.js",
        "closure/goog/fx/dom.js",
        "closure/goog/fx/dragdrop.js",
        "closure/goog/fx/dragdropgroup.js",
        "closure/goog/fx/dragger.js",
        "closure/goog/fx/draglistgroup.js",
        "closure/goog/fx/dragscrollsupport.js",
        "closure/goog/fx/easing.js",
        "closure/goog/fx/fx.js",
        "closure/goog/fx/transition.js",
        "closure/goog/fx/transitionbase.js",
        "closure/goog/graphics/abstractgraphics.js",
        "closure/goog/graphics/affinetransform.js",
        "closure/goog/graphics/canvaselement.js",
        "closure/goog/graphics/canvasgraphics.js",
        "closure/goog/graphics/element.js",
        "closure/goog/graphics/ellipseelement.js",
        "closure/goog/graphics/ext/coordinates.js",
        "closure/goog/graphics/ext/element.js",
        "closure/goog/graphics/ext/ellipse.js",
        "closure/goog/graphics/ext/ext.js",
        "closure/goog/graphics/ext/graphics.js",
        "closure/goog/graphics/ext/group.js",
        "closure/goog/graphics/ext/image.js",
        "closure/goog/graphics/ext/path.js",
        "closure/goog/graphics/ext/rectangle.js",
        "closure/goog/graphics/ext/shape.js",
        "closure/goog/graphics/ext/strokeandfillelement.js",
        "closure/goog/graphics/fill.js",
        "closure/goog/graphics/font.js",
        "closure/goog/graphics/graphics.js",
        "closure/goog/graphics/groupelement.js",
        "closure/goog/graphics/imageelement.js",
        "closure/goog/graphics/lineargradient.js",
        "closure/goog/graphics/path.js",
        "closure/goog/graphics/pathelement.js",
        "closure/goog/graphics/paths.js",
        "closure/goog/graphics/rectelement.js",
        "closure/goog/graphics/solidfill.js",
        "closure/goog/graphics/stroke.js",
        "closure/goog/graphics/strokeandfillelement.js",
        "closure/goog/graphics/svgelement.js",
        "closure/goog/graphics/svggraphics.js",
        "closure/goog/graphics/textelement.js",
        "closure/goog/graphics/vmlelement.js",
        "closure/goog/graphics/vmlgraphics.js",
        "closure/goog/history/event.js",
        "closure/goog/history/eventtype.js",
        "closure/goog/history/history.js",
        "closure/goog/history/html5history.js",
        "closure/goog/html/flash.js",
        "closure/goog/html/legacyconversions.js",
        "closure/goog/html/safehtml.js",
        "closure/goog/html/safehtmlformatter.js",
        "closure/goog/html/safescript.js",
        "closure/goog/html/safestyle.js",
        "closure/goog/html/safestylesheet.js",
        "closure/goog/html/safeurl.js",
        "closure/goog/html/sanitizer/attributewhitelist.js",
        "closure/goog/html/sanitizer/csssanitizer.js",
        "closure/goog/html/sanitizer/htmlsanitizer.js",
        "closure/goog/html/sanitizer/tagblacklist.js",
        "closure/goog/html/sanitizer/tagwhitelist.js",
        "closure/goog/html/sanitizer/unsafe.js",
        "closure/goog/html/silverlight.js",
        "closure/goog/html/trustedresourceurl.js",
        "closure/goog/html/uncheckedconversions.js",
        "closure/goog/html/utils.js",
        "closure/goog/i18n/bidi.js",
        "closure/goog/i18n/bidiformatter.js",
        "closure/goog/i18n/charlistdecompressor.js",
        "closure/goog/i18n/charpickerdata.js",
        "closure/goog/i18n/collation.js",
        "closure/goog/i18n/compactnumberformatsymbols.js",
        "closure/goog/i18n/compactnumberformatsymbolsext.js",
        "closure/goog/i18n/currency.js",
        "closure/goog/i18n/currencycodemap.js",
        "closure/goog/i18n/datetimeformat.js",
        "closure/goog/i18n/datetimeparse.js",
        "closure/goog/i18n/datetimepatterns.js",
        "closure/goog/i18n/datetimepatternsext.js",
        "closure/goog/i18n/datetimesymbols.js",
        "closure/goog/i18n/datetimesymbolsext.js",
        "closure/goog/i18n/graphemebreak.js",
        "closure/goog/i18n/messageformat.js",
        "closure/goog/i18n/mime.js",
        "closure/goog/i18n/numberformat.js",
        "closure/goog/i18n/numberformatsymbols.js",
        "closure/goog/i18n/numberformatsymbolsext.js",
        "closure/goog/i18n/ordinalrules.js",
        "closure/goog/i18n/pluralrules.js",
        "closure/goog/i18n/timezone.js",
        "closure/goog/i18n/uchar.js",
        "closure/goog/i18n/uchar/localnamefetcher.js",
        "closure/goog/i18n/uchar/namefetcher.js",
        "closure/goog/i18n/uchar/remotenamefetcher.js",
        "closure/goog/i18n/ucharnames.js",
        "closure/goog/iter/iter.js",
        "closure/goog/json/evaljsonprocessor.js",
        "closure/goog/json/hybrid.js",
        "closure/goog/json/hybridjsonprocessor.js",
        "closure/goog/json/json.js",
        "closure/goog/json/nativejsonprocessor.js",
        "closure/goog/json/processor.js",
        "closure/goog/labs/dom/pagevisibilitymonitor.js",
        "closure/goog/labs/events/nondisposableeventtarget.js",
        "closure/goog/labs/events/touch.js",
        "closure/goog/labs/format/csv.js",
        "closure/goog/labs/i18n/listformat.js",
        "closure/goog/labs/i18n/listsymbols.js",
        "closure/goog/labs/i18n/listsymbolsext.js",
        "closure/goog/labs/iterable/iterable.js",
        "closure/goog/labs/net/image.js",
        "closure/goog/labs/net/webchannel.js",
        "closure/goog/labs/net/webchannel/basetestchannel.js",
        "closure/goog/labs/net/webchannel/channel.js",
        "closure/goog/labs/net/webchannel/channelrequest.js",
        "closure/goog/labs/net/webchannel/connectionstate.js",
        "closure/goog/labs/net/webchannel/forwardchannelrequestpool.js",
        "closure/goog/labs/net/webchannel/netutils.js",
        "closure/goog/labs/net/webchannel/requeststats.js",
        "closure/goog/labs/net/webchannel/webchannelbase.js",
        "closure/goog/labs/net/webchannel/webchannelbasetransport.js",
        "closure/goog/labs/net/webchannel/webchanneldebug.js",
        "closure/goog/labs/net/webchannel/wire.js",
        "closure/goog/labs/net/webchannel/wirev8.js",
        "closure/goog/labs/net/webchanneltransport.js",
        "closure/goog/labs/net/webchanneltransportfactory.js",
        "closure/goog/labs/net/xhr.js",
        "closure/goog/labs/promise/promise.js",
        "closure/goog/labs/pubsub/broadcastpubsub.js",
        "closure/goog/labs/storage/boundedcollectablestorage.js",
        "closure/goog/labs/structs/map.js",
        "closure/goog/labs/structs/multimap.js",
        "closure/goog/labs/style/pixeldensitymonitor.js",
        "closure/goog/labs/useragent/browser.js",
        "closure/goog/labs/useragent/device.js",
        "closure/goog/labs/useragent/engine.js",
        "closure/goog/labs/useragent/platform.js",
        "closure/goog/labs/useragent/util.js",
        "closure/goog/labs/useragent/verifier.js",
        "closure/goog/locale/countries.js",
        "closure/goog/locale/defaultlocalenameconstants.js",
        "closure/goog/locale/genericfontnames.js",
        "closure/goog/locale/genericfontnamesdata.js",
        "closure/goog/locale/locale.js",
        "closure/goog/locale/nativenameconstants.js",
        "closure/goog/locale/scriptToLanguages.js",
        "closure/goog/locale/timezonedetection.js",
        "closure/goog/locale/timezonefingerprint.js",
        "closure/goog/locale/timezonelist.js",
        "closure/goog/log/log.js",
        "closure/goog/math/affinetransform.js",
        "closure/goog/math/bezier.js",
        "closure/goog/math/box.js",
        "closure/goog/math/coordinate.js",
        "closure/goog/math/coordinate3.js",
        "closure/goog/math/exponentialbackoff.js",
        "closure/goog/math/integer.js",
        "closure/goog/math/interpolator/interpolator1.js",
        "closure/goog/math/interpolator/linear1.js",
        "closure/goog/math/interpolator/pchip1.js",
        "closure/goog/math/interpolator/spline1.js",
        "closure/goog/math/irect.js",
        "closure/goog/math/line.js",
        "closure/goog/math/long.js",
        "closure/goog/math/math.js",
        "closure/goog/math/matrix.js",
        "closure/goog/math/path.js",
        "closure/goog/math/paths.js",
        "closure/goog/math/range.js",
        "closure/goog/math/rangeset.js",
        "closure/goog/math/rect.js",
        "closure/goog/math/size.js",
        "closure/goog/math/tdma.js",
        "closure/goog/math/vec2.js",
        "closure/goog/math/vec3.js",
        "closure/goog/memoize/memoize.js",
        "closure/goog/messaging/abstractchannel.js",
        "closure/goog/messaging/bufferedchannel.js",
        "closure/goog/messaging/deferredchannel.js",
        "closure/goog/messaging/loggerclient.js",
        "closure/goog/messaging/loggerserver.js",
        "closure/goog/messaging/messagechannel.js",
        "closure/goog/messaging/messaging.js",
        "closure/goog/messaging/multichannel.js",
        "closure/goog/messaging/portcaller.js",
        "closure/goog/messaging/portchannel.js",
        "closure/goog/messaging/portnetwork.js",
        "closure/goog/messaging/portoperator.js",
        "closure/goog/messaging/respondingchannel.js",
        "closure/goog/messaging/testdata/portchannel_worker.js",
        "closure/goog/messaging/testdata/portnetwork_worker1.js",
        "closure/goog/messaging/testdata/portnetwork_worker2.js",
        "closure/goog/module/abstractmoduleloader.js",
        "closure/goog/module/basemodule.js",
        "closure/goog/module/loader.js",
        "closure/goog/module/module.js",
        "closure/goog/module/moduleinfo.js",
        "closure/goog/module/moduleloadcallback.js",
        "closure/goog/module/moduleloader.js",
        "closure/goog/module/modulemanager.js",
        "closure/goog/net/browserchannel.js",
        "closure/goog/net/browsertestchannel.js",
        "closure/goog/net/bulkloader.js",
        "closure/goog/net/bulkloaderhelper.js",
        "closure/goog/net/channeldebug.js",
        "closure/goog/net/channelrequest.js",
        "closure/goog/net/cookies.js",
        "closure/goog/net/corsxmlhttpfactory.js",
        "closure/goog/net/crossdomainrpc.js",
        "closure/goog/net/errorcode.js",
        "closure/goog/net/eventtype.js",
        "closure/goog/net/fetchxmlhttpfactory.js",
        "closure/goog/net/filedownloader.js",
        "closure/goog/net/httpstatus.js",
        "closure/goog/net/httpstatusname.js",
        "closure/goog/net/iframeio.js",
        "closure/goog/net/iframeloadmonitor.js",
        "closure/goog/net/imageloader.js",
        "closure/goog/net/ipaddress.js",
        "closure/goog/net/jsloader.js",
        "closure/goog/net/jsonp.js",
        "closure/goog/net/mockiframeio.js",
        "closure/goog/net/multiiframeloadmonitor.js",
        "closure/goog/net/networkstatusmonitor.js",
        "closure/goog/net/streams/base64pbstreamparser.js",
        "closure/goog/net/streams/base64streamdecoder.js",
        "closure/goog/net/streams/jsonstreamparser.js",
        "closure/goog/net/streams/nodereadablestream.js",
        "closure/goog/net/streams/pbstreamparser.js",
        "closure/goog/net/streams/streamfactory.js",
        "closure/goog/net/streams/streamparser.js",
        "closure/goog/net/streams/xhrnodereadablestream.js",
        "closure/goog/net/streams/xhrstreamreader.js",
        "closure/goog/net/tmpnetwork.js",
        "closure/goog/net/websocket.js",
        "closure/goog/net/wrapperxmlhttpfactory.js",
        "closure/goog/net/xhrio.js",
        "closure/goog/net/xhriopool.js",
        "closure/goog/net/xhrlike.js",
        "closure/goog/net/xhrmanager.js",
        "closure/goog/net/xmlhttp.js",
        "closure/goog/net/xmlhttpfactory.js",
        "closure/goog/net/xpc/crosspagechannel.js",
        "closure/goog/net/xpc/crosspagechannelrole.js",
        "closure/goog/net/xpc/directtransport.js",
        "closure/goog/net/xpc/frameelementmethodtransport.js",
        "closure/goog/net/xpc/iframepollingtransport.js",
        "closure/goog/net/xpc/iframerelaytransport.js",
        "closure/goog/net/xpc/nativemessagingtransport.js",
        "closure/goog/net/xpc/nixtransport.js",
        "closure/goog/net/xpc/relay.js",
        "closure/goog/net/xpc/transport.js",
        "closure/goog/net/xpc/xpc.js",
        "closure/goog/object/object.js",
        "closure/goog/positioning/absoluteposition.js",
        "closure/goog/positioning/abstractposition.js",
        "closure/goog/positioning/anchoredposition.js",
        "closure/goog/positioning/anchoredviewportposition.js",
        "closure/goog/positioning/clientposition.js",
        "closure/goog/positioning/menuanchoredposition.js",
        "closure/goog/positioning/positioning.js",
        "closure/goog/positioning/viewportclientposition.js",
        "closure/goog/positioning/viewportposition.js",
        "closure/goog/promise/promise.js",
        "closure/goog/promise/resolver.js",
        "closure/goog/promise/thenable.js",
        "closure/goog/proto/proto.js",
        "closure/goog/proto/serializer.js",
        "closure/goog/proto2/descriptor.js",
        "closure/goog/proto2/fielddescriptor.js",
        "closure/goog/proto2/lazydeserializer.js",
        "closure/goog/proto2/message.js",
        "closure/goog/proto2/objectserializer.js",
        "closure/goog/proto2/pbliteserializer.js",
        "closure/goog/proto2/serializer.js",
        "closure/goog/proto2/textformatserializer.js",
        "closure/goog/proto2/util.js",
        "closure/goog/pubsub/pubsub.js",
        "closure/goog/pubsub/topicid.js",
        "closure/goog/pubsub/typedpubsub.js",
        "closure/goog/reflect/reflect.js",
        "closure/goog/result/deferredadaptor.js",
        "closure/goog/result/dependentresult.js",
        "closure/goog/result/result_interface.js",
        "closure/goog/result/resultutil.js",
        "closure/goog/result/simpleresult.js",
        "closure/goog/soy/data.js",
        "closure/goog/soy/renderer.js",
        "closure/goog/soy/soy.js",
        "closure/goog/spell/spellcheck.js",
        "closure/goog/stats/basicstat.js",
        "closure/goog/storage/collectablestorage.js",
        "closure/goog/storage/encryptedstorage.js",
        "closure/goog/storage/errorcode.js",
        "closure/goog/storage/expiringstorage.js",
        "closure/goog/storage/mechanism/errorcode.js",
        "closure/goog/storage/mechanism/errorhandlingmechanism.js",
        "closure/goog/storage/mechanism/html5localstorage.js",
        "closure/goog/storage/mechanism/html5sessionstorage.js",
        "closure/goog/storage/mechanism/html5webstorage.js",
        "closure/goog/storage/mechanism/ieuserdata.js",
        "closure/goog/storage/mechanism/iterablemechanism.js",
        "closure/goog/storage/mechanism/mechanism.js",
        "closure/goog/storage/mechanism/mechanismfactory.js",
        "closure/goog/storage/mechanism/prefixedmechanism.js",
        "closure/goog/storage/richstorage.js",
        "closure/goog/storage/storage.js",
        "closure/goog/string/const.js",
        "closure/goog/string/linkify.js",
        "closure/goog/string/newlines.js",
        "closure/goog/string/parser.js",
        "closure/goog/string/path.js",
        "closure/goog/string/string.js",
        "closure/goog/string/stringbuffer.js",
        "closure/goog/string/stringformat.js",
        "closure/goog/string/stringifier.js",
        "closure/goog/string/typedstring.js",
        "closure/goog/structs/avltree.js",
        "closure/goog/structs/circularbuffer.js",
        "closure/goog/structs/collection.js",
        "closure/goog/structs/heap.js",
        "closure/goog/structs/inversionmap.js",
        "closure/goog/structs/linkedmap.js",
        "closure/goog/structs/map.js",
        "closure/goog/structs/node.js",
        "closure/goog/structs/pool.js",
        "closure/goog/structs/prioritypool.js",
        "closure/goog/structs/priorityqueue.js",
        "closure/goog/structs/quadtree.js",
        "closure/goog/structs/queue.js",
        "closure/goog/structs/set.js",
        "closure/goog/structs/simplepool.js",
        "closure/goog/structs/stringset.js",
        "closure/goog/structs/structs.js",
        "closure/goog/structs/treenode.js",
        "closure/goog/structs/trie.js",
        "closure/goog/structs/weak/weak.js",
        "closure/goog/style/bidi.js",
        "closure/goog/style/cursor.js",
        "closure/goog/style/style.js",
        "closure/goog/style/transform.js",
        "closure/goog/style/transition.js",
        "closure/goog/timer/timer.js",
        "closure/goog/tweak/entries.js",
        "closure/goog/tweak/registry.js",
        "closure/goog/tweak/tweak.js",
        "closure/goog/tweak/tweakui.js",
        "closure/goog/ui/abstractspellchecker.js",
        "closure/goog/ui/ac/ac.js",
        "closure/goog/ui/ac/arraymatcher.js",
        "closure/goog/ui/ac/autocomplete.js",
        "closure/goog/ui/ac/cachingmatcher.js",
        "closure/goog/ui/ac/inputhandler.js",
        "closure/goog/ui/ac/remote.js",
        "closure/goog/ui/ac/remotearraymatcher.js",
        "closure/goog/ui/ac/renderer.js",
        "closure/goog/ui/ac/renderoptions.js",
        "closure/goog/ui/ac/richinputhandler.js",
        "closure/goog/ui/ac/richremote.js",
        "closure/goog/ui/ac/richremotearraymatcher.js",
        "closure/goog/ui/activitymonitor.js",
        "closure/goog/ui/advancedtooltip.js",
        "closure/goog/ui/animatedzippy.js",
        "closure/goog/ui/attachablemenu.js",
        "closure/goog/ui/bidiinput.js",
        "closure/goog/ui/bubble.js",
        "closure/goog/ui/button.js",
        "closure/goog/ui/buttonrenderer.js",
        "closure/goog/ui/buttonside.js",
        "closure/goog/ui/charcounter.js",
        "closure/goog/ui/charpicker.js",
        "closure/goog/ui/checkbox.js",
        "closure/goog/ui/checkboxmenuitem.js",
        "closure/goog/ui/checkboxrenderer.js",
        "closure/goog/ui/colorbutton.js",
        "closure/goog/ui/colorbuttonrenderer.js",
        "closure/goog/ui/colormenubutton.js",
        "closure/goog/ui/colormenubuttonrenderer.js",
        "closure/goog/ui/colorpalette.js",
        "closure/goog/ui/colorpicker.js",
        "closure/goog/ui/colorsplitbehavior.js",
        "closure/goog/ui/combobox.js",
        "closure/goog/ui/component.js",
        "closure/goog/ui/container.js",
        "closure/goog/ui/containerrenderer.js",
        "closure/goog/ui/containerscroller.js",
        "closure/goog/ui/control.js",
        "closure/goog/ui/controlcontent.js",
        "closure/goog/ui/controlrenderer.js",
        "closure/goog/ui/cookieeditor.js",
        "closure/goog/ui/css3buttonrenderer.js",
        "closure/goog/ui/css3menubuttonrenderer.js",
        "closure/goog/ui/cssnames.js",
        "closure/goog/ui/custombutton.js",
        "closure/goog/ui/custombuttonrenderer.js",
        "closure/goog/ui/customcolorpalette.js",
        "closure/goog/ui/datepicker.js",
        "closure/goog/ui/datepickerrenderer.js",
        "closure/goog/ui/decorate.js",
        "closure/goog/ui/defaultdatepickerrenderer.js",
        "closure/goog/ui/dialog.js",
        "closure/goog/ui/dimensionpicker.js",
        "closure/goog/ui/dimensionpickerrenderer.js",
        "closure/goog/ui/dragdropdetector.js",
        "closure/goog/ui/drilldownrow.js",
        "closure/goog/ui/editor/abstractdialog.js",
        "closure/goog/ui/editor/bubble.js",
        "closure/goog/ui/editor/defaulttoolbar.js",
        "closure/goog/ui/editor/linkdialog.js",
        "closure/goog/ui/editor/messages.js",
        "closure/goog/ui/editor/tabpane.js",
        "closure/goog/ui/editor/toolbarcontroller.js",
        "closure/goog/ui/editor/toolbarfactory.js",
        "closure/goog/ui/emoji/emoji.js",
        "closure/goog/ui/emoji/emojipalette.js",
        "closure/goog/ui/emoji/emojipaletterenderer.js",
        "closure/goog/ui/emoji/emojipicker.js",
        "closure/goog/ui/emoji/popupemojipicker.js",
        "closure/goog/ui/emoji/progressiveemojipaletterenderer.js",
        "closure/goog/ui/emoji/spriteinfo.js",
        "closure/goog/ui/filteredmenu.js",
        "closure/goog/ui/filterobservingmenuitem.js",
        "closure/goog/ui/filterobservingmenuitemrenderer.js",
        "closure/goog/ui/flatbuttonrenderer.js",
        "closure/goog/ui/flatmenubuttonrenderer.js",
        "closure/goog/ui/formpost.js",
        "closure/goog/ui/gauge.js",
        "closure/goog/ui/gaugetheme.js",
        "closure/goog/ui/hovercard.js",
        "closure/goog/ui/hsvapalette.js",
        "closure/goog/ui/hsvpalette.js",
        "closure/goog/ui/idgenerator.js",
        "closure/goog/ui/idletimer.js",
        "closure/goog/ui/iframemask.js",
        "closure/goog/ui/imagelessbuttonrenderer.js",
        "closure/goog/ui/imagelessmenubuttonrenderer.js",
        "closure/goog/ui/inputdatepicker.js",
        "closure/goog/ui/itemevent.js",
        "closure/goog/ui/keyboardshortcuthandler.js",
        "closure/goog/ui/labelinput.js",
        "closure/goog/ui/linkbuttonrenderer.js",
        "closure/goog/ui/media/flashobject.js",
        "closure/goog/ui/media/flickr.js",
        "closure/goog/ui/media/googlevideo.js",
        "closure/goog/ui/media/media.js",
        "closure/goog/ui/media/mediamodel.js",
        "closure/goog/ui/media/mp3.js",
        "closure/goog/ui/media/photo.js",
        "closure/goog/ui/media/picasa.js",
        "closure/goog/ui/media/vimeo.js",
        "closure/goog/ui/media/youtube.js",
        "closure/goog/ui/menu.js",
        "closure/goog/ui/menubar.js",
        "closure/goog/ui/menubardecorator.js",
        "closure/goog/ui/menubarrenderer.js",
        "closure/goog/ui/menubase.js",
        "closure/goog/ui/menubutton.js",
        "closure/goog/ui/menubuttonrenderer.js",
        "closure/goog/ui/menuheader.js",
        "closure/goog/ui/menuheaderrenderer.js",
        "closure/goog/ui/menuitem.js",
        "closure/goog/ui/menuitemrenderer.js",
        "closure/goog/ui/menurenderer.js",
        "closure/goog/ui/menuseparator.js",
        "closure/goog/ui/menuseparatorrenderer.js",
        "closure/goog/ui/mockactivitymonitor.js",
        "closure/goog/ui/modalariavisibilityhelper.js",
        "closure/goog/ui/modalpopup.js",
        "closure/goog/ui/nativebuttonrenderer.js",
        "closure/goog/ui/option.js",
        "closure/goog/ui/palette.js",
        "closure/goog/ui/paletterenderer.js",
        "closure/goog/ui/plaintextspellchecker.js",
        "closure/goog/ui/popup.js",
        "closure/goog/ui/popupbase.js",
        "closure/goog/ui/popupcolorpicker.js",
        "closure/goog/ui/popupdatepicker.js",
        "closure/goog/ui/popupmenu.js",
        "closure/goog/ui/progressbar.js",
        "closure/goog/ui/prompt.js",
        "closure/goog/ui/rangemodel.js",
        "closure/goog/ui/ratings.js",
        "closure/goog/ui/registry.js",
        "closure/goog/ui/richtextspellchecker.js",
        "closure/goog/ui/roundedpanel.js",
        "closure/goog/ui/roundedtabrenderer.js",
        "closure/goog/ui/scrollfloater.js",
        "closure/goog/ui/select.js",
        "closure/goog/ui/selectionmenubutton.js",
        "closure/goog/ui/selectionmodel.js",
        "closure/goog/ui/separator.js",
        "closure/goog/ui/serverchart.js",
        "closure/goog/ui/slider.js",
        "closure/goog/ui/sliderbase.js",
        "closure/goog/ui/splitbehavior.js",
        "closure/goog/ui/splitpane.js",
        "closure/goog/ui/style/app/buttonrenderer.js",
        "closure/goog/ui/style/app/menubuttonrenderer.js",
        "closure/goog/ui/style/app/primaryactionbuttonrenderer.js",
        "closure/goog/ui/submenu.js",
        "closure/goog/ui/submenurenderer.js",
        "closure/goog/ui/tab.js",
        "closure/goog/ui/tabbar.js",
        "closure/goog/ui/tabbarrenderer.js",
        "closure/goog/ui/tablesorter.js",
        "closure/goog/ui/tabpane.js",
        "closure/goog/ui/tabrenderer.js",
        "closure/goog/ui/textarea.js",
        "closure/goog/ui/textarearenderer.js",
        "closure/goog/ui/togglebutton.js",
        "closure/goog/ui/toolbar.js",
        "closure/goog/ui/toolbarbutton.js",
        "closure/goog/ui/toolbarbuttonrenderer.js",
        "closure/goog/ui/toolbarcolormenubutton.js",
        "closure/goog/ui/toolbarcolormenubuttonrenderer.js",
        "closure/goog/ui/toolbarmenubutton.js",
        "closure/goog/ui/toolbarmenubuttonrenderer.js",
        "closure/goog/ui/toolbarrenderer.js",
        "closure/goog/ui/toolbarselect.js",
        "closure/goog/ui/toolbarseparator.js",
        "closure/goog/ui/toolbarseparatorrenderer.js",
        "closure/goog/ui/toolbartogglebutton.js",
        "closure/goog/ui/tooltip.js",
        "closure/goog/ui/tree/basenode.js",
        "closure/goog/ui/tree/treecontrol.js",
        "closure/goog/ui/tree/treenode.js",
        "closure/goog/ui/tree/typeahead.js",
        "closure/goog/ui/tristatemenuitem.js",
        "closure/goog/ui/tristatemenuitemrenderer.js",
        "closure/goog/ui/twothumbslider.js",
        "closure/goog/ui/zippy.js",
        "closure/goog/uri/uri.js",
        "closure/goog/uri/utils.js",
        "closure/goog/useragent/adobereader.js",
        "closure/goog/useragent/flash.js",
        "closure/goog/useragent/iphoto.js",
        "closure/goog/useragent/jscript.js",
        "closure/goog/useragent/keyboard.js",
        "closure/goog/useragent/platform.js",
        "closure/goog/useragent/product.js",
        "closure/goog/useragent/product_isversion.js",
        "closure/goog/useragent/useragent.js",
        "closure/goog/vec/float32array.js",
        "closure/goog/vec/float64array.js",
        "closure/goog/vec/mat3.js",
        "closure/goog/vec/mat3d.js",
        "closure/goog/vec/mat3f.js",
        "closure/goog/vec/mat4.js",
        "closure/goog/vec/mat4d.js",
        "closure/goog/vec/mat4f.js",
        "closure/goog/vec/quaternion.js",
        "closure/goog/vec/ray.js",
        "closure/goog/vec/vec.js",
        "closure/goog/vec/vec2.js",
        "closure/goog/vec/vec2d.js",
        "closure/goog/vec/vec2f.js",
        "closure/goog/vec/vec3.js",
        "closure/goog/vec/vec3d.js",
        "closure/goog/vec/vec3f.js",
        "closure/goog/vec/vec4.js",
        "closure/goog/vec/vec4d.js",
        "closure/goog/vec/vec4f.js",
        "closure/goog/webgl/webgl.js",
        "closure/goog/window/window.js",
        "third_party/closure/goog/base.js",
        "third_party/closure/goog/caja/string/html/htmlparser.js",
        "third_party/closure/goog/caja/string/html/htmlsanitizer.js",
        "third_party/closure/goog/deps.js",
        "third_party/closure/goog/dojo/dom/query.js",
        "third_party/closure/goog/loremipsum/text/loremipsum.js",
        "third_party/closure/goog/mochikit/async/deferred.js",
        "third_party/closure/goog/mochikit/async/deferredlist.js",
        "third_party/closure/goog/svgpan/svgpan.js",
    ],
)

filegroup(
    name = "js_testing_files",
    srcs = [
        # This list was generated by :js_testing_files_maker
        "closure/goog/html/testing.js",
        "closure/goog/labs/mock/mock.js",
        "closure/goog/labs/mock/verificationmode.js",
        "closure/goog/labs/testing/assertthat.js",
        "closure/goog/labs/testing/decoratormatcher.js",
        "closure/goog/labs/testing/dictionarymatcher.js",
        "closure/goog/labs/testing/environment.js",
        "closure/goog/labs/testing/json_fuzzing.js",
        "closure/goog/labs/testing/logicmatcher.js",
        "closure/goog/labs/testing/matcher.js",
        "closure/goog/labs/testing/numbermatcher.js",
        "closure/goog/labs/testing/objectmatcher.js",
        "closure/goog/labs/testing/stringmatcher.js",
        "closure/goog/labs/useragent/test_agents.js",
        "closure/goog/promise/testsuiteadapter.js",
        "closure/goog/soy/soy_testhelper.js",
        "closure/goog/testing/asserts.js",
        "closure/goog/testing/async/mockcontrol.js",
        "closure/goog/testing/asynctestcase.js",
        "closure/goog/testing/benchmark.js",
        "closure/goog/testing/continuationtestcase.js",
        "closure/goog/testing/deferredtestcase.js",
        "closure/goog/testing/dom.js",
        "closure/goog/testing/editor/dom.js",
        "closure/goog/testing/editor/fieldmock.js",
        "closure/goog/testing/editor/testhelper.js",
        "closure/goog/testing/events/eventobserver.js",
        "closure/goog/testing/events/events.js",
        "closure/goog/testing/events/matchers.js",
        "closure/goog/testing/events/onlinehandler.js",
        "closure/goog/testing/expectedfailures.js",
        "closure/goog/testing/fs/blob.js",
        "closure/goog/testing/fs/entry.js",
        "closure/goog/testing/fs/file.js",
        "closure/goog/testing/fs/filereader.js",
        "closure/goog/testing/fs/filesystem.js",
        "closure/goog/testing/fs/filewriter.js",
        "closure/goog/testing/fs/fs.js",
        "closure/goog/testing/fs/progressevent.js",
        "closure/goog/testing/functionmock.js",
        "closure/goog/testing/graphics.js",
        "closure/goog/testing/i18n/asserts.js",
        "closure/goog/testing/jstdasyncwrapper.js",
        "closure/goog/testing/jstdtestcaseadapter.js",
        "closure/goog/testing/jsunit.js",
        "closure/goog/testing/loosemock.js",
        "closure/goog/testing/messaging/mockmessagechannel.js",
        "closure/goog/testing/messaging/mockmessageevent.js",
        "closure/goog/testing/messaging/mockmessageport.js",
        "closure/goog/testing/messaging/mockportnetwork.js",
        "closure/goog/testing/mock.js",
        "closure/goog/testing/mockclassfactory.js",
        "closure/goog/testing/mockclock.js",
        "closure/goog/testing/mockcontrol.js",
        "closure/goog/testing/mockinterface.js",
        "closure/goog/testing/mockmatchers.js",
        "closure/goog/testing/mockrandom.js",
        "closure/goog/testing/mockrange.js",
        "closure/goog/testing/mockstorage.js",
        "closure/goog/testing/mockuseragent.js",
        "closure/goog/testing/mockutil.js",
        "closure/goog/testing/multitestrunner.js",
        "closure/goog/testing/net/xhrio.js",
        "closure/goog/testing/net/xhriopool.js",
        "closure/goog/testing/objectpropertystring.js",
        "closure/goog/testing/parallel_closure_test_suite.js",
        "closure/goog/testing/performancetable.js",
        "closure/goog/testing/performancetimer.js",
        "closure/goog/testing/propertyreplacer.js",
        "closure/goog/testing/proto2/proto2.js",
        "closure/goog/testing/pseudorandom.js",
        "closure/goog/testing/recordfunction.js",
        "closure/goog/testing/shardingtestcase.js",
        "closure/goog/testing/singleton.js",
        "closure/goog/testing/stacktrace.js",
        "closure/goog/testing/storage/fakemechanism.js",
        "closure/goog/testing/strictmock.js",
        "closure/goog/testing/style/layoutasserts.js",
        "closure/goog/testing/style/style.js",
        "closure/goog/testing/testcase.js",
        "closure/goog/testing/testqueue.js",
        "closure/goog/testing/testrunner.js",
        "closure/goog/testing/testsuite.js",
        "closure/goog/testing/ui/rendererasserts.js",
        "closure/goog/testing/ui/rendererharness.js",
        "closure/goog/testing/ui/style.js",
        "closure/goog/tweak/testhelpers.js",
        "closure/goog/useragent/useragenttestutil.js",
    ],
)

filegroup(
    name = "css_files",
    srcs = glob(["closure/goog/css/**/*.css"]),
)

py_library(
    name = "build_source",
    srcs = ["closure/bin/build/source.py"],
)

py_library(
    name = "build_treescan",
    srcs = ["closure/bin/build/treescan.py"],
)

py_binary(
    name = "depswriter",
    srcs = ["closure/bin/build/depswriter.py"],
    main = "closure/bin/build/depswriter.py",
    deps = [
        ":build_source",
        ":build_treescan",
    ],
)

# These rules need to be re-run each time the Closure Library is updated. They
# allow us to list all the files explicitly in the BUILD file. This makes Bazel
# go much faster for people who don't have SSDs, because it won't need to glob
# a gigantic directory structure each time the package is loaded.
#
# The reason why these rules are commented out is because all glob() functions
# are evaluated when the BUILD file is loaded, i.e. they're not lazy. Normally
# we'd solve this by putting these rules in a subpackage named glob. But we're
# only allowed to specify a single BUILD file for an external dependency. This
# is unfortunate, because that means there's no way to automatically test that
# the above list is correct.
#
# Instructions:
# 1. Uncomment the lines from "FILESET_MARKER_COMMAND" below.
# 2. From the rules_closure project root directory, run
#    "bazel build @com_google_javascript_closure_library//:js_library_files_maker" and
#    "bazel build @com_google_javascript_closure_library//:js_testing_files_maker"
# 3. Copy the list of files in
#    bazel-genfiles/external/com_google_javascript_closure_library/js_library_files_maker.txt and
#    bazel-genfiles/external/com_google_javascript_closure_library/js_testing_files_maker.txt
#    to the corresponding filegroup above.
# 4. Run "bazel test //closure/... --test_output=errors" to verify.

# FILESET_MAKER_COMMAND = "#/bin/bash\n{ for s in $(SRCS); do echo \\\"$${s#external/com_google_javascript_closure_library/}\\\",; done; } | sort >$@"

# genrule(
#     name = "js_library_files_maker",
#     srcs = glob(
#         [
#             "closure/goog/**/*.js",
#             "third_party/closure/goog/**/*.js",
#         ],
#         exclude = [
#             "closure/goog/**/*_perf.js",
#             "closure/goog/**/*_test.js",
#             "closure/goog/**/*_test.pb.js",
#             "closure/goog/**/*tester.js",
#             "closure/goog/base.js",
#             "closure/goog/demos/**/*.js",
#             "closure/goog/deps.js",
#             "closure/goog/html/testing.js",
#             "closure/goog/labs/mock/**/*.js",
#             "closure/goog/labs/testing/**/*.js",
#             "closure/goog/labs/useragent/test_agents.js",
#             "closure/goog/module/testdata/modA_1.js",
#             "closure/goog/module/testdata/modA_2.js",
#             "closure/goog/module/testdata/modB_1.js",
#             "closure/goog/net/testdata/jsloader_test1.js",
#             "closure/goog/net/testdata/jsloader_test2.js",
#             "closure/goog/net/testdata/jsloader_test3.js",
#             "closure/goog/net/testdata/jsloader_test4.js",
#             "closure/goog/promise/testsuiteadapter.js",
#             "closure/goog/proto2/test.pb.js",
#             "closure/goog/soy/soy_testhelper.js",
#             "closure/goog/storage/mechanism/mechanismtestdefinition.js",
#             "closure/goog/test_module.js",
#             "closure/goog/test_module_dep.js",
#             "closure/goog/testing/**/*.js",
#             "closure/goog/transpile.js",
#             "closure/goog/tweak/testhelpers.js",
#             "closure/goog/useragent/useragenttestutil.js",
#             "third_party/closure/goog/**/*_test.js",
#             "third_party/closure/goog/osapi/osapi.js",  # causes compiler errors
#         ],
#     ),
#     outs = ["js_library_files_maker.txt"],
#     cmd = FILESET_MAKER_COMMAND,
#     visibility = ["//visibility:private"],
# )

# genrule(
#     name = "js_testing_files_maker",
#     srcs = glob(
#         [
#             "closure/goog/labs/mock/**/*.js",
#             "closure/goog/labs/testing/**/*.js",
#             "closure/goog/testing/**/*.js",
#         ],
#         exclude = [
#             "closure/goog/labs/mock/**/*_test.js",
#             "closure/goog/labs/testing/**/*_test.js",
#             "closure/goog/testing/**/*_test.js",
#         ],
#     ) + [
#         "closure/goog/html/testing.js",
#         "closure/goog/labs/useragent/test_agents.js",
#         "closure/goog/promise/testsuiteadapter.js",
#         "closure/goog/soy/soy_testhelper.js",
#         "closure/goog/tweak/testhelpers.js",
#         "closure/goog/useragent/useragenttestutil.js",
#     ],
#     outs = ["js_testing_files_maker.txt"],
#     cmd = FILESET_MAKER_COMMAND,
#     visibility = ["//visibility:private"],
# )
