Use http_file instead of new_http_archive for some external dependencies.

1) Use http_file for the following external deps:
-   Three.js since the github releases are extremely large (>500mb).
-   numericjs since the compiled js is not checked into the github repo or even bower. It is hosted on the numericjs website.

2) Link the compiled source from ES6 components (e.g. Embedding Projector) into TensorBoard. In other words, new releases of vulcanized tf-tensorboard.html will now include the compiled code for the embedding projector (not visible yet in the UI).

3) Make bower_dependency_sync script generate one more file, dist/bazel-html-imports.html. This file imports the external deps that use http_file (via <script> tag) since they have special paths in bazel runfiles.
Change: 132388361
This commit is contained in:
Dan Smilkov 2016-09-06 17:58:53 -08:00 committed by TensorFlower Gardener
parent 91ce95d497
commit 33c9c02cd6
11 changed files with 108 additions and 396 deletions

View File

@ -234,11 +234,9 @@ new_http_archive(
strip_prefix = "neon-animation-1.2.2",
)
new_http_archive(
name = "numericjs",
build_file = "bower.BUILD",
url = "https://github.com/sloisel/numeric/archive/v1.2.6.tar.gz",
strip_prefix = "numeric-1.2.6",
http_file(
name = "numericjs_numeric_1_2_6_min_js",
url = "http://www.numericjs.com/lib/numeric-1.2.6.min.js",
)
new_http_archive(
@ -300,8 +298,8 @@ new_http_archive(
new_http_archive(
name = "paper_input",
build_file = "bower.BUILD",
url = "https://github.com/polymerelements/paper-input/archive/v1.1.14.tar.gz",
strip_prefix = "paper-input-1.1.14",
url = "https://github.com/polymerelements/paper-input/archive/v1.1.18.tar.gz",
strip_prefix = "paper-input-1.1.18",
)
new_http_archive(
@ -430,10 +428,14 @@ new_http_archive(
strip_prefix = "promise-polyfill-1.0.0",
)
new_http_archive(
name = "three_js",
build_file = "bower.BUILD",
url = "https://github.com/mrdoob/three.js/archive/r77.tar.gz",
http_file(
name = "three_js_three_min_js",
url = "https://raw.githubusercontent.com/mrdoob/three.js/r77/build/three.min.js",
)
http_file(
name = "three_js_orbitcontrols_js",
url = "https://raw.githubusercontent.com/mrdoob/three.js/r77/examples/js/controls/OrbitControls.js",
)
new_http_archive(
@ -450,9 +452,7 @@ new_http_archive(
strip_prefix = "webcomponentsjs-0.7.22",
)
new_http_archive(
name = "weblas",
build_file = "bower.BUILD",
url = "https://github.com/waylonflinn/weblas/archive/v0.9.0.tar.gz",
strip_prefix = "weblas-0.9.0",
http_file(
name = "weblas_weblas_js",
url = "https://raw.githubusercontent.com/waylonflinn/weblas/v0.9.0/dist/weblas.js",
)

View File

@ -320,41 +320,6 @@ filegroup(
],
)
filegroup(
name = "numericjs",
srcs = [
"benchmark.html",
"benchmark2.html",
"demo.html",
"documentation.html",
"myworker.js",
"resources/style.css",
"resources/style-ie.css",
"src/documentation.html",
"src/numeric.js",
"src/quadprog.js",
"src/seedrandom.js",
"src/sparse2.js",
"src/svd.js",
"tools/XMLHttpRequest.js",
"tools/closurelib.js",
"tools/excanvas.min.js",
"tools/goog-require.js",
"tools/jquery.flot.image.js",
"tools/jquery.flot.image.min.js",
"tools/jquery.flot.js",
"tools/jquery.flot.min.js",
"tools/jquery-1.7.1.js",
"tools/jquery-1.7.1.min.js",
"tools/json2.js",
"tools/megalib.js",
"tools/mytest.html",
"tools/sylvester.js",
"tools/unit2.js",
"tools/workshop.html",
],
)
filegroup(
name = "paper_behaviors",
srcs = [
@ -616,275 +581,6 @@ filegroup(
],
)
filegroup(
name = "three_js",
srcs = [
"three.js-r77/build/three.js",
"three.js-r77/build/three.min.js",
"three.js-r77/examples/js/AnimationClipCreator.js",
"three.js-r77/examples/js/BlendCharacter.js",
"three.js-r77/examples/js/BlendCharacterGui.js",
"three.js-r77/examples/js/BufferGeometryUtils.js",
"three.js-r77/examples/js/Car.js",
"three.js-r77/examples/js/Cloth.js",
"three.js-r77/examples/js/CurveExtras.js",
"three.js-r77/examples/js/Detector.js",
"three.js-r77/examples/js/Encodings.js",
"three.js-r77/examples/js/GPUParticleSystem.js",
"three.js-r77/examples/js/Gyroscope.js",
"three.js-r77/examples/js/Half.js",
"three.js-r77/examples/js/ImprovedNoise.js",
"three.js-r77/examples/js/MD2Character.js",
"three.js-r77/examples/js/MD2CharacterComplex.js",
"three.js-r77/examples/js/MarchingCubes.js",
"three.js-r77/examples/js/Mirror.js",
"three.js-r77/examples/js/MorphAnimMesh.js",
"three.js-r77/examples/js/MorphAnimation.js",
"three.js-r77/examples/js/Ocean.js",
"three.js-r77/examples/js/Octree.js",
"three.js-r77/examples/js/PRNG.js",
"three.js-r77/examples/js/ParametricGeometries.js",
"three.js-r77/examples/js/RollerCoaster.js",
"three.js-r77/examples/js/ShaderGodRays.js",
"three.js-r77/examples/js/ShaderSkin.js",
"three.js-r77/examples/js/ShaderTerrain.js",
"three.js-r77/examples/js/ShaderToon.js",
"three.js-r77/examples/js/SimplexNoise.js",
"three.js-r77/examples/js/SimulationRenderer.js",
"three.js-r77/examples/js/SkyShader.js",
"three.js-r77/examples/js/TimelinerController.js",
"three.js-r77/examples/js/TypedArrayUtils.js",
"three.js-r77/examples/js/UCSCharacter.js",
"three.js-r77/examples/js/Volume.js",
"three.js-r77/examples/js/VolumeSlice.js",
"three.js-r77/examples/js/WaterShader.js",
"three.js-r77/examples/js/WebVR.js",
"three.js-r77/examples/js/animation/CCDIKSolver.js",
"three.js-r77/examples/js/animation/MMDPhysics.js",
"three.js-r77/examples/js/cameras/CinematicCamera.js",
"three.js-r77/examples/js/cameras/CombinedCamera.js",
"three.js-r77/examples/js/controls/DeviceOrientationControls.js",
"three.js-r77/examples/js/controls/DragControls.js",
"three.js-r77/examples/js/controls/EditorControls.js",
"three.js-r77/examples/js/controls/FirstPersonControls.js",
"three.js-r77/examples/js/controls/FlyControls.js",
"three.js-r77/examples/js/controls/MouseControls.js",
"three.js-r77/examples/js/controls/OrbitControls.js",
"three.js-r77/examples/js/controls/OrthographicTrackballControls.js",
"three.js-r77/examples/js/controls/PointerLockControls.js",
"three.js-r77/examples/js/controls/TrackballControls.js",
"three.js-r77/examples/js/controls/TransformControls.js",
"three.js-r77/examples/js/controls/VRControls.js",
"three.js-r77/examples/js/crossfade/gui.js",
"three.js-r77/examples/js/crossfade/scenes.js",
"three.js-r77/examples/js/crossfade/transition.js",
"three.js-r77/examples/js/curves/NURBSCurve.js",
"three.js-r77/examples/js/curves/NURBSSurface.js",
"three.js-r77/examples/js/curves/NURBSUtils.js",
"three.js-r77/examples/js/effects/AnaglyphEffect.js",
"three.js-r77/examples/js/effects/AsciiEffect.js",
"three.js-r77/examples/js/effects/ParallaxBarrierEffect.js",
"three.js-r77/examples/js/effects/PeppersGhostEffect.js",
"three.js-r77/examples/js/effects/StereoEffect.js",
"three.js-r77/examples/js/effects/VREffect.js",
"three.js-r77/examples/js/exporters/OBJExporter.js",
"three.js-r77/examples/js/exporters/STLBinaryExporter.js",
"three.js-r77/examples/js/exporters/STLExporter.js",
"three.js-r77/examples/js/exporters/TypedGeometryExporter.js",
"three.js-r77/examples/js/geometries/ConvexGeometry.js",
"three.js-r77/examples/js/geometries/DecalGeometry.js",
"three.js-r77/examples/js/geometries/TeapotBufferGeometry.js",
"three.js-r77/examples/js/geometries/hilbert2D.js",
"three.js-r77/examples/js/geometries/hilbert3D.js",
"three.js-r77/examples/js/libs/ammo.js",
"three.js-r77/examples/js/libs/charsetencoder.min.js",
"three.js-r77/examples/js/libs/dat.gui.min.js",
"three.js-r77/examples/js/libs/earcut.js",
"three.js-r77/examples/js/libs/inflate.min.js",
"three.js-r77/examples/js/libs/jszip.min.js",
"three.js-r77/examples/js/libs/msgpack-js.js",
"three.js-r77/examples/js/libs/pnltri.min.js",
"three.js-r77/examples/js/libs/stats.min.js",
"three.js-r77/examples/js/libs/system.min.js",
"three.js-r77/examples/js/libs/timeliner_gui.min.js",
"three.js-r77/examples/js/libs/tween.min.js",
"three.js-r77/examples/js/libs/zlib_and_gzip.min.js",
"three.js-r77/examples/js/loaders/3MFLoader.js",
"three.js-r77/examples/js/loaders/AMFLoader.js",
"three.js-r77/examples/js/loaders/AWDLoader.js",
"three.js-r77/examples/js/loaders/AssimpJSONLoader.js",
"three.js-r77/examples/js/loaders/BabylonLoader.js",
"three.js-r77/examples/js/loaders/BinaryLoader.js",
"three.js-r77/examples/js/loaders/ColladaLoader.js",
"three.js-r77/examples/js/loaders/ColladaLoader2.js",
"three.js-r77/examples/js/loaders/DDSLoader.js",
"three.js-r77/examples/js/loaders/FBXLoader.js",
"three.js-r77/examples/js/loaders/HDRCubeTextureLoader.js",
"three.js-r77/examples/js/loaders/KMZLoader.js",
"three.js-r77/examples/js/loaders/MD2Loader.js",
"three.js-r77/examples/js/loaders/MMDLoader.js",
"three.js-r77/examples/js/loaders/MTLLoader.js",
"three.js-r77/examples/js/loaders/NRRDLoader.js",
"three.js-r77/examples/js/loaders/OBJLoader.js",
"three.js-r77/examples/js/loaders/PCDLoader.js",
"three.js-r77/examples/js/loaders/PDBLoader.js",
"three.js-r77/examples/js/loaders/PLYLoader.js",
"three.js-r77/examples/js/loaders/PVRLoader.js",
"three.js-r77/examples/js/loaders/PlayCanvasLoader.js",
"three.js-r77/examples/js/loaders/RGBELoader.js",
"three.js-r77/examples/js/loaders/STLLoader.js",
"three.js-r77/examples/js/loaders/SVGLoader.js",
"three.js-r77/examples/js/loaders/TGALoader.js",
"three.js-r77/examples/js/loaders/UTF8Loader.js",
"three.js-r77/examples/js/loaders/VRMLLoader.js",
"three.js-r77/examples/js/loaders/VTKLoader.js",
"three.js-r77/examples/js/loaders/collada/Animation.js",
"three.js-r77/examples/js/loaders/collada/AnimationHandler.js",
"three.js-r77/examples/js/loaders/collada/KeyFrameAnimation.js",
"three.js-r77/examples/js/loaders/ctm/CTMLoader.js",
"three.js-r77/examples/js/loaders/ctm/CTMWorker.js",
"three.js-r77/examples/js/loaders/ctm/ctm.js",
"three.js-r77/examples/js/loaders/ctm/lzma.js",
"three.js-r77/examples/js/loaders/deprecated/SceneLoader.js",
"three.js-r77/examples/js/loaders/gltf/glTF-parser.js",
"three.js-r77/examples/js/loaders/gltf/glTFAnimation.js",
"three.js-r77/examples/js/loaders/gltf/glTFLoader.js",
"three.js-r77/examples/js/loaders/gltf/glTFLoaderUtils.js",
"three.js-r77/examples/js/loaders/gltf/glTFShaders.js",
"three.js-r77/examples/js/loaders/gltf/gltfUtilities.js",
"three.js-r77/examples/js/loaders/sea3d/SEA3D.js",
"three.js-r77/examples/js/loaders/sea3d/SEA3DDeflate.js",
"three.js-r77/examples/js/loaders/sea3d/SEA3DLZMA.js",
"three.js-r77/examples/js/loaders/sea3d/SEA3DLegacy.js",
"three.js-r77/examples/js/loaders/sea3d/SEA3DLoader.js",
"three.js-r77/examples/js/math/ColorConverter.js",
"three.js-r77/examples/js/math/Lut.js",
"three.js-r77/examples/js/modifiers/BufferSubdivisionModifier.js",
"three.js-r77/examples/js/modifiers/ExplodeModifier.js",
"three.js-r77/examples/js/modifiers/SubdivisionModifier.js",
"three.js-r77/examples/js/modifiers/TessellateModifier.js",
"three.js-r77/examples/js/nodes/BuilderNode.js",
"three.js-r77/examples/js/nodes/ConstNode.js",
"three.js-r77/examples/js/nodes/FunctionCallNode.js",
"three.js-r77/examples/js/nodes/FunctionNode.js",
"three.js-r77/examples/js/nodes/GLNode.js",
"three.js-r77/examples/js/nodes/InputNode.js",
"three.js-r77/examples/js/nodes/NodeLib.js",
"three.js-r77/examples/js/nodes/NodeMaterial.js",
"three.js-r77/examples/js/nodes/RawNode.js",
"three.js-r77/examples/js/nodes/TempNode.js",
"three.js-r77/examples/js/nodes/accessors/CameraNode.js",
"three.js-r77/examples/js/nodes/accessors/ColorsNode.js",
"three.js-r77/examples/js/nodes/accessors/LightNode.js",
"three.js-r77/examples/js/nodes/accessors/NormalNode.js",
"three.js-r77/examples/js/nodes/accessors/PositionNode.js",
"three.js-r77/examples/js/nodes/accessors/ReflectNode.js",
"three.js-r77/examples/js/nodes/accessors/ScreenUVNode.js",
"three.js-r77/examples/js/nodes/accessors/UVNode.js",
"three.js-r77/examples/js/nodes/inputs/ColorNode.js",
"three.js-r77/examples/js/nodes/inputs/CubeTextureNode.js",
"three.js-r77/examples/js/nodes/inputs/FloatNode.js",
"three.js-r77/examples/js/nodes/inputs/IntNode.js",
"three.js-r77/examples/js/nodes/inputs/Matrix4Node.js",
"three.js-r77/examples/js/nodes/inputs/MirrorNode.js",
"three.js-r77/examples/js/nodes/inputs/ScreenNode.js",
"three.js-r77/examples/js/nodes/inputs/TextureNode.js",
"three.js-r77/examples/js/nodes/inputs/Vector2Node.js",
"three.js-r77/examples/js/nodes/inputs/Vector3Node.js",
"three.js-r77/examples/js/nodes/inputs/Vector4Node.js",
"three.js-r77/examples/js/nodes/materials/PhongNode.js",
"three.js-r77/examples/js/nodes/materials/PhongNodeMaterial.js",
"three.js-r77/examples/js/nodes/materials/StandardNode.js",
"three.js-r77/examples/js/nodes/materials/StandardNodeMaterial.js",
"three.js-r77/examples/js/nodes/math/Math1Node.js",
"three.js-r77/examples/js/nodes/math/Math2Node.js",
"three.js-r77/examples/js/nodes/math/Math3Node.js",
"three.js-r77/examples/js/nodes/math/OperatorNode.js",
"three.js-r77/examples/js/nodes/postprocessing/NodePass.js",
"three.js-r77/examples/js/nodes/utils/ColorAdjustmentNode.js",
"three.js-r77/examples/js/nodes/utils/JoinNode.js",
"three.js-r77/examples/js/nodes/utils/LuminanceNode.js",
"three.js-r77/examples/js/nodes/utils/NoiseNode.js",
"three.js-r77/examples/js/nodes/utils/NormalMapNode.js",
"three.js-r77/examples/js/nodes/utils/ResolutionNode.js",
"three.js-r77/examples/js/nodes/utils/RoughnessToBlinnExponentNode.js",
"three.js-r77/examples/js/nodes/utils/SwitchNode.js",
"three.js-r77/examples/js/nodes/utils/TimerNode.js",
"three.js-r77/examples/js/nodes/utils/VelocityNode.js",
"three.js-r77/examples/js/objects/ShadowMesh.js",
"three.js-r77/examples/js/pmrem/PMREMCubeUVPacker.js",
"three.js-r77/examples/js/pmrem/PMREMGenerator.js",
"three.js-r77/examples/js/postprocessing/AdaptiveToneMappingPass.js",
"three.js-r77/examples/js/postprocessing/BloomPass.js",
"three.js-r77/examples/js/postprocessing/BokehPass.js",
"three.js-r77/examples/js/postprocessing/ClearPass.js",
"three.js-r77/examples/js/postprocessing/DotScreenPass.js",
"three.js-r77/examples/js/postprocessing/EffectComposer.js",
"three.js-r77/examples/js/postprocessing/FilmPass.js",
"three.js-r77/examples/js/postprocessing/GlitchPass.js",
"three.js-r77/examples/js/postprocessing/ManualMSAARenderPass.js",
"three.js-r77/examples/js/postprocessing/MaskPass.js",
"three.js-r77/examples/js/postprocessing/RenderPass.js",
"three.js-r77/examples/js/postprocessing/SMAAPass.js",
"three.js-r77/examples/js/postprocessing/SavePass.js",
"three.js-r77/examples/js/postprocessing/ShaderPass.js",
"three.js-r77/examples/js/postprocessing/TAARenderPass.js",
"three.js-r77/examples/js/postprocessing/TexturePass.js",
"three.js-r77/examples/js/renderers/CSS2DRenderer.js",
"three.js-r77/examples/js/renderers/CSS3DRenderer.js",
"three.js-r77/examples/js/renderers/CanvasRenderer.js",
"three.js-r77/examples/js/renderers/Projector.js",
"three.js-r77/examples/js/renderers/RaytracingRenderer.js",
"three.js-r77/examples/js/renderers/RaytracingWorker.js",
"three.js-r77/examples/js/renderers/SVGRenderer.js",
"three.js-r77/examples/js/renderers/SoftwareRenderer.js",
"three.js-r77/examples/js/shaders/BasicShader.js",
"three.js-r77/examples/js/shaders/BleachBypassShader.js",
"three.js-r77/examples/js/shaders/BlendShader.js",
"three.js-r77/examples/js/shaders/BokehShader.js",
"three.js-r77/examples/js/shaders/BokehShader2.js",
"three.js-r77/examples/js/shaders/BrightnessContrastShader.js",
"three.js-r77/examples/js/shaders/ColorCorrectionShader.js",
"three.js-r77/examples/js/shaders/ColorifyShader.js",
"three.js-r77/examples/js/shaders/ConvolutionShader.js",
"three.js-r77/examples/js/shaders/CopyShader.js",
"three.js-r77/examples/js/shaders/DOFMipMapShader.js",
"three.js-r77/examples/js/shaders/DigitalGlitch.js",
"three.js-r77/examples/js/shaders/DotScreenShader.js",
"three.js-r77/examples/js/shaders/EdgeShader.js",
"three.js-r77/examples/js/shaders/EdgeShader2.js",
"three.js-r77/examples/js/shaders/FXAAShader.js",
"three.js-r77/examples/js/shaders/FilmShader.js",
"three.js-r77/examples/js/shaders/FocusShader.js",
"three.js-r77/examples/js/shaders/FresnelShader.js",
"three.js-r77/examples/js/shaders/GammaCorrectionShader.js",
"three.js-r77/examples/js/shaders/HorizontalBlurShader.js",
"three.js-r77/examples/js/shaders/HorizontalTiltShiftShader.js",
"three.js-r77/examples/js/shaders/HueSaturationShader.js",
"three.js-r77/examples/js/shaders/KaleidoShader.js",
"three.js-r77/examples/js/shaders/LuminosityShader.js",
"three.js-r77/examples/js/shaders/MirrorShader.js",
"three.js-r77/examples/js/shaders/NormalMapShader.js",
"three.js-r77/examples/js/shaders/OceanShaders.js",
"three.js-r77/examples/js/shaders/ParallaxShader.js",
"three.js-r77/examples/js/shaders/RGBShiftShader.js",
"three.js-r77/examples/js/shaders/SMAAShader.js",
"three.js-r77/examples/js/shaders/SSAOShader.js",
"three.js-r77/examples/js/shaders/SepiaShader.js",
"three.js-r77/examples/js/shaders/TechnicolorShader.js",
"three.js-r77/examples/js/shaders/ToneMapShader.js",
"three.js-r77/examples/js/shaders/TriangleBlurShader.js",
"three.js-r77/examples/js/shaders/UnpackDepthRGBAShader.js",
"three.js-r77/examples/js/shaders/VerticalBlurShader.js",
"three.js-r77/examples/js/shaders/VerticalTiltShiftShader.js",
"three.js-r77/examples/js/shaders/VignetteShader.js",
"three.js-r77/examples/js/utils/GeometryUtils.js",
"three.js-r77/examples/js/utils/ImageUtils.js",
"three.js-r77/examples/js/utils/ShadowMapViewer.js",
"three.js-r77/examples/js/utils/UVsDebug.js",
],
)
filegroup(
name = "web_animations_js",
srcs = [
@ -912,25 +608,3 @@ filegroup(
"webcomponents-lite.min.js",
],
)
filegroup(
name = "weblas",
srcs = [
"benchmark.html",
"benchmark/sgemm.js",
"dist/weblas.js",
"index.js",
"lib/globals.js",
"lib/pipeline.js",
"lib/saxpycalculator.js",
"lib/sclmpcalculator.js",
"lib/sdwnscalculator.js",
"lib/sgemmcalculator.js",
"lib/sscalcalculator.js",
"lib/tensor.js",
"lib/test.js",
"lib/webgl.js",
"test.html",
"test/data/generate.js",
],
)

View File

@ -11,6 +11,7 @@ filegroup(
name = "frontend",
srcs = [
"TAG",
"dist/bazel-html-imports.html",
"dist/index.html",
"dist/tf-tensorboard.html",
"//tensorflow/tensorboard/bower",

View File

@ -70,7 +70,7 @@
"paper-dropdown-menu": "PolymerElements/paper-dropdown-menu#1.3.2",
"paper-header-panel": "PolymerElements/paper-header-panel#1.1.4",
"paper-icon-button": "PolymerElements/paper-icon-button#1.1.1",
"paper-input": "PolymerElements/paper-input#1.1.14",
"paper-input": "PolymerElements/paper-input#1.1.18",
"paper-item": "PolymerElements/paper-item#1.1.4",
"paper-listbox": "PolymerElements/paper-listbox#1.1.2",
"paper-material": "PolymerElements/paper-material#1.0.6",
@ -150,7 +150,7 @@
"paper-dropdown-menu": "1.3.2",
"paper-header-panel": "1.1.4",
"paper-icon-button": "1.1.1",
"paper-input": "1.1.14",
"paper-input": "1.1.18",
"paper-item": "1.1.4",
"paper-listbox": "1.1.2",
"paper-material": "1.0.6",

View File

@ -35,7 +35,7 @@ filegroup(
"@iron_validatable_behavior//:iron_validatable_behavior",
"@lodash//:lodash",
"@neon_animation//:neon_animation",
"@numericjs//:numericjs",
"@numericjs_numeric_1_2_6_min_js//file",
"@paper_behaviors//:paper_behaviors",
"@paper_button//:paper_button",
"@paper_checkbox//:paper_checkbox",
@ -63,9 +63,10 @@ filegroup(
"@plottable//:plottable",
"@polymer//:polymer",
"@promise_polyfill//:promise_polyfill",
"@three_js//:three_js",
"@three_js_orbitcontrols_js//file",
"@three_js_three_min_js//file",
"@web_animations_js//:web_animations_js",
"@webcomponentsjs//:webcomponentsjs",
"@weblas//:weblas",
"@weblas_weblas_js//file",
],
)

View File

@ -296,4 +296,6 @@ allows the user to toggle between various dashboards.
},
});
</script>
<!-- Compiled bundle of all components using ES6 modules. -->
<script src="../bundle.js"></script>
</dom-module>

View File

@ -0,0 +1,23 @@
<!doctype html>
<!--
@license
Copyright 2016 The TensorFlow 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.
-->
<!-- TENSORBOARD_BOWER_AUTOGENERATED_BELOW_THIS_LINE_DO_NOT_EDIT -->
<script src="../numericjs_numeric_1_2_6_min_js/file/numeric-1.2.6.min.js"></script>
<script src="../three_js_three_min_js/file/three.min.js"></script>
<script src="../three_js_orbitcontrols_js/file/OrbitControls.js"></script>
<script src="../weblas_weblas_js/file/weblas.js"></script>

View File

@ -22,6 +22,7 @@ limitations under the License.
<script src="webcomponentsjs/webcomponents-lite.min.js"></script>
<link rel="stylesheet" type="text/css" href="lib/css/global.css">
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMQAAADECAMAAAD3eH5ZAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAD/UExURfFlKfaELvFmKfNyK/67NvWALf68Nv69NvNxK/20NfyyNP22NfN0K/JrKvqhMv2zNf25Nf24Nf23NfeOL/yzNPyvNPJoKviWMPmeMfN1K/WBLfePL/FnKfeML/qlMvR7LPmcMfeLL/aJLvR5LPFoKfJuKvR3LP66NvywNPeNL/V/LfaILv21Nf26NfNzK/NvK/R6LPmaMfyxNPqfMvV+LfurM/iSMPmbMfJvKvmdMfumM/qiMvmZMfytNPJqKvysNPN2K/iYMPNwK/upM/JtKvJsKviVMPaHLvaGLvJpKvR8LPaKLvqkMvuqM/aFLvR4LPuoM/iTMPWDLfiRMPmYMXS0ngkAAALoSURBVHja7drnctpAFIbhFUISSKJ3MKYa0+y4xTW9937/15JkJhlTjhrSrHRmvuf/as6L0YLFCgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMBJ6njenqspzgnPrsrGX9Zpi2tCrmnc6+dYNthVY5WpMmxQLWPdMsOuYVwzNj3ei2t3mQwaV43BJPDCS2NbJ5aEeuX/+9qcjQOtfFIkIkrvY2g4MVcmOBsFWbowKO/kNyj62gRpJcDaPBlxLr1B0zdG0C/8LzbJiJrshuvy1gzlA9+rD8mIkuyIJjFE3/dqnYwoSm7IUEPoD/wut8iIguSIDjlFxe/yfXL5vuSI21BTZLLhXoOILMO8Hxwa/L8bI0LfmUdhGowb2ZvT0e57pFNDgB06IlVyjmmIBl2T/nl9Rw6SD9GgSG/Q0uQkaW3XhmovKQ3eFQ4N2Uo9OQ1eFZsNerf7vP+rO4rhmY1Lg3vFVoP8+8BXg1sFnwbnCk4NThW8GuiKBDdkVVtTNFvNelVsNqTbyWnIOM2oeTRoyWvwmpJHg/ucXBrcJuXT4DwrpwZi2vy0VCx8YtXg/D2bU4OfiuQ3eFfE2KD4bfCqiLNB993gXsGlwa2CT4NzBacGIVQ6YsipQdh0xEdODUKjIxrSp88onZ8zbbFLg1DoiFO5BXvDGv2My9/JhUT8JUZTI0yDaNHLBzIbvqTDNYhUiVw/kdjQ1kM2CHFDPjKW+KzyRTF0g/ga9w9y+fANQpxvX8CU+Ny7FUWDeF3Y+g3lROIf4k0UDX9eCyvO531PyYhHga9zvPZJU5b73Y/eXj8Hv9D48n6HaF5LbcjRt8TZTtda5M1DfXnbkX1C0SHCFKzQB5Fe8op4GNGNHavvZESbVwT5r6W1xyuCPBY3Y9YgDqzknH/e3YfNzzuL30l0IebrZ5kKtuDIXt1n868ET6kf3/49tLvrCcZyF8Pu215dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcPIbNrBhOaBXucoAAAAASUVORK5CYII=">
<link rel="import" href="dist/bazel-html-imports.html">
<link rel="import" href="dist/tf-tensorboard.html">
</head>
<body>

View File

@ -40,51 +40,56 @@ var ES6_COMPONENTS = [{
]
}];
module.exports = function() {
// Compile all components that are using ES6 modules into a bundle.js
// using browserify.
var entries = ['typings/index.d.ts'];
var deps = {};
ES6_COMPONENTS.forEach(function(component) {
// Collect all the typescript files across the components.
entries = entries.concat(glob(
'components/' + component.name + '/**/*.ts',
// Do not include tests or IDE-purposed files.
{ignore: ['**/*_test.ts', '**/deps.d.ts']}));
// Collect the unique external deps across all components using es6 modules.
component.deps.forEach(function(dep) { deps['components/' + dep] = true; });
});
deps = Object.keys(deps);
// Compile, bundle all the typescript files and prepend their deps.
browserify(entries)
.plugin(tsify)
.bundle()
.on('error', function(error) { console.error(error.toString()); })
.pipe(source('app.js'))
.pipe(gulp.dest('components'))
.on('end', function() {
// Typescript was compiled and bundled. Now we need to prepend
// the external dependencies.
gulp.src(deps.concat(['components/app.js']))
.pipe(concat('bundle.js'))
.pipe(gulp.dest('components'));
module.exports = function(includeDeps) {
return function() {
// Compile all components that are using ES6 modules into a bundle.js
// using browserify.
var entries = ['typings/index.d.ts'];
var deps = {};
ES6_COMPONENTS.forEach(function(component) {
// Collect all the typescript files across the components.
entries = entries.concat(glob(
'components/' + component.name + '/**/*.ts',
// Do not include tests or IDE-purposed files.
{ignore: ['**/*_test.ts', '**/deps.d.ts']}));
// Collect the unique external deps across all components using es6
// modules.
component.deps.forEach(function(dep) {
deps['components/' + dep] = true;
});
});
deps = Object.keys(deps);
// Compile components that are using global namespaces producing 1 js file
// for each ts file.
var isComponent = filter([
'components/tf-*/**/*.ts', 'components/vz-*/**/*.ts', 'typings/**/*.ts',
'components/plottable/plottable.d.ts'
// Ignore components that use es6 modules.
].concat(ES6_COMPONENTS.map(function(component) {
return '!components/' + component.name + '/**/*.ts';
})));
// Compile, bundle all the typescript files and prepend their deps.
browserify(entries)
.plugin(tsify)
.bundle()
.on('error', function(error) { console.error(error.toString()); })
.pipe(source('bundle.js'))
.pipe(gulp.dest('components'))
.on('end', function() {
// Typescript was compiled and bundled. Now we need to prepend
// the external dependencies.
if (includeDeps) {
gulp.src(deps.concat(['components/bundle.js']))
.pipe(concat('bundle.js'))
.pipe(gulp.dest('components'));
}
});
return tsProject.src()
.pipe(isComponent)
.pipe(ts(tsProject))
.js
.pipe(gulp.dest('.'));
// Compile components that are using global namespaces producing 1 js file
// for each ts file.
var isComponent = filter([
'components/tf-*/**/*.ts', 'components/vz-*/**/*.ts', 'typings/**/*.ts',
'components/plottable/plottable.d.ts'
// Ignore components that use es6 modules.
].concat(ES6_COMPONENTS.map(function(component) {
return '!components/' + component.name + '/**/*.ts';
})));
}
return tsProject.src()
.pipe(isComponent)
.pipe(ts(tsProject))
.js.pipe(gulp.dest('.'));
};
};

View File

@ -63,7 +63,7 @@ module.exports = function(overwrite) {
inlineScripts: true,
inlineCss: true,
stripComments: true,
excludes: getNonTensorBoardComponents(),
excludes: getNonTensorBoardComponents()
}))
.pipe(header(HEADER_STR))
.pipe(rename('tf-tensorboard.html' + suffix))

View File

@ -29,11 +29,12 @@ function getTask(task) {
}
gulp.task('compile', getTask('compile'));
gulp.task('compile', getTask('compile')(true));
gulp.task('tslint', getTask('tslint')(true));
// tslint.permissive warns without failing.
gulp.task('tslint.permissive', getTask('tslint')(false));
gulp.task('first-compile', getTask('compile'));
gulp.task('first-compile', getTask('compile')(true));
gulp.task('compile-without-deps', getTask('compile')(false));
gulp.task('test.onlytest', getTask('test')); // if you don't want to lint, etc
gulp.task('test', ['tslint', 'compile'], getTask('test'));
@ -65,9 +66,13 @@ gulp.task('server', ['first-compile'], function() {
// TODO(danmane): When testing is nicer, integrate into vulcanize task
// gulp vulcanize: Regenerate the tf-tensorboard.html.OPENSOURCE file for pre-release
gulp.task('vulcanize', ['first-compile', 'tslint.permissive'], getTask('vulcanize')(false));
gulp.task(
'vulcanize', ['compile-without-deps', 'tslint.permissive'],
getTask('vulcanize')(false));
// gulp regenerate: Regenerate the tf-tensorboard.html for interactive bazel development
gulp.task('regenerate', ['first-compile', 'tslint.permissive'], getTask('vulcanize')(true));
gulp.task(
'regenerate', ['compile-without-deps', 'tslint.permissive'],
getTask('vulcanize')(true));
// TODO(danmane): consider making bower install part of default task
gulp.task('default', ['watch', 'server']);