This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-08-08
Channels
- # architecture (8)
- # beginners (78)
- # boot (20)
- # cider (81)
- # clara (53)
- # cljdoc (10)
- # cljsjs (3)
- # clojure (55)
- # clojure-boston (1)
- # clojure-dev (25)
- # clojure-nl (3)
- # clojure-uk (65)
- # clojurescript (65)
- # core-async (1)
- # cursive (41)
- # data-science (4)
- # datomic (16)
- # editors (74)
- # emacs (17)
- # events (1)
- # figwheel (3)
- # hyperfiddle (39)
- # immutant (16)
- # jobs-discuss (62)
- # juxt (2)
- # keechma (2)
- # leiningen (6)
- # mount (7)
- # nrepl (1)
- # off-topic (30)
- # onyx (14)
- # protorepl (2)
- # re-frame (4)
- # reagent (15)
- # reitit (19)
- # shadow-cljs (102)
- # sim-testing (1)
- # spacemacs (44)
- # specter (15)
- # tools-deps (50)
- # vim (2)
is it (or will it ever be) possible to put specific paths from inside a git dep on the class/resource path, without needing a deps.edn
file at the project root?
thinking for resource deps
@rickmoynihan you could probably use gitlibs directly!
@dominicm: how do you mean?
@rickmoynihan https://github.com/clojure/tools.gitlibs if io/file
is okay for you though. Obviously I don't have the context of your use case.
Thanks hadn’t seen gitlibs before
it’s ok I think :local/root
is better for this anyway
has anybody run into problems with OpenJDK 9 and retrieving deps?
I have a weird failure in a cljs-tooling
build: https://travis-ci.org/clojure-emacs/cljs-tooling/jobs/413721389
reporting the full error here, is it a known issue or it is worth a Jira?
it looks very similar to https://dev.clojure.org/jira/browse/TDEPS-20
that’s different
the problem here is buried - “Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact mount:mount:pom:0.1.13 from/to clojars (https://repo.clojars.org/): sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target”
this is a certificate problem re the JDK being used and clojars
openjdk9 does not install with any root certs (I think this is fixed in 10)
oh cool ok, thanks a lot Alex
@lilactown you can put RUN clojure -Spath
in your dockerfile
@ghadi thanks! I think that almost worked… for some reason my uberjar command still downloads and installs all it’s deps 😭
not quite:
:uberjar
{:extra-deps
{pack/pack.alpha
;; {:local/root "/Users/will/Code/pack.alpha"}
{:git/url ""
:sha "c444ae3af083b0bfa68160daac576607232f556c"}}
:main-opts ["-m" "mach.pack.alpha.capsule" "dist/lilactown.jar"
"-a" ":server" "-m" "lilactown.core"]}
here’s my relevant dockerfile stuff:
COPY deps.edn .
RUN clojure -A:server:uberjar -Spath
COPY . /usr/app
RUN clojure -A:uberjar
(I like multistage builds) I'm surprised L27 redownloads things, to be honest. All should get downloaded on L21
offtopic for this room, but I wouldn't trust openjdk-8-alpine until OpenJDK fully supports Alpine
:thinking_face: I haven’t noticed any problems yet. anything in particular I should watch out for?
not sure tbh. I've also used it in the past. Now I use jlink --add-modules
to create slimmer packaged JVM
FROM openjdk:10 as jdk
RUN jlink \
--strip-debug \
--compress=1 \
--vm=server \
--output /tmp/linkedjdk \
--add-modules ,jdk.management,jdk.unsupported,java.xml.bind,java.xml.ws.annotation
FROM debian:stretch-slim
COPY --from=jdk /tmp/linkedjdk /jdk/
# This is temporarily necessary as it appears the new OpenJDK TrustStore is incomplete
# Apparently, AWS's Step Function endpoint uses a different signing root than S3
COPY --from=jdk /docker-java-home/lib/security/cacerts /jdk/lib/security/
COPY my.jar /MYCOMPANY/
ENTRYPOINT ["/jdk/bin/java"]
that's my dockerfile @lilactown