Skip to content

Instantly share code, notes, and snippets.

@stuartsierra
Created September 9, 2019 16:54
Show Gist options
  • Save stuartsierra/7df465cdd4b0632b1e7a0627b7dff931 to your computer and use it in GitHub Desktop.
Save stuartsierra/7df465cdd4b0632b1e7a0627b7dff931 to your computer and use it in GitHub Desktop.
Script to test behavior of transitive Clojure dependencies from Component
#!/bin/bash
BASEDIR=testcomponentclojureversion
rm -rf "$BASEDIR"
mkdir -p "$BASEDIR"
pushd "$BASEDIR" > /dev/null
echo ""
echo "Testing Clojure 1.8.0 and Component 0.4.0"
mkdir testclj18
pushd testclj18 > /dev/null
cat > project.clj <<EOF
(defproject testclj17 "0.1.0-SNAPSHOT"
:pedantic? :abort
:dependencies [[org.clojure/clojure "1.8.0"]
[com.stuartsierra/component "0.4.0"]])
EOF
echo "lein deps :tree"
lein deps :tree
echo "Loading com.stuartsierra.component"
lein run -m clojure.main -e "(try (require 'com.stuartsierra.component) (prn :OK) (catch Exception e (println (.getMessage e))))"
popd > /dev/null
echo ""
echo "Testing Clojure 1.7.0 and Component 0.4.0"
mkdir testclj17
pushd testclj17 > /dev/null
cat > project.clj <<EOF
(defproject testclj17 "0.1.0-SNAPSHOT"
:pedantic? :abort
:dependencies [[org.clojure/clojure "1.7.0"]
[com.stuartsierra/component "0.4.0"]])
EOF
echo "lein deps :tree"
lein deps :tree
echo "Loading com.stuartsierra.component"
lein run -m clojure.main -e "(try (require 'com.stuartsierra.component) (prn :OK) (catch Exception e (println (.getMessage e))))"
popd > /dev/null
echo ""
echo "Testing Clojure 1.6.0 and Component 0.4.0"
mkdir testclj16
pushd testclj16 > /dev/null
cat > project.clj <<EOF
(defproject testclj17 "0.1.0-SNAPSHOT"
:pedantic? :abort
:dependencies [[org.clojure/clojure "1.6.0"]
[com.stuartsierra/component "0.4.0"]])
EOF
echo "lein deps :tree"
lein deps :tree
echo "Loading com.stuartsierra.component"
lein run -m clojure.main -e "(try (require 'com.stuartsierra.component) (prn :OK) (catch Exception e (println (.getMessage e))))"
popd > /dev/null
echo "############################################################"
echo ""
echo "Testing Clojure 1.6.0 and Component 0.4.1-SNASPHOT"
mkdir testclj16-c041
pushd testclj16-c041 > /dev/null
cat > project.clj <<EOF
(defproject testclj17 "0.1.0-SNAPSHOT"
:pedantic? :abort
:dependencies [[org.clojure/clojure "1.6.0"]
[com.stuartsierra/component "0.4.1-SNAPSHOT"]])
EOF
echo "lein deps :tree"
lein deps :tree
echo "Loading com.stuartsierra.component"
lein run -m clojure.main -e "(try (require 'com.stuartsierra.component) (prn :OK) (catch Exception e (println (.getMessage e))))"
popd > /dev/null
echo ""
echo "Testing Clojure 1.8.0 and Component 0.4.1-SNASPHOT"
mkdir testclj18-c041
pushd testclj18-c041 > /dev/null
cat > project.clj <<EOF
(defproject testclj17 "0.1.0-SNAPSHOT"
:pedantic? :abort
:dependencies [[org.clojure/clojure "1.8.0"]
[com.stuartsierra/component "0.4.1-SNAPSHOT"]])
EOF
echo "lein deps :tree"
lein deps :tree
echo "Loading com.stuartsierra.component"
lein run -m clojure.main -e "(try (require 'com.stuartsierra.component) (prn :OK) (catch Exception e (println (.getMessage e))))"
popd > /dev/null
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment