# Copyright 2018 Google Inc. 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. #!/usr/bin/env bash set -eu set -o pipefail D3FLAMEGRAPH_REPO="https://raw.githubusercontent.com/spiermar/d3-flame-graph" D3FLAMEGRAPH_VERSION="2.0.0-alpha4" D3FLAMEGRAPH_JS="d3-flamegraph.js" D3FLAMEGRAPH_CSS="d3-flamegraph.css" cd $(dirname $0) D3FLAMEGRAPH_DIR=d3flamegraph generate_d3flamegraph_go() { local d3_js=$(curl -s "${D3FLAMEGRAPH_REPO}/${D3FLAMEGRAPH_VERSION}/dist/${D3FLAMEGRAPH_JS}" | sed 's/`/`+"`"+`/g') local d3_css=$(curl -s "${D3FLAMEGRAPH_REPO}/${D3FLAMEGRAPH_VERSION}/dist/${D3FLAMEGRAPH_CSS}") cat <<-EOF > $D3FLAMEGRAPH_DIR/d3_flame_graph.go // A D3.js plugin that produces flame graphs from hierarchical data. // https://github.com/spiermar/d3-flame-graph // Version $D3FLAMEGRAPH_VERSION // See LICENSE file for license details package d3flamegraph // JSSource returns the $D3FLAMEGRAPH_JS file const JSSource = \` $d3_js \` // CSSSource returns the $D3FLAMEGRAPH_CSS file const CSSSource = \` $d3_css \` EOF gofmt -w $D3FLAMEGRAPH_DIR/d3_flame_graph.go } get_license() { curl -s -o $D3FLAMEGRAPH_DIR/LICENSE "${D3FLAMEGRAPH_REPO}/${D3FLAMEGRAPH_VERSION}/LICENSE" } mkdir -p $D3FLAMEGRAPH_DIR get_license generate_d3flamegraph_go