Skip to content

Instantly share code, notes, and snippets.

@PavlosMelissinos
Last active April 18, 2021 10:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PavlosMelissinos/6194866cd48354a1ae73a4c8594f1e46 to your computer and use it in GitHub Desktop.
Save PavlosMelissinos/6194866cd48354a1ae73a4c8594f1e46 to your computer and use it in GitHub Desktop.
A suggestion to add some flexibility to polylith's workspace.edn
;; Current workspace.edn
{:vcs "git"
:top-namespace "polylith.clj.core"
:interface-ns "interface"
:default-profile-name "default"
:compact-views #{}
:release-tag-pattern "v[0-9]*"
:stable-tag-pattern "stable-*"
:projects {"api" {:alias "api", :test []}
"core" {:alias "core", :test []}
"deployer" {:alias "depl", :test []}
"poly-migrator" {:alias "migr", :test []}
"poly" {:alias "poly"}
"development" {:alias "dev"}}}
;; Suggestion A: add override maps for interfaces and bases
{:vcs "git"
:top-namespace "polylith.clj.core"
:interface-ns "interface"
:default-profile-name "default"
:compact-views #{}
:release-tag-pattern "v[0-9]*"
:stable-tag-pattern "stable-*"
:projects {"api" {:alias "api", :test []}
"core" {:alias "core", :test []}
"deployer" {:alias "depl", :test []}
"poly-migrator" {:alias "migr", :test []}
"poly" {:alias "poly"}
"development" {:alias "dev"}}
:interfaces {"user-input" {:interface-ns "user.input.interface"}
"user-config" {:interface-ns "user.config.interface"}}
:bases {"deployer-cli" {:core-ns "deployer.cli.core"}
"migrator-cli" {:core-ns "migrator.cli.core"}}}
;; Suggestion B: have a single overrides section for everything
{:vcs "git"
:top-namespace "polylith.clj.core"
:interface-ns "interface"
:default-profile-name "default"
:compact-views #{}
:release-tag-pattern "v[0-9]*"
:stable-tag-pattern "stable-*"
:overrides [{:type :project, :name "api", :alias "api", :test []}
{:type :project, :name "core", :alias "core", :test []}
{:type :project, :name "deployer", :alias "depl", :test []}
{:type :project, :name "poly-migrator", :alias "migr", :test []}
{:type :project, :name "poly", :alias "poly"}
{:type :project, :name "development", :alias "dev"}
{:type :component, :name "user-input", :interface-ns "user.input.interface"}
{:type :component, :name "user-config", :interface-ns "user.config.interface"}
{:type :base, :name "deployer-cli", :core-ns "deployer.cli.core"}
{:type :base, :name "migrator-cli", :core-ns "migrator.cli.core"}]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment