This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-04-29
Channels
- # announcements (35)
- # aws (40)
- # babashka (10)
- # beginners (119)
- # calva (25)
- # cider (13)
- # clj-kondo (15)
- # cljsrn (23)
- # clojure (205)
- # clojure-dev (3)
- # clojure-europe (15)
- # clojure-germany (3)
- # clojure-italy (3)
- # clojure-nl (2)
- # clojure-uk (58)
- # clojurescript (193)
- # community-development (2)
- # conjure (147)
- # core-async (49)
- # cursive (47)
- # datomic (27)
- # duct (1)
- # fulcro (19)
- # graalvm (3)
- # graphql (1)
- # helix (3)
- # hoplon (11)
- # jackdaw (1)
- # joker (1)
- # juxt (5)
- # kaocha (1)
- # keechma (3)
- # lambdaisland (6)
- # local-first-clojure (27)
- # malli (5)
- # off-topic (41)
- # rdf (27)
- # re-frame (7)
- # reagent (15)
- # reitit (5)
- # rum (11)
- # shadow-cljs (157)
- # spacemacs (18)
- # sql (4)
- # xtdb (8)
@marshall @jaret hey guys 👋 we want to switch from Java 8 to Java 11, but when i start a pro-0.9.6024 transactor, I get this warning:
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass$3$1 (file:/Users/robert/Datomic/datomic-pro-0.9.6024/lib/groovy-all-1.8.9.jar) to method java.lang.Object.finalize()
i did try to find supported java versions on the datomic doc site but couldn't find anything. got any advice for me, please? thanks!this error re groovy: it’s actually an unused dep and was removed in the next version 0.9.6045
oh ok beeauuutiful! thanks @U09R86PA4 and thanks for confirming @marshall!
Is there any documentation on what passing :repl-cmd
to datomic.ion.dev/push
does exactly? I would've thought it would allow me to run the push with additional aliases but it doesn't appear to have any effect.
More to that point, how does push know which paths to include on the final classpath that will be uploaded to S3? Does it simply not include any aliases? If so, is there a way to have it include some aliases?
I am getting an alert with Datomic Cloud after deploying my Ion:
":datomic.cloud.cluster-node/-main failed: 'datomic/ion-config.edn' is not on the classpath"
No errors reported when pushing and deploying from the REPL. I can also slurp my ion-config.edn from the REPL:
clj -A:dev:ion-deploy
Clojure 1.10.1
user=> (require '[ :as io])
nil
user=> (slurp (io/resource "datomic/ion-config.edn"))
"{:allow [],\n :lambdas\n {:query-pricing-api\n {:fn cs.ions.pricing-api/lambda-handler,\n :description \"Query the pricing-api.\"}},\n :app-name \"datomic-import-test\"}\n"
I'm missing something between what is on the classpath locally and what it ends up deploying.We're using a monorepo style project where lots of dependencies are all :local/root
. Datomic Ions appear to require no :local/root
deps even if the git repo is clean and all :local/root
deps are within the same git repo. Is this a necessary constraint?
Local root deps are not in git repos from dep’s perspective
They are local unmanaged resources
It seems unlikely that Datomic team would infer this semantic over the top. I think the real place to work this problem is in tools.deps but it really requires a top down intent to address this monorepo use case and I don’t think that’s something likely to happen soon
As far as workarounds, I’m not sure all of the options available for ions
@kenny Create a "runner" project which depends on specific git revision but then allows the deps to be overridden when you have a :local
alias.
Example of this "runner" approach with ions is https://github.com/Datomic/ion-event-example-app which just composes https://github.com/Datomic/ion-event-example. You deploy the former. If you expanded on this style with many smaller ion modules/projects you can compose different ion libraries in any way you want.
I'm working on a reference application that demonstrates this by having various "services" (different apps like a health-tracker, a recipe app, a todo application, etc.) all deployed by the same "runner" which references each of these projects at a specific git sha and development is very smooth because in cursive I can create a multi-module project which allows me to edit my :local/root
siblings at the same time but keep them in different git repos.
Yeah, I suppose I could to that. Would involve creating a deps.edn that contains all of my sub-projects. Easy to do programmatically.
Hi @U0CJ19XAM! Pardon for reviving this thread, but it seems to be the only one promising discussion on a subject over the whole web/slack. I’m wondering if you were able to build this example for your own needs?
I’m aiming at the same goal here — running a few different small apps — sourced under an umbrella of a single Polylith multi-module project.
I have no experience with polylith. The conversation above shows how to make your project into a library ( ion-event-example) and then how to depend on that library ( and possibly others simultaneously) and deploy them together in a single ion application ( ion-event-example-app). Was there something specific that doesn’t make sense from the above examples?
Yeah, the Polylith approach is different, with regards to the “libraries” part. Anyways, I’ll figure this out on my own then or in #C013B7MQHJQ chan, no worries. Thanks for a quick reply!