Skip to content

Commit

Permalink
[docs] Add 'yarn dev-docs' for managing and starting dev docs (elasti…
Browse files Browse the repository at this point in the history
  • Loading branch information
brianseeders committed May 20, 2022
1 parent e0ea600 commit eb6a061
Show file tree
Hide file tree
Showing 2 changed files with 104 additions and 0 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
"cover:report": "nyc report --temp-dir target/kibana-coverage/functional --report-dir target/coverage/report --reporter=lcov && open ./target/coverage/report/lcov-report/index.html",
"debug": "node --nolazy --inspect scripts/kibana --dev",
"debug-break": "node --nolazy --inspect-brk scripts/kibana --dev",
"dev-docs": "scripts/dev_docs.sh",
"docs:acceptApiChanges": "node --max-old-space-size=6144 scripts/check_published_api_changes.js --accept",
"es": "node scripts/es",
"preinstall": "node ./preinstall_check",
Expand Down
103 changes: 103 additions & 0 deletions scripts/dev_docs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
#!/bin/bash
set -euo pipefail

KIBANA_DIR=$(cd "$(dirname "$0")"/.. && pwd)
WORKSPACE=$(cd "$KIBANA_DIR/.." && pwd)/kibana-docs
export NVM_DIR="$WORKSPACE/.nvm"

DOCS_DIR="$WORKSPACE/docs.elastic.dev"

# These are the other repos with docs currently required to build the docs in this repo and not get errors
# For example, kibana docs link to docs in these repos, and if they aren't built, you'll get errors
DEV_DIR="$WORKSPACE/dev"
TEAM_DIR="$WORKSPACE/kibana-team"

cd "$KIBANA_DIR"
origin=$(git remote get-url origin || true)
GIT_PREFIX="git@github.com:"
if [[ "$origin" == "https"* ]]; then
GIT_PREFIX="https://github.com/"
fi

mkdir -p "$WORKSPACE"
cd "$WORKSPACE"

if [[ ! -d "$NVM_DIR" ]]; then
echo "Installing a separate copy of nvm"
git clone https://github.com/nvm-sh/nvm.git "$NVM_DIR"
cd "$NVM_DIR"
git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" "$(git rev-list --tags --max-count=1)")"
cd "$WORKSPACE"
fi
source "$NVM_DIR/nvm.sh"

if [[ ! -d "$DOCS_DIR" ]]; then
echo "Cloning docs.elastic.dev repo..."
git clone --depth 1 "${GIT_PREFIX}elastic/docs.elastic.dev.git"
else
cd "$DOCS_DIR"
git pull
cd "$WORKSPACE"
fi

if [[ ! -d "$DEV_DIR" ]]; then
echo "Cloning dev repo..."
git clone --depth 1 "${GIT_PREFIX}elastic/dev.git"
else
cd "$DEV_DIR"
git pull
cd "$WORKSPACE"
fi

if [[ ! -d "$TEAM_DIR" ]]; then
echo "Cloning kibana-team repo..."
git clone --depth 1 "${GIT_PREFIX}elastic/kibana-team.git"
else
cd "$TEAM_DIR"
git pull
cd "$WORKSPACE"
fi

# The minimum sources required to build kibana docs
cat << EOF > "$DOCS_DIR/sources-dev.json"
{
"sources": [
{
"type": "file",
"location": "$KIBANA_DIR"
},
{
"type": "file",
"location": "$DEV_DIR"
},
{
"type": "file",
"location": "$TEAM_DIR"
}
]
}
EOF

cd "$DOCS_DIR"
nvm install

if ! which yarn; then
npm install -g yarn
fi

yarn

if [[ ! -d .docsmobile ]]; then
yarn init-docs
fi

echo ""
echo "The docs.elastic.dev project is located at:"
echo "$DOCS_DIR"
echo ""

if [[ "${1:-}" ]]; then
yarn "$@"
else
yarn dev
fi

0 comments on commit eb6a061

Please sign in to comment.