#!/usr/bin/env bash # This shell script will download the software required to build the ref # guide using RVM (Ruby Version Manager), and then run the following # under solr/solr-ref-guide: "ant clean build-site build-pdf". # # The following will be downloaded and installed into $HOME/.rvm/: # RVM, Ruby, and Ruby gems jekyll, asciidoctor, jekyll-asciidoc, # and pygments.rb. # # The script expects to be run in the top-level project directory. # # RVM will attempt to verify the signature on downloaded RVM software if # you have gpg or gpg2 installed. If you do, as a one-time operation you # must import two keys (substitute gpg2 below if you have it installed): # # gpg --keyserver hkp://keys.gnupg.net --recv-keys \ # 409B6B1796C275462A1703113804BB82D39DC0E3 \ # 7D2BAF1CF37B13E2069D6956105BD0E739499BDB # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You 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 -x # Echo commands to the console set -e # Fail the script if any command fails RVM_PATH=$HOME/.rvm RUBY_VERSION=ruby-2.5.1 GEMSET=solr-refguide-gemset # Install the "stable" RVM release to ~/.rvm/, and don't mess with .bash_profile etc. \curl -sSL https://get.rvm.io | bash -s -- --ignore-dotfiles stable set +x # Temporarily disable command echoing to reduce clutter function echoRun() { local cmd="$1" echo "Running '$cmd'" $cmd } echoRun "source $RVM_PATH/scripts/rvm" # Load RVM into a shell session *as a Bash function* echoRun "rvm cleanup all" # Remove old stuff echoRun "rvm autolibs disable" # Enable single-user mode echoRun "rvm install $RUBY_VERSION" # Install Ruby echoRun "rvm gemset create $GEMSET" # Create this project's gemset echoRun "rvm $RUBY_VERSION@$GEMSET" # Activate this project's gemset # Install gems in the gemset. Param --force disables dependency conflict detection. echoRun "gem install --force --version 3.5.0 jekyll" echoRun "gem uninstall --all --ignore-dependencies asciidoctor" # Get rid of all versions echoRun "gem install --force --version 2.0.10 asciidoctor" echoRun "gem install --force --version 3.0.0 jekyll-asciidoc" echoRun "gem install --force --version 4.0.1 slim" echoRun "gem install --force --version 2.0.10 tilt" echoRun "gem install --force --version 1.1.5 concurrent-ruby" cd solr/solr-ref-guide set -x # Re-enable command echoing ant clean build-site