diff --git a/deps-resolve.edn b/deps-resolve.edn index 6429094..e13094c 100644 --- a/deps-resolve.edn +++ b/deps-resolve.edn @@ -23,6 +23,7 @@ instaparse/instaparse {:mvn/version"1.4.9"} io.replikativ/hasch {:mvn/version "0.3.4"} + pandect/pandect {:mvn/version "0.6.1"} me.raynes/fs {:mvn/version "1.4.6"} diff --git a/depstar/Rollfile b/depstar/Rollfile index ebbc24c..7938054 100644 --- a/depstar/Rollfile +++ b/depstar/Rollfile @@ -3,4 +3,4 @@ (deftarget healthfinch/depstar (clojure-library :paths ["src"] - :deps {org.clojure/clojure nil}) + :deps {org.clojure/clojure nil})) diff --git a/kat b/kat index 853fe47..09e546b 100755 --- a/kat +++ b/kat @@ -87,7 +87,7 @@ fi # Where do the cache, lockfiles and other state live if [ -z "${KAT_SERVER_WORK_DIR}" ]; then - KAT_SERVER_WORK_DIR=$(_get_conf "${KAT_CONFIG}" server_work_dir) + KAT_SERVER_WORK_DIR="${KAT_REPO_ROOT}/"$(_get_conf "${KAT_CONFIG}" server_work_dir) fi ## Booting the server diff --git a/kat.conf b/kat.conf index c4a4b52..f90c223 100644 --- a/kat.conf +++ b/kat.conf @@ -1,5 +1,7 @@ # Katamari's config file +#### Java options + # The command to be used when booting JVMS java_cmd=/usr/bin/java @@ -20,10 +22,10 @@ server_ns=katamari.server.web-server # # FIXME (arrdem 2018-09-29): # How do I get away from having to code this? Bootstrapping without a dist is HARD -server_classpath=/home/arrdem/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/home/arrdem/.m2/repository/org/clojure/data.json/0.2.3/data.json-0.2.3.jar:/home/arrdem/.m2/repository/org/clojure/clojure/1.9.0/clojure-1.9.0.jar:/home/arrdem/.m2/repository/joda-time/joda-time/2.9.9/joda-time-2.9.9.jar:/home/arrdem/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar:/home/arrdem/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar:/home/arrdem/.m2/repository/org/apache/commons/commons-compress/1.8/commons-compress-1.8.jar:/home/arrdem/.m2/repository/ring/ring-devel/1.7.0-RC1/ring-devel-1.7.0-RC1.jar:/home/arrdem/.m2/repository/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar:/home/arrdem/.m2/repository/org/springframework/build/aws-maven/4.8.0.RELEASE/aws-maven-4.8.0.RELEASE.jar:/home/arrdem/.m2/repository/org/clojure/tools.logging/0.5.0-alpha/tools.logging-0.5.0-alpha.jar:/home/arrdem/.m2/repository/org/clojure/core.specs.alpha/0.1.24/core.specs.alpha-0.1.24.jar:/home/arrdem/.m2/repository/org/tukaani/xz/1.5/xz-1.5.jar:/home/arrdem/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.5.5/jackson-databind-2.5.5.jar:/home/arrdem/.m2/repository/org/clojure/spec.alpha/0.1.143/spec.alpha-0.1.143.jar:/home/arrdem/.m2/repository/io/replikativ/hasch/0.3.4/hasch-0.3.4.jar:/home/arrdem/.m2/repository/org/clojure/tools.cli/0.3.5/tools.cli-0.3.5.jar:/home/arrdem/.m2/repository/compojure/compojure/1.6.1/compojure-1.6.1.jar:/home/arrdem/.m2/repository/com/google/inject/guice/4.0/guice-4.0-no_aop.jar:/home/arrdem/doc/dat/git/arrdem/katamari/katamari/src:/home/arrdem/doc/dat/git/arrdem/katamari/katamari/resources:/home/arrdem/.m2/repository/org/eclipse/jetty/jetty-http/9.2.24.v20180105/jetty-http-9.2.24.v20180105.jar:/home/arrdem/.m2/repository/org/eclipse/jetty/jetty-util/9.2.24.v20180105/jetty-util-9.2.24.v20180105.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-wagon/1.1.1/maven-resolver-transport-wagon-1.1.1.jar:/home/arrdem/.m2/repository/io/replikativ/incognito/0.2.1/incognito-0.2.1.jar:/home/arrdem/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.jsch/0.0.9/jsch.agentproxy.jsch-0.0.9.jar:/home/arrdem/.m2/repository/org/apache/maven/wagon/wagon-provider-api/3.0.0/wagon-provider-api-3.0.0.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.sshagent/0.0.9/jsch.agentproxy.sshagent-0.0.9.jar:/home/arrdem/.m2/repository/org/clojure/tools.macro/0.1.5/tools.macro-0.1.5.jar:/home/arrdem/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.9.0/jackson-dataformat-cbor-2.9.0.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.1.1/maven-resolver-transport-http-1.1.1.jar:/home/arrdem/.m2/repository/org/clojure/google-closure-library/0.0-20140718-946a7d39/google-closure-library-0.0-20140718-946a7d39.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-model-builder/3.5.2/maven-model-builder-3.5.2.jar:/home/arrdem/.m2/repository/com/googlecode/javaewah/JavaEWAH/1.1.6/JavaEWAH-1.1.6.jar:/home/arrdem/.m2/repository/org/clojure/clojurescript/0.0-2665/clojurescript-0.0-2665.jar:/home/arrdem/.m2/repository/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.1.1/maven-resolver-transport-file-1.1.1.jar:/home/arrdem/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar:/home/arrdem/.m2/repository/ring/ring-jetty-adapter/1.7.0-RC1/ring-jetty-adapter-1.7.0-RC1.jar:/home/arrdem/.m2/repository/ring/ring-json/0.5.0-beta1/ring-json-0.5.0-beta1.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.usocket-jna/0.0.9/jsch.agentproxy.usocket-jna-0.0.9.jar:/home/arrdem/.m2/repository/commons-io/commons-io/2.6/commons-io-2.6.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-settings-builder/3.5.2/maven-settings-builder-3.5.2.jar:/home/arrdem/.m2/repository/org/clojure/tools.namespace/0.2.11/tools.namespace-0.2.11.jar:/home/arrdem/.m2/repository/org/eclipse/jgit/org.eclipse.jgit/4.10.0.201712302008-r/org.eclipse.jgit-4.10.0.201712302008-r.jar:/home/arrdem/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.0/jackson-core-2.9.0.jar:/home/arrdem/.m2/repository/clj-time/clj-time/0.14.3/clj-time-0.14.3.jar:/home/arrdem/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-settings/3.5.2/maven-settings-3.5.2.jar:/home/arrdem/.m2/repository/org/apache/httpcomponents/httpcore/4.4.8/httpcore-4.4.8.jar:/home/arrdem/.m2/repository/instaparse/instaparse/1.4.9/instaparse-1.4.9.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-core/3.5.2/maven-core-3.5.2.jar:/home/arrdem/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar:/home/arrdem/.m2/repository/org/mozilla/rhino/1.7R4/rhino-1.7R4.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.pageant/0.0.9/jsch.agentproxy.pageant-0.0.9.jar:/home/arrdem/.m2/repository/org/clojure/google-closure-library-third-party/0.0-20140718-946a7d39/google-closure-library-third-party-0.0-20140718-946a7d39.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-api/1.1.1/maven-resolver-api-1.1.1.jar:/home/arrdem/.m2/repository/software/amazon/ion/ion-java/1.0.2/ion-java-1.0.2.jar:/home/arrdem/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.5.0/jackson-annotations-2.5.0.jar:/home/arrdem/.m2/repository/hiccup/hiccup/1.0.5/hiccup-1.0.5.jar:/home/arrdem/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-resolver-provider/3.5.2/maven-resolver-provider-3.5.2.jar:/home/arrdem/.m2/repository/com/google/javascript/closure-compiler-externs/v20140625/closure-compiler-externs-v20140625.jar:/home/arrdem/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar:/home/arrdem/.m2/repository/org/clojure/java.classpath/0.2.3/java.classpath-0.2.3.jar:/home/arrdem/.m2/repository/ns-tracker/ns-tracker/0.3.1/ns-tracker-0.3.1.jar:/home/arrdem/.m2/repository/clout/clout/2.2.1/clout-2.2.1.jar:/home/arrdem/doc/dat/git/arrdem/katamari/tools-deps/src:/home/arrdem/.m2/repository/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/home/arrdem/.m2/repository/com/google/guava/guava/20.0/guava-20.0.jar:/home/arrdem/.m2/repository/org/clojure/data.xml/0.2.0-alpha5/data.xml-0.2.0-alpha5.jar:/home/arrdem/.m2/repository/com/amazonaws/jmespath-java/1.11.184/jmespath-java-1.11.184.jar:/home/arrdem/.m2/repository/s3-wagon-private/s3-wagon-private/1.3.1/s3-wagon-private-1.3.1.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-spi/1.1.1/maven-resolver-spi-1.1.1.jar:/home/arrdem/.m2/repository/com/amazonaws/aws-java-sdk-core/1.11.184/aws-java-sdk-core-1.11.184.jar:/home/arrdem/.m2/repository/org/slf4j/slf4j-nop/1.6.2/slf4j-nop-1.6.2.jar:/home/arrdem/.m2/repository/org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar:/home/arrdem/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar:/home/arrdem/.m2/repository/args4j/args4j/2.0.26/args4j-2.0.26.jar:/home/arrdem/.m2/repository/com/google/javascript/closure-compiler/v20140625/closure-compiler-v20140625.jar:/home/arrdem/.m2/repository/cider/cider-nrepl/0.18.0/cider-nrepl-0.18.0.jar:/home/arrdem/.m2/repository/ring/ring-codec/1.1.1/ring-codec-1.1.1.jar:/home/arrdem/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar:/home/arrdem/.m2/repository/org/apache/httpcomponents/httpclient/4.5.4/httpclient-4.5.4.jar:/home/arrdem/.m2/repository/com/cemerick/piggieback/0.1.4/piggieback-0.1.4.jar:/home/arrdem/.m2/repository/net/java/dev/jna/jna/4.1.0/jna-4.1.0.jar:/home/arrdem/.m2/repository/cheshire/cheshire/5.8.0/cheshire-5.8.0.jar:/home/arrdem/.m2/repository/tigris/tigris/0.1.1/tigris-0.1.1.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.connector-factory/0.0.9/jsch.agentproxy.connector-factory-0.0.9.jar:/home/arrdem/.m2/repository/com/cemerick/austin/0.1.6/austin-0.1.6.jar:/home/arrdem/.m2/repository/org/eclipse/jetty/jetty-io/9.2.24.v20180105/jetty-io-9.2.24.v20180105.jar:/home/arrdem/.m2/repository/org/clojure/tools.reader/0.8.10/tools.reader-0.8.10.jar:/home/arrdem/doc/dat/git/arrdem/katamari/clojure-tools/src:/home/arrdem/.m2/repository/net/java/dev/jna/jna-platform/4.1.0/jna-platform-4.1.0.jar:/home/arrdem/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar:/home/arrdem/.m2/repository/org/clojure/tools.gitlibs/0.2.64/tools.gitlibs-0.2.64.jar:/home/arrdem/.m2/repository/nrepl/nrepl/0.4.4/nrepl-0.4.4.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-connector-basic/1.1.1/maven-resolver-connector-basic-1.1.1.jar:/home/arrdem/.m2/repository/clj-stacktrace/clj-stacktrace/0.2.8/clj-stacktrace-0.2.8.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-impl/1.1.1/maven-resolver-impl-1.1.1.jar:/home/arrdem/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-model/3.5.2/maven-model-3.5.2.jar:/home/arrdem/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.1.1/maven-resolver-util-1.1.1.jar:/home/arrdem/.m2/repository/me/raynes/fs/1.4.6/fs-1.4.6.jar:/home/arrdem/.m2/repository/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar:/home/arrdem/.m2/repository/ring/ring-servlet/1.7.0-RC1/ring-servlet-1.7.0-RC1.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-repository-metadata/3.5.2/maven-repository-metadata-3.5.2.jar:/home/arrdem/.m2/repository/ring/ring/1.7.0-RC1/ring-1.7.0-RC1.jar:/home/arrdem/.m2/repository/org/eclipse/jetty/jetty-server/9.2.24.v20180105/jetty-server-9.2.24.v20180105.jar:/home/arrdem/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-builder-support/3.5.2/maven-builder-support-3.5.2.jar:/home/arrdem/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar:/home/arrdem/.m2/repository/com/jcraft/jsch/0.1.54/jsch-0.1.54.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.core/0.0.9/jsch.agentproxy.core-0.0.9.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.usocket-nc/0.0.9/jsch.agentproxy.usocket-nc-0.0.9.jar:/home/arrdem/.m2/repository/ring/ring-core/1.7.0-RC1/ring-core-1.7.0-RC1.jar:/home/arrdem/.m2/repository/com/amazonaws/aws-java-sdk-kms/1.11.184/aws-java-sdk-kms-1.11.184.jar:/home/arrdem/.m2/repository/medley/medley/1.0.0/medley-1.0.0.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-plugin-api/3.5.2/maven-plugin-api-3.5.2.jar:/home/arrdem/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.9.0/jackson-dataformat-smile-2.9.0.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-artifact/3.5.2/maven-artifact-3.5.2.jar:/home/arrdem/.m2/repository/org/json/json/20090211/json-20090211.jar:/home/arrdem/.m2/repository/org/clojure/data.codec/0.1.0/data.codec-0.1.0.jar:/home/arrdem/.m2/repository/com/amazonaws/aws-java-sdk-s3/1.11.184/aws-java-sdk-s3-1.11.184.jar +server_classpath=/home/arrdem/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/home/arrdem/.m2/repository/org/clojure/clojure/1.9.0/clojure-1.9.0.jar:/home/arrdem/.m2/repository/joda-time/joda-time/2.9.9/joda-time-2.9.9.jar:/home/arrdem/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar:/home/arrdem/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar:/home/arrdem/.m2/repository/org/apache/commons/commons-compress/1.8/commons-compress-1.8.jar:/home/arrdem/.m2/repository/ring/ring-devel/1.7.0-RC1/ring-devel-1.7.0-RC1.jar:/home/arrdem/.m2/repository/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar:/home/arrdem/.m2/repository/org/springframework/build/aws-maven/4.8.0.RELEASE/aws-maven-4.8.0.RELEASE.jar:/home/arrdem/.m2/repository/org/clojure/tools.logging/0.5.0-alpha/tools.logging-0.5.0-alpha.jar:/home/arrdem/.m2/repository/org/clojure/core.specs.alpha/0.1.24/core.specs.alpha-0.1.24.jar:/home/arrdem/.m2/repository/org/tukaani/xz/1.5/xz-1.5.jar:/home/arrdem/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.5.5/jackson-databind-2.5.5.jar:/home/arrdem/.m2/repository/org/clojure/spec.alpha/0.1.143/spec.alpha-0.1.143.jar:/home/arrdem/.m2/repository/org/clojure/tools.cli/0.3.5/tools.cli-0.3.5.jar:/home/arrdem/.m2/repository/compojure/compojure/1.6.1/compojure-1.6.1.jar:/home/arrdem/.m2/repository/com/google/inject/guice/4.0/guice-4.0-no_aop.jar:/home/arrdem/doc/dat/git/arrdem/katamari/katamari/src:/home/arrdem/doc/dat/git/arrdem/katamari/katamari/resources:/home/arrdem/.m2/repository/org/eclipse/jetty/jetty-http/9.2.24.v20180105/jetty-http-9.2.24.v20180105.jar:/home/arrdem/.m2/repository/org/eclipse/jetty/jetty-util/9.2.24.v20180105/jetty-util-9.2.24.v20180105.jar:/home/arrdem/doc/dat/git/arrdem/katamari/depstar/src:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-wagon/1.1.1/maven-resolver-transport-wagon-1.1.1.jar:/home/arrdem/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.jsch/0.0.9/jsch.agentproxy.jsch-0.0.9.jar:/home/arrdem/.m2/repository/org/apache/maven/wagon/wagon-provider-api/3.0.0/wagon-provider-api-3.0.0.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.sshagent/0.0.9/jsch.agentproxy.sshagent-0.0.9.jar:/home/arrdem/.m2/repository/org/clojure/tools.macro/0.1.5/tools.macro-0.1.5.jar:/home/arrdem/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.9.0/jackson-dataformat-cbor-2.9.0.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.1.1/maven-resolver-transport-http-1.1.1.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-model-builder/3.5.2/maven-model-builder-3.5.2.jar:/home/arrdem/.m2/repository/com/googlecode/javaewah/JavaEWAH/1.1.6/JavaEWAH-1.1.6.jar:/home/arrdem/.m2/repository/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.1.1/maven-resolver-transport-file-1.1.1.jar:/home/arrdem/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.plexus/0.3.3/org.eclipse.sisu.plexus-0.3.3.jar:/home/arrdem/.m2/repository/ring/ring-jetty-adapter/1.7.0-RC1/ring-jetty-adapter-1.7.0-RC1.jar:/home/arrdem/.m2/repository/ring/ring-json/0.5.0-beta1/ring-json-0.5.0-beta1.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.usocket-jna/0.0.9/jsch.agentproxy.usocket-jna-0.0.9.jar:/home/arrdem/.m2/repository/commons-io/commons-io/2.6/commons-io-2.6.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-settings-builder/3.5.2/maven-settings-builder-3.5.2.jar:/home/arrdem/.m2/repository/org/clojure/tools.namespace/0.2.11/tools.namespace-0.2.11.jar:/home/arrdem/.m2/repository/org/eclipse/jgit/org.eclipse.jgit/4.10.0.201712302008-r/org.eclipse.jgit-4.10.0.201712302008-r.jar:/home/arrdem/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.0/jackson-core-2.9.0.jar:/home/arrdem/.m2/repository/clj-time/clj-time/0.14.3/clj-time-0.14.3.jar:/home/arrdem/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-settings/3.5.2/maven-settings-3.5.2.jar:/home/arrdem/.m2/repository/org/apache/httpcomponents/httpcore/4.4.8/httpcore-4.4.8.jar:/home/arrdem/.m2/repository/instaparse/instaparse/1.4.9/instaparse-1.4.9.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-core/3.5.2/maven-core-3.5.2.jar:/home/arrdem/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.pageant/0.0.9/jsch.agentproxy.pageant-0.0.9.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-api/1.1.1/maven-resolver-api-1.1.1.jar:/home/arrdem/.m2/repository/software/amazon/ion/ion-java/1.0.2/ion-java-1.0.2.jar:/home/arrdem/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.5.0/jackson-annotations-2.5.0.jar:/home/arrdem/.m2/repository/hiccup/hiccup/1.0.5/hiccup-1.0.5.jar:/home/arrdem/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-resolver-provider/3.5.2/maven-resolver-provider-3.5.2.jar:/home/arrdem/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar:/home/arrdem/.m2/repository/org/clojure/java.classpath/0.2.3/java.classpath-0.2.3.jar:/home/arrdem/.m2/repository/ns-tracker/ns-tracker/0.3.1/ns-tracker-0.3.1.jar:/home/arrdem/.m2/repository/clout/clout/2.2.1/clout-2.2.1.jar:/home/arrdem/doc/dat/git/arrdem/katamari/tools-deps/src:/home/arrdem/.m2/repository/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/home/arrdem/.m2/repository/com/google/guava/guava/20.0/guava-20.0.jar:/home/arrdem/.m2/repository/org/clojure/data.xml/0.2.0-alpha5/data.xml-0.2.0-alpha5.jar:/home/arrdem/.m2/repository/com/amazonaws/jmespath-java/1.11.184/jmespath-java-1.11.184.jar:/home/arrdem/.m2/repository/s3-wagon-private/s3-wagon-private/1.3.1/s3-wagon-private-1.3.1.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-spi/1.1.1/maven-resolver-spi-1.1.1.jar:/home/arrdem/.m2/repository/com/amazonaws/aws-java-sdk-core/1.11.184/aws-java-sdk-core-1.11.184.jar:/home/arrdem/.m2/repository/org/slf4j/slf4j-nop/1.6.2/slf4j-nop-1.6.2.jar:/home/arrdem/.m2/repository/org/codehaus/plexus/plexus-classworlds/2.5.2/plexus-classworlds-2.5.2.jar:/home/arrdem/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar:/home/arrdem/.m2/repository/cider/cider-nrepl/0.18.0/cider-nrepl-0.18.0.jar:/home/arrdem/.m2/repository/ring/ring-codec/1.1.1/ring-codec-1.1.1.jar:/home/arrdem/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.24/plexus-interpolation-1.24.jar:/home/arrdem/.m2/repository/org/apache/httpcomponents/httpclient/4.5.4/httpclient-4.5.4.jar:/home/arrdem/.m2/repository/net/java/dev/jna/jna/4.1.0/jna-4.1.0.jar:/home/arrdem/.m2/repository/cheshire/cheshire/5.8.0/cheshire-5.8.0.jar:/home/arrdem/.m2/repository/tigris/tigris/0.1.1/tigris-0.1.1.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.connector-factory/0.0.9/jsch.agentproxy.connector-factory-0.0.9.jar:/home/arrdem/.m2/repository/org/eclipse/jetty/jetty-io/9.2.24.v20180105/jetty-io-9.2.24.v20180105.jar:/home/arrdem/doc/dat/git/arrdem/katamari/clojure-tools/src:/home/arrdem/.m2/repository/net/java/dev/jna/jna-platform/4.1.0/jna-platform-4.1.0.jar:/home/arrdem/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar:/home/arrdem/.m2/repository/org/clojure/tools.gitlibs/0.2.64/tools.gitlibs-0.2.64.jar:/home/arrdem/.m2/repository/nrepl/nrepl/0.4.4/nrepl-0.4.4.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-connector-basic/1.1.1/maven-resolver-connector-basic-1.1.1.jar:/home/arrdem/.m2/repository/clj-stacktrace/clj-stacktrace/0.2.8/clj-stacktrace-0.2.8.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-impl/1.1.1/maven-resolver-impl-1.1.1.jar:/home/arrdem/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-model/3.5.2/maven-model-3.5.2.jar:/home/arrdem/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar:/home/arrdem/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.1.1/maven-resolver-util-1.1.1.jar:/home/arrdem/.m2/repository/me/raynes/fs/1.4.6/fs-1.4.6.jar:/home/arrdem/.m2/repository/ring/ring-servlet/1.7.0-RC1/ring-servlet-1.7.0-RC1.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-repository-metadata/3.5.2/maven-repository-metadata-3.5.2.jar:/home/arrdem/.m2/repository/ring/ring/1.7.0-RC1/ring-1.7.0-RC1.jar:/home/arrdem/.m2/repository/org/eclipse/jetty/jetty-server/9.2.24.v20180105/jetty-server-9.2.24.v20180105.jar:/home/arrdem/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-builder-support/3.5.2/maven-builder-support-3.5.2.jar:/home/arrdem/.m2/repository/com/jcraft/jsch/0.1.54/jsch-0.1.54.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.core/0.0.9/jsch.agentproxy.core-0.0.9.jar:/home/arrdem/.m2/repository/com/jcraft/jsch.agentproxy.usocket-nc/0.0.9/jsch.agentproxy.usocket-nc-0.0.9.jar:/home/arrdem/.m2/repository/ring/ring-core/1.7.0-RC1/ring-core-1.7.0-RC1.jar:/home/arrdem/.m2/repository/com/amazonaws/aws-java-sdk-kms/1.11.184/aws-java-sdk-kms-1.11.184.jar:/home/arrdem/.m2/repository/medley/medley/1.0.0/medley-1.0.0.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-plugin-api/3.5.2/maven-plugin-api-3.5.2.jar:/home/arrdem/.m2/repository/com/fasterxml/jackson/dataformat/jackson-dataformat-smile/2.9.0/jackson-dataformat-smile-2.9.0.jar:/home/arrdem/.m2/repository/org/apache/maven/maven-artifact/3.5.2/maven-artifact-3.5.2.jar:/home/arrdem/.m2/repository/org/clojure/data.codec/0.1.0/data.codec-0.1.0.jar:/home/arrdem/.m2/repository/com/amazonaws/aws-java-sdk-s3/1.11.184/aws-java-sdk-s3-1.11.184.jar # The log to record build history and any errors -log_file=kat.log +server_log_file=kat.log # Where to put cached build products and analysis data # This cache lives at the repo root @@ -47,3 +49,7 @@ deps_resolve_file=deps-resolve.edn # optional EDN to bolt onto the value of the defaults deps_defaults_data={} + +#### Compilation options + +target_dir=target diff --git a/katamari/Rollfile b/katamari/Rollfile index df47f02..720d7de 100644 --- a/katamari/Rollfile +++ b/katamari/Rollfile @@ -15,9 +15,11 @@ ring/ring nil ring/ring-jetty-adapter nil ring/ring-json nil - compojure/compojure nil cheshire/cheshire nil + + healthfinch/depstar nil + pandect/pandect nil instaparse/instaparse nil ;; Embedded development diff --git a/katamari/src/katamari/server/tasks/roll.clj b/katamari/src/katamari/server/tasks/roll.clj index 9d8bc8e..7d8c5a5 100644 --- a/katamari/src/katamari/server/tasks/roll.clj +++ b/katamari/src/katamari/server/tasks/roll.clj @@ -12,12 +12,16 @@ [clojure.tools.deps.alpha.script.make-classpath :as mkcp] [clojure.tools.deps.alpha.script.parse :as deps-parser] - ;;katamari + ;; Katamari [katamari.roll.reader :refer [compute-buildgraph refresh-buildgraph-for-changes]] [katamari.deps.extensions.roll :as der] ;; Ring - [ring.util.response :as resp])) + [ring.util.response :as resp] + + [hf.depstar.uberjar :as ds]) + (:import [java.nio.file Files] + [java.nio.file.attribute FileAttribute])) ;;;; Handlers @@ -83,3 +87,41 @@ (resp/status 200)) (handler config stack request)))) + +(defn handle-uberjar + {:kat/request-name "uberjar" + :kat/doc "Produce an uberjar, according to the target's config"} + [handler] + (fn [config stack request] + (case (first request) + "meta" + (update (handler config stack request) + :body conj (meta #'handle-uberjar)) + + "uberjar" + (if-let [target (second request)] + (if-let [target-coord (get-in config [:buildgraph :targets (symbol target)])] + (let [classpath (-> (stack config stack (list "classpath" "--" target)) + :body) + target-dir (fs/file (:repo-root config) + (:target-dir config)) + jar-name (:jar-name target-coord (str (name (:name target-coord)) ".jar")) + jar-file (fs/file target-dir jar-name) + jar-path (.toPath jar-file) + msgs (with-out-str + (binding [*err* *out*] + (let [tmp (Files/createTempDirectory "uberjar" (make-array FileAttribute 0))] + (run! #(ds/copy-source % tmp {}) (str/split classpath #":")) + (ds/write-jar tmp jar-path))))] + (-> {:msg msgs + :jar-path (.getCanonicalPath jar-file)} + resp/response + (resp/status 200))) + (-> "Could not produce an uberjar, no target coordinate was loaded!" + resp/response + (resp/status 400))) + (-> "Could not produce an uberjar, no target provided!" + resp/response + (resp/status 400))) + + (handler config stack request)))) diff --git a/katamari/src/katamari/server/web_server.clj b/katamari/src/katamari/server/web_server.clj index 9e18fac..7c63fb6 100644 --- a/katamari/src/katamari/server/web_server.clj +++ b/katamari/src/katamari/server/web_server.clj @@ -51,6 +51,7 @@ t.c/handle-stop-server ;; :thinking: + t.roll/handle-uberjar t.roll/handle-classpath t.roll/wrap-buildgraph diff --git a/katamari/src/katamari/targets/extensions/jvm.clj b/katamari/src/katamari/targets/extensions/jvm.clj index 6fbc4ca..4ce623b 100644 --- a/katamari/src/katamari/targets/extensions/jvm.clj +++ b/katamari/src/katamari/targets/extensions/jvm.clj @@ -20,7 +20,11 @@ (s/def ::manifest (s/map-of string? string?)) +(s/def ::jar-name + string?) + (deftarget jarfile (s/keys* :req-un [::rs/deps] - :opt-un [::entry-point + :opt-un [::jar-name + ::entry-point ::manifest]))