polylith

https://polylith.gitbook.io/ and https://github.com/polyfy/polylith
tengstrand 2021-05-14T03:57:31.221700Z

Sure, I will speed up the merge into issue-66and do it during the day.

1
tengstrand 2021-05-14T06:18:20.225700Z

I have now pushed the last month’s work to the issue-66 branch (da3bccf3a13ac30be8e31fedeab4de53c1efd951) @jshaffer2112 (se comment for details).

🎉 4
tengstrand 2021-05-14T07:09:15.229Z

Sounds great! Everything went cleaner with depstar. Less code, less complexity = things that I like!

tengstrand 2021-05-14T06:23:02.226200Z

• rewrote the dependency calculation, to support test dependencies, used by the ‘test’, ‘info’, and ‘deps’ commands. • new column ‘dev’ in the projects section when running the info command. • use depstar for the examples and also by the polylith project itself. • new column ‘type’ in the libs command. • support for passing in e.g. since:SHA, since:head, or since:head~1. • circular dependencies are also calculated for the test context in validation 104. • changes to the ws structure: • merged :src-paths and :test-paths into :paths. • merged :base-names and :test-base-names into :base-names • merged :component-names and test-component-names into :component-names • merged :namespaces-src and :namespaces-test merged into :namespaces • merged :lines-of-code-src and :lines-of-code-test into :lines-of-code • merged :lib-imports-src and :lib-imports-test into :lib-imports • moved in :lines-of-code-total into :lines-of-code as the key :total • also calculate test dependencies for :lib-deps. • also calculate test dependencies for :interface-deps. • added support for indirect test changes to :project-to-indirect-changes. • added test dependencies to :deps, changed from :direct-ifc to :missing-ifc + two new keys :direct and :indirect. • renamed :total-lines-of-code to :lines-of-code-total • new attribute :on-disk for :paths that contains existing paths on disk. • indirect test dependencies are also included when calculating :bricks-to-test-for-project. • if :all is passed in to the deps command, e.g. ‘poly deps project:PROJECT :all’, then all bricks are included in the columns. • validation 107 also includes missing components in the test context. • test depenedencies are also shown in the deps command as a “t”, and suffixed with ” (t)” if a brick is given. • indirect test dependencies are shown as ‘-’ in the ‘deps’ command when a project is given. • possible to execute “poly ws get:settings:vcs:latest-sha branch:master” to show the latest git sha. • :thousand-separator in ~/.polylith/config.edn changed to use “.” because the centered dot was shown as ? in some setups. • some improvements of the documentation, based on input from @seancorfield (more to come) • merged PR #74 + #87 + #86 from master. • improved test coverage of the polylith codebase itself.

seancorfield 2021-05-14T06:23:03.226400Z

Hey, I was reading that! 🙂

😃 1
seancorfield 2021-05-14T06:24:59.226600Z

Wow! Sounds great! I’ll update our SHA at work and let you know what happens!

tengstrand 2021-05-14T06:25:07.226800Z

I felt it was time to push it, even though it doesn’t include support for having the git root higher up, but I will start to work on that soon + other features.

tengstrand 2021-05-14T06:26:22.227Z

Cool!

seancorfield 2021-05-14T06:29:23.227200Z

stable since: e381c13 | stable-sean

  projects: 2   interfaces: 3
  bases:    1   components: 3

  project            alias  status   dev
  --------------------------------   ---
  google-search-job  gs      ---     ---
  development        dev     ---     ---

  interface              brick                   gs    dev
  --------------------------------------------   ---   ---
  google-search-console  google-search-console   xx-   xx-
  seo-keyword            seo-keyword             xx-   xx-
  site                   site                    xx-   xx-
  -                      google-search-cli       xx-   xx-
At least nothing basic is broken 🙂

seancorfield 2021-05-14T06:30:30.227400Z

It still doesn’t pick up the changes though — do I need to change something in workspace.edn?

seancorfield 2021-05-14T06:30:48.227600Z

(this is about the git root being above the workspace root)

seancorfield 2021-05-14T06:33:09.227800Z

Ah, OK.

tengstrand 2021-05-14T06:52:09.228Z

I haven’t implemented that yet, but I will start working on it now.

seancorfield 2021-05-14T06:52:33.228200Z

Yup, saw your comment in the other thread. I added a few comments to the commit.

seancorfield 2021-05-14T06:53:14.228400Z

It’ll take me a while to assimilate all of these changes so I may have other comments later 🙂

👍 1
seancorfield 2021-05-14T06:55:48.228600Z

And thank you for switching to depstar 🙂 Happy to support anything Polylith needs in that area.

tengstrand 2021-05-14T19:33:36.230600Z

I have added support having workspaces inside the git root @seancorfield for the issue-66 branch. Check out the latest sha: 2de60069edbba960b8ab9e71dc6c2341615a52ec.

seancorfield 2021-05-14T19:44:15.230900Z

Thank you. Checking that out…

seancorfield 2021-05-14T19:46:59.231300Z

Looks good — I now see * as expected:

(! 985)-> clojure -M:poly info
  stable since: e381c13 | stable-sean

  projects: 2   interfaces: 3
  bases:    1   components: 3

  project              alias  status   dev
  ----------------------------------   ---
  google-search-job *  gs      ---     ---
  development          dev     ---     ---

  interface              brick                     gs    dev
  ----------------------------------------------   ---   ---
  google-search-console  google-search-console *   xxx   xx-
  seo-keyword            seo-keyword *             xxx   xx-
  site                   site *                    xxx   xx-
  -                      google-search-cli *       xxx   xx-

seancorfield 2021-05-14T19:48:30.232200Z

And I moved the tag and now the * are gone — as expected:

stable since: 26c2da0 | stable-sean
(same output but without * and without x in the third column under gs!)

👍 1
🎉 1
tengstrand 2021-05-14T20:57:18.232400Z

Cool! Check it out and hopefully it will work.

seancorfield 2021-05-14T21:15:25.232700Z

It did — see my posts in the main channel.

seancorfield 2021-05-14T22:14:22.234Z

FYI: I updated clj-new to use the latest SHA in generated projects, and that update will be in the next release (there’s nothing very substantial changed since the last release right now).

👍 1
🚀 1