Calculate lein's own classpath in bin/lein.
Bootstrapping like a boss.
This commit is contained in:
parent
03da3ae889
commit
622cd625d9
2 changed files with 14 additions and 3 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -12,3 +12,4 @@ bin/nom
|
|||
.lein-deps-sum
|
||||
docs
|
||||
/leiningen-core/pom.xml
|
||||
/.lein-classpath
|
16
bin/lein
16
bin/lein
|
@ -104,15 +104,25 @@ BIN_DIR="$(dirname "$SCRIPT")"
|
|||
if [ -r "$BIN_DIR/../src/leiningen/version.clj" ]; then
|
||||
# Running from source checkout
|
||||
LEIN_DIR="$(dirname "$BIN_DIR")"
|
||||
CLASSPATH="$CLASSPATH:$LEIN_DIR/leiningen-core/src/"
|
||||
CLASSPATH="$CLASSPATH::$LEIN_DIR/lib/*:$LEIN_DIR/leiningen-core/lib/*"
|
||||
CLASSPATH="$CLASSPATH:$LEIN_DIR/src:$LEIN_DIR/resources:$LEIN_JAR"
|
||||
|
||||
if [ "$(ls $LEIN_DIR/leiningen-core/lib/*)" = "" ]; then
|
||||
echo "Leiningen is missing its dependencies."
|
||||
echo "Please see \"Building\" in the README."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Use bin/lein to calculate its own classpath
|
||||
if [ ! -r "$LEIN_DIR/.lein-classpath" ]; then
|
||||
ORIG_PWD="$PWD"
|
||||
cd "$LEIN_DIR"
|
||||
"$0" classpath > "$LEIN_DIR/.lein-classpath"
|
||||
cd "$ORIG_PWD"
|
||||
fi
|
||||
|
||||
CLASSPATH="`cat $LEIN_DIR/.lein-classpath`:$CLASSPATH"
|
||||
CLASSPATH="$CLASSPATH:$LEIN_DIR/leiningen-core/src/"
|
||||
CLASSPATH="$CLASSPATH::$LEIN_DIR/lib/*:$LEIN_DIR/leiningen-core/lib/*"
|
||||
CLASSPATH="$CLASSPATH:$LEIN_DIR/src:$LEIN_DIR/resources:$LEIN_JAR"
|
||||
else
|
||||
# Not running from a checkout
|
||||
CLASSPATH="$CLASSPATH:$LEIN_JAR"
|
||||
|
|
Loading…
Reference in a new issue