Fork me on GitHub
#polylith
<
2022-12-06
>
Jungin Kwon04:12:21

Can I use poly tap portal with Jack-in (Calva)?

seancorfield04:12:49

Not sure what you're asking... poly will run its own JVM process -- completely separate from Calva's jack-in...

Jungin Kwon04:12:30

I thought I wouldn't be able to run either. Then how do you use poly tap?

seancorfield04:12:53

I can imagine using it from poly shell, so you'd start a Portal session via tap and then if you run test any tap> calls will display in the Portal window opened. But I think it's pretty limited.

Jungin Kwon05:12:59

I agree with you. Thanks for the answer.

seancorfield05:12:44

I think tap was added to poly mostly as a debugging aid for Joakim to develop/debug poly itself...

1
👍 1
seancorfield05:12:24

If you have Qs about using Portal with Calva, I'm happy to answer them -- I use Portal all the time (with Calva).

❤️ 2
seancorfield17:12:06

We now have three components with swappable implementations!

projects: 21   interfaces: 117
  bases:    19   components: 120
The latest addition is a dummy web server component for a legacy app (the recently added project and base). We decided to leverage Polylith for managing dependencies for us so the legacy app could more easily use parts of our refactored codebase, although it has its own web server and has to run on JDK 8 still. Our "web server" component includes health check logic and some telemetry that we wanted to reuse in the legacy app but without the underlying web server (Jetty 11, which isn't compatible with JDK 8 ). We could have split the existing web server component in two but that would have touched a lot of code in our "modern" apps, so it was easier to just add a new implementation of it, just for the legacy app -- which we're already doing for the http-client component (Hato based on JDK 11 features for most apps, http-kit for the legacy apps when we still had two such apps).

🙌 5
polylith 5
seancorfield17:12:30

Here's our overall stats:

Clojure build/config 22 files 406 total loc,
    164 deps.edn files, 3137 loc.
Clojure source 529 files 106691 total loc,
    4637 fns, 1105 of which are private,
    638 vars, 41 macros, 101 atoms,
    86 agents, 22 protocols, 65 records,
    818 specs, 25 function specs.
Clojure tests 543 files 26621 total loc,
    5 specs, 1 function specs.

Clojure total 1072 files 133312 total loc

Polylith:
   19 bases 398 files 64278 total loc,
   120 components 591 files 49325 total loc,
   21 projects 12 files 495 total loc,
  total 1001 files 114098 total loc.
Migration 93.37% files 85.58% loc
We've folded three more legacy subprojects into the Polylith setup recently, with four subprojects left to migrate (three of which will be straightforward but one will be very hard as it has a lot of namespaces and a large API surface area).