Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support gljdeps.edn in go module roots, automating pkgmap and glj source embedding for glojure projects #43

Merged
merged 11 commits into from
Aug 24, 2023

Conversation

jfhamlin
Copy link
Contributor

@jfhamlin jfhamlin commented Aug 23, 2023

Problem

Developers of projects using glojure need to expose their own glojure namespaces and their own Go dependencies' packages to glojure for use in:

  1. The glojure REPL
  2. Their glojure code

Options

  1. Require projects to build automation to generate a package map and launch a REPL from a custom Go main module
  2. Generate the package map and a custom glj main package from a description of project dependencies

Decision

  1. This is all boilerplate and somewhat cumbersome

Given 2, there are multiple options to describe dependencies:

  1. A deps.edn file, similar to Clojure's
  2. A new dependency file, either with a new format or with a subset of Clojure's deps.edn features
  • 1 comes with the limitation of not being able to run clj from a project's root
  • On the flip side, it will be familiar to Clojure developers

The cost of using the same filename, deps.edn, is too high. We'll start with gljdeps.edn.

@jfhamlin jfhamlin changed the title Support deps.edn in go module roots, automating pkgmap and glj source embedding for glojure projects Support gljdeps.edn in go module roots, automating pkgmap and glj source embedding for glojure projects Aug 24, 2023
@jfhamlin jfhamlin marked this pull request as ready for review August 24, 2023 02:10
@jfhamlin jfhamlin merged commit e323a35 into main Aug 24, 2023
2 checks passed
@jfhamlin jfhamlin deleted the f/glj-deps-edn branch August 24, 2023 02:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant