1#!/bin/sh 2# Copyright (C) 2008-2009, Google Inc. 3# Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org> 4# and other copyright owners as documented in the project's IP log. 5# 6# This program and the accompanying materials are made available 7# under the terms of the Eclipse Distribution License v1.0 which 8# accompanies this distribution, is reproduced below, and is 9# available at http://www.eclipse.org/org/documents/edl-v10.php 10# 11# All rights reserved. 12# 13# Redistribution and use in source and binary forms, with or 14# without modification, are permitted provided that the following 15# conditions are met: 16# 17# - Redistributions of source code must retain the above copyright 18# notice, this list of conditions and the following disclaimer. 19# 20# - Redistributions in binary form must reproduce the above 21# copyright notice, this list of conditions and the following 22# disclaimer in the documentation and/or other materials provided 23# with the distribution. 24# 25# - Neither the name of the Eclipse Foundation, Inc. nor the 26# names of its contributors may be used to endorse or promote 27# products derived from this software without specific prior 28# written permission. 29# 30# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 31# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 32# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 33# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 34# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 35# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 36# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 37# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 38# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 39# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 40# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 41# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 42# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 43 44cmd= 45for a in "$@" 46do 47 case "$a" in 48 -*) continue ;; 49 *) cmd=$a; break; ;; 50 esac 51done 52 53use_pager= 54case "$cmd" in 55blame) use_pager=1 ;; 56diff) use_pager=1 ;; 57log) use_pager=1 ;; 58esac 59 60this_script=`which "$0" 2>/dev/null` 61[ $? -gt 0 -a -f "$0" ] && this_script="$0" 62cp=$this_script 63 64platform="`uname`" 65if [ -n "$JGIT_CLASSPATH" ] 66then 67 cp_sep=: 68 # On Windows & MingW use ";" to separate classpath entries 69 [ "${platform#MINGW}" != "$platform" ] && cp_sep=";" 70 cp="$cp$cp_sep$JGIT_CLASSPATH" 71fi 72 73# Cleanup paths for Cygwin. 74# 75case "$platform" in 76CYGWIN*) 77 cp=`cygpath --windows --mixed --path "$cp"` 78 ;; 79Darwin) 80 if [ -e /System/Library/Frameworks/JavaVM.framework ] 81 then 82 java_args+=' 83 -Dcom.apple.mrj.application.apple.menu.about.name=JGit 84 -Dcom.apple.mrj.application.growbox.intrudes=false 85 -Dapple.laf.useScreenMenuBar=true 86 -Xdock:name=JGit 87 -Dfile.encoding=UTF-8 88 ' 89 fi 90 ;; 91esac 92 93CLASSPATH="$cp" 94export CLASSPATH 95 96java=java 97if [ -n "$JAVA_HOME" ] 98then 99 java="$JAVA_HOME/bin/java" 100fi 101 102if [ -n "$use_pager" ] 103then 104 use_pager=${GIT_PAGER:-${PAGER:-less}} 105 [ cat = "$use_pager" ] && use_pager= 106fi 107 108if [ -n "$use_pager" ] 109then 110 LESS=${LESS:-FSRX} 111 export LESS 112 113 "$java" $java_args org.springframework.boot.loader.JarLauncher "$@" | $use_pager 114 exit 115else 116 exec "$java" $java_args org.springframework.boot.loader.JarLauncher "$@" 117 exit 1 118fi 119