123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #!/bin/bash
- #
- # Copyright 2018-2022 Elyra Authors
- #
- # 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.
- #
- set -euo pipefail
- node --version
- npm --version
- mkdir -p ~/.npm-global
- npm config set scripts-prepend-node-path auto
- npm config set prefix ~/.npm-global
- export PATH=$(pwd)/.npm-global/bin/:$PATH
- # Download and install Yarn Package Manager using npm
- npm install -g yarn
- # Build Elyra Distribution
- make release
- # Updage dependencies and install Elyra wheel
- pip install --upgrade pip
- pip install --upgrade tornado jupyter-core jupyter-server jupyterlab dist/*.whl
- mkdir -p binder-demo
- # Enable debug output
- set -x
- # repo2docker clones the Elyra repository before the Docker image is built
- # and uses the cloned directory as "root". The git extension recognizes that
- # the directory is git-enabled and therefore prevents the user from
- # cloning other repositories using the UI. Remove the git artifacts in the
- # root directory to work around this issue.
- rm -rf ~/.git*
- # Add getting started assets to Docker image
- # (1) Clone the examples repository.
- git clone https://github.com/elyra-ai/examples.git
- EXAMPLES_BASE_DIR=examples
- # (2) Copy all getting started assets to the working directory,
- # which is referenced when binder is invoked, e.g.
- # https://mybinder.org/v2/gh/elyra-ai/elyra/main?urlpath=lab/tree/binder-demo
- cp -r $EXAMPLES_BASE_DIR/binder/getting-started/* binder-demo/
- # (3) Remove the code snippets from the working directory.
- # They need to reside in a different location to be usable.
- rm -rf binder-demo/code-snippets
- # (4) Add code snippet files to the appropriate location
- DATA_DIR=`jupyter --data-dir`
- CODE_SNIPPETS_DIR="$DATA_DIR/metadata/code-snippets/"
- mkdir -p $CODE_SNIPPETS_DIR
- cp $EXAMPLES_BASE_DIR/binder/getting-started/code-snippets/*.json $CODE_SNIPPETS_DIR
- # (5) Remove cloned examples directory
- rm -rf $EXAMPLES_BASE_DIR
|