Browse Source

Clojure/* remove most techempower dependencies (#3505)

compojure still has a techempower/resin dependency because I haven't
figured out how we should handle resin yet.
Michael Hixson 7 years ago
parent
commit
5bfbc010b0

+ 4 - 11
frameworks/Clojure/aleph/aleph.dockerfile

@@ -1,13 +1,6 @@
-FROM techempower/leiningen-java8:0.1
-
-ADD ./ /aleph
+FROM clojure:lein-2.8.1
 WORKDIR /aleph
 WORKDIR /aleph
-RUN lein clean
+COPY project.clj project.clj
+COPY src src
 RUN lein uberjar
 RUN lein uberjar
-RUN ls -alh
-CMD java \
-    -server \
-    -Xmx2g \
-    -XX:+UseG1GC \
-    -XX:MaxGCPauseMillis=10 \
-    -jar target/*-standalone.jar
+CMD ["java", "-server", "-Xmx2g", "-XX:+UseG1GC", "-XX:MaxGCPauseMillis=10", "-jar", "target/hello-aleph-standalone.jar"]

+ 0 - 10
frameworks/Clojure/compojure/compojure-base.dockerfile

@@ -1,10 +0,0 @@
-FROM techempower/leiningen-java8:0.1 as leiningen
-
-ADD ./ /compojure
-WORKDIR /compojure
-RUN lein clean
-RUN lein ring uberwar
-
-FROM techempower/resin-java8:0.1
-
-COPY --from=leiningen /compojure/target/hello-compojure-standalone.war ${RESIN_HOME}/webapps/ROOT.war

+ 7 - 1
frameworks/Clojure/compojure/compojure-raw.dockerfile

@@ -1,3 +1,9 @@
-FROM techempower/compojure-base:0.1
+FROM clojure:lein-2.8.1 as lein
+WORKDIR /compojure
+COPY project.clj project.clj
+COPY src src
+RUN lein ring uberwar
 
 
+FROM techempower/resin-java8:0.1
+COPY --from=lein /compojure/target/hello-compojure-standalone.war ${RESIN_HOME}/webapps/ROOT.war
 CMD java -jar ${RESIN_HOME}/lib/resin.jar console
 CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 7 - 1
frameworks/Clojure/compojure/compojure.dockerfile

@@ -1,3 +1,9 @@
-FROM techempower/compojure-base:0.1
+FROM clojure:lein-2.8.1 as lein
+WORKDIR /compojure
+COPY project.clj project.clj
+COPY src src
+RUN lein ring uberwar
 
 
+FROM techempower/resin-java8:0.1
+COPY --from=lein /compojure/target/hello-compojure-standalone.war ${RESIN_HOME}/webapps/ROOT.war
 CMD java -jar ${RESIN_HOME}/lib/resin.jar console
 CMD java -jar ${RESIN_HOME}/lib/resin.jar console

+ 0 - 7
frameworks/Clojure/http-kit/http-kit-base.dockerfile

@@ -1,7 +0,0 @@
-FROM techempower/leiningen-java8:0.1
-
-ADD ./ /http-kit
-WORKDIR /http-kit
-RUN lein clean
-RUN lein deps
-RUN lein uberjar

+ 7 - 3
frameworks/Clojure/http-kit/http-kit-raw.dockerfile

@@ -1,3 +1,7 @@
-FROM techempower/http-kit-base:0.1
-
-CMD java -server -jar target/http-kit-standalone.jar
+FROM clojure:lein-2.8.1
+WORKDIR /http-kit
+COPY project.clj project.clj
+COPY src src
+RUN lein deps
+RUN lein uberjar
+CMD ["java", "-server", "-jar", "target/http-kit-standalone.jar"]

+ 7 - 3
frameworks/Clojure/http-kit/http-kit.dockerfile

@@ -1,3 +1,7 @@
-FROM techempower/http-kit-base:0.1
-
-CMD java -server -jar target/http-kit-standalone.jar
+FROM clojure:lein-2.8.1
+WORKDIR /http-kit
+COPY project.clj project.clj
+COPY src src
+RUN lein deps
+RUN lein uberjar
+CMD ["java", "-server", "-jar", "target/http-kit-standalone.jar"]

+ 8 - 5
frameworks/Clojure/luminus/luminus.dockerfile

@@ -1,7 +1,10 @@
-FROM techempower/leiningen-java8:0.1
-
-ADD ./ /luminus
+FROM clojure:lein-2.8.1
 WORKDIR /luminus
 WORKDIR /luminus
-RUN lein clean
+COPY project.clj project.clj
+COPY Procfile Procfile
+COPY env env
+COPY resources resources
+COPY src src
+COPY test test
 RUN lein uberjar
 RUN lein uberjar
-CMD java -server -jar target/hello.jar
+CMD ["java", "-server", "-jar", "target/hello.jar"]

+ 5 - 4
frameworks/Clojure/macchiato/macchiato.dockerfile

@@ -1,9 +1,10 @@
-FROM techempower/leiningen-java8:0.1
-
-ADD ./ /macchiato
+FROM clojure:lein-2.8.1
 WORKDIR /macchiato
 WORKDIR /macchiato
+COPY project.clj project.clj
+COPY env env
+COPY src src
 ENV NODE_ENV=production
 ENV NODE_ENV=production
 RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
 RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
 RUN apt install -y nodejs
 RUN apt install -y nodejs
 RUN lein package
 RUN lein package
-CMD node target/release/hello.js
+CMD ["node", "target/release/hello.js"]

+ 6 - 10
frameworks/Clojure/pedestal/pedestal.dockerfile

@@ -1,12 +1,8 @@
-FROM techempower/leiningen-java8:0.1
-
-ADD ./ /pedestal
+FROM clojure:lein-2.8.1
 WORKDIR /pedestal
 WORKDIR /pedestal
-RUN lein clean
+COPY project.clj project.clj
+COPY config config
+COPY src src
+COPY test test
 RUN lein uberjar
 RUN lein uberjar
-CMD java \
-    -jar \
-    -D"io.pedestal.log.defaultMetricsRecorder=nil" \
-    -D"io.pedestal.log.overrideLogger=nil" \
-    target/pedestal-standalone.jar
-
+CMD ["java", "-jar", "-Dio.pedestal.log.defaultMetricsRecorder=nil", "-Dio.pedestal.log.overrideLogger=nil", "target/pedestal-standalone.jar"]

+ 1 - 3
frameworks/Clojure/pedestal/src/pedestal/pdg.clj

@@ -61,9 +61,7 @@
                  (.setAllowPoolSuspension false)
                  (.setAllowPoolSuspension false)
                  (.setUsername "benchmarkdbuser")
                  (.setUsername "benchmarkdbuser")
                  (.setPassword "benchmarkdbpass")
                  (.setPassword "benchmarkdbpass")
-                 ;(.setDataSourceClassName "com.mysql.jdbc.jdbc2.optional.MysqlDataSource")
-                 ;(.setJdbcUrl "jdbc:mysql://tfb-database:3306/hello_world?username=benchmarkdbuser&password=benchmarkdbpass")
-                 (.setJdbcUrl "jdbc:mysql://tfb-database:3306/hello_world")
+                 (.setJdbcUrl "jdbc:mysql://tfb-database:3306/hello_world?useSSL=false&useServerPrepStmts=true&cachePrepStmts=true")
                  (.setRegisterMbeans false))]
                  (.setRegisterMbeans false))]
     (HikariDataSource. config)))
     (HikariDataSource. config)))
 
 

+ 4 - 10
frameworks/Clojure/reitit/reitit.dockerfile

@@ -1,12 +1,6 @@
-FROM techempower/leiningen-java8:0.1
-
-ADD ./ /reitit
+FROM clojure:lein-2.8.1
 WORKDIR /reitit
 WORKDIR /reitit
-RUN lein clean
+COPY project.clj project.clj
+COPY src src
 RUN lein uberjar
 RUN lein uberjar
-CMD java \
-    -server \
-    -XX:+UseNUMA \
-    -XX:+UseParallelGC \
-    -XX:+AggressiveOpts \
-    -jar target/hello-reitit-standalone.jar
+CMD ["java", "-server", "-XX:+UseNUMA", "-XX:+UseParallelGC", "-XX:+AggressiveOpts", "-jar", "target/hello-reitit-standalone.jar"]