summaryrefslogtreecommitdiff
path: root/run.sh
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-03-05 18:04:55 -0700
committermo khan <mo.khan@gmail.com>2020-03-05 18:04:55 -0700
commit06cf54374ff826b0fec62bb50e52a38e46c8a81d (patch)
treec483bfd3a9502fe64b47a8e57c33eca7a33a89f5 /run.sh
parent054f550130d1e2eb91615bde3d8b00f12072c7d1 (diff)
Install gem into pkg dir
Diffstat (limited to 'run.sh')
-rwxr-xr-xrun.sh97
1 files changed, 46 insertions, 51 deletions
diff --git a/run.sh b/run.sh
index beae705..32db315 100755
--- a/run.sh
+++ b/run.sh
@@ -5,12 +5,11 @@ set -euo pipefail
BUNDLE_JOBS="$(nproc)"
export BUNDLE_JOBS
export BUNDLE_PATH="vendor/bundle"
-export BUNDLE_WITHOUT="development test"
+export BUNDLE_WITHOUT="development:test"
export DOTNET_CLI_TELEMETRY_OPTOUT=1
export HISTFILESIZE=0
export HISTSIZE=0
export LICENSE_FINDER_CLI_OPTS=${LICENSE_FINDER_CLI_OPTS:-'--no-debug'}
-export LICENSE_FINDER_PYTHON_VERSION="--python-version=3"
export LM_REPORT_FILE='gl-license-management-report.json'
export PREPARE="--prepare-no-fail"
export RUBY_GC_HEAP_INIT_SLOTS=800000
@@ -18,51 +17,41 @@ export RUBY_GC_MALLOC_LIMIT=79000000
export RUBY_HEAP_FREE_MIN=100000
export RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
export RUBY_HEAP_SLOTS_INCREMENT=400000
-
-if [[ -n ${LM_PYTHON_VERSION:-} ]]; then
- MAJOR_VERSION=$(echo "$LM_PYTHON_VERSION" | cut -d'.' -f1)
- switch_to python "$MAJOR_VERSION"
- python --version
- pip --version
- export LICENSE_FINDER_PYTHON_VERSION="--python-version=$MAJOR_VERSION"
-fi
-
-switch_to java "adopt-openjdk-${LM_JAVA_VERSION:-8}"
-# shellcheck source=/dev/null
-. "$ASDF_DATA_DIR/plugins/java/set-java-home.sh"
+export LM_DEBUG=${LM_DEBUG:-}
function debug_env() {
pwd
ls -alh
env | sort
asdf current
+
+ # ruby
ruby -v
gem --version
bundle --version
+ bundle config
+
+ # python
+ python --version
+ pip --version
}
function scan_project() {
- prepare="$1"
- gem install --quiet --silent "$LM_HOME/*.gem"
+ gem install --quiet --silent "$LM_HOME/pkg/*.gem"
license_management ignored_groups add development
license_management ignored_groups add test
- options=("${prepare}" '--format=json' "--save=${LM_REPORT_FILE}" "${LICENSE_FINDER_PYTHON_VERSION}" "${LICENSE_FINDER_CLI_OPTS}")
- echo license_management report "${options[@]}"
- license_management report "${options[@]}"
+ echo license_management report "$@"
+ license_management report "$@"
+}
+
+function prepare_ruby() {
+ [[ -f Gemfile ]] && bundle install
}
function prepare_javascript() {
if [ -f package.json ]; then
- if [ -f package-lock.json ] && [ ! -f yarn.lock ] ; then
- echo "Installing npm packages with npm ci"
- npm ci
- PREPARE="--no-prepare"
- fi
- if [ ! -d node_modules ]; then
- echo "Installing yarn packages"
- yarn install --ignore-engines --ignore-scripts
- PREPARE="--no-prepare"
- fi
+ [[ -f package-lock.json ]] && [[ ! -f yarn.lock ]] && npm ci
+ [[ ! -d node_modules ]] && yarn install --ignore-engines --ignore-scripts
fi
}
@@ -71,40 +60,32 @@ function prepare_golang() {
if [[ ( ! -f glide.lock ) && ( ! -f vendor/manifest ) && (! -f Gopkg.lock ) && (! -f go.mod ) ]]; then
# Only install deps if not using glide, govendor or dep
# Symlink the project into GOPATH to allow fetching dependencies.
- ln -sf "$(realpath "$project_path")" /gopath/src/app
+ ln -sf "$(realpath "$PWD")" /gopath/src/app
pushd /gopath/src/app > /dev/null
go get || true
- PREPARE="--no-prepare"
fi
fi
}
function prepare_java() {
- if [ -f pom.xml ]; then
- mvn install "${MAVEN_CLI_OPTS:--DskipTests}"
- PREPARE="--no-prepare"
- fi
- if [ -f build.gradle ] && [ ! -f gradlew ] ; then
- gradle build "${GRADLE_CLI_OPTS:"-x test"}"
- PREPARE="--no-prepare"
- fi
+ [[ -f pom.xml ]] && mvn install "${MAVEN_CLI_OPTS:--DskipTests}"
+ [[ -f build.gradle ]] && [[ ! -f gradlew ]] && gradle build "${GRADLE_CLI_OPTS:"-x test"}"
}
function prepare_dotnet() {
- if [[ $(ls ./*.sln 2> /dev/null) ]]; then
- LICENSE_FINDER_CLI_OPTS="--recursive=true $LICENSE_FINDER_CLI_OPTS"
- fi
+ [[ $(ls ./*.sln 2> /dev/null) ]] && LICENSE_FINDER_CLI_OPTS="--recursive=true $LICENSE_FINDER_CLI_OPTS"
}
function prepare_project() {
- project_path=$1
- cd "$project_path"
- if [[ -z "${SETUP_CMD-}" ]]; then
+ cd "$1"
+ if [[ -z ${SETUP_CMD:-} ]]; then
asdf install
- prepare_javascript
- prepare_golang
- prepare_java
- prepare_dotnet
+
+ prepare_ruby || true
+ prepare_javascript || true
+ prepare_golang || true
+ prepare_java || true
+ prepare_dotnet || true
else
echo "Running '${SETUP_CMD}' to install project dependencies..."
"${SETUP_CMD[@]}"
@@ -112,6 +93,20 @@ function prepare_project() {
fi
}
+function major_version_from() {
+ echo "$1" | cut -d'.' -f1
+}
+
+switch_to python "$(major_version_from "${LM_PYTHON_VERSION:-3}")"
+
+switch_to java "adopt-openjdk-${LM_JAVA_VERSION:-8}"
+# shellcheck source=/dev/null
+. "$ASDF_DATA_DIR/plugins/java/set-java-home.sh"
+
prepare_project "$2"
-debug_env
-scan_project "$PREPARE"
+[[ -n $LM_DEBUG ]] && debug_env
+scan_project "$PREPARE" \
+ --format=json \
+ --save="${LM_REPORT_FILE}" \
+ --python-version="$(major_version_from "$(python --version | awk '{ print $2 }')")" \
+ $LICENSE_FINDER_CLI_OPTS