Skip to content
This repository was archived by the owner on May 4, 2022. It is now read-only.

bump Clojure CLI version #70

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

finalfantasia
Copy link
Contributor

This Pull Request:

  • bumps the Clojure CLI version to 1.10.1.536
  • adds a dependency for org.clojure/tools.namespace in order to enable reloading/refreshing namespaces upon source code changes without restarting the REPL

Note, when running a new Polygott container, in order for `clj`/`clojure`
command to find and use the classpath cache and the Maven artifact cache
generated during the time the Polygott container image is built:
  1) the container needs to be run as user `runner` in group `runner`
     (i.e., with `--user runner:runner`)
  2) `polygott-lang-setup -l clojure` needs to be run first inside the
     container before running any other Polygott command
     (e.g., `polygott-self-test`, `polygott-survey`, and `run-project`)
So that
  1) the classpath cache is generated with the correct roots
     relative to `/home/runner`
  2) the Maven artifact cache is stored in `/home/runner`
  3) we don't have to use the `mvn/local-repo` trick, which we would
     have to use with Prybar in order for it to find and use
     the classpath cache and the Maven artifact cache
This is to ensure we take advantage of the various caches
(e.g., the classpath cache, Maven artifact cache, etc.)
that are generated while building the container image.
Copy link

@dan-stowell dan-stowell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, again, @finalfantasia, for all your clojure efforts in polygott & prybar! I apologize for letting this lie so long. The tests pass and the version bump looks good!

The repl.it editor autosaves, so I'm worried about how that will interact with an interpreter that's reloading code every time it changes. Does this PR force auto-reloading of code?

@finalfantasia
Copy link
Contributor Author

Thank you, again, @finalfantasia, for all your clojure efforts in polygott & prybar! I apologize for letting this lie so long. The tests pass and the version bump looks good!

No worries! 🙂

The repl.it editor autosaves, so I'm worried about how that will interact with an interpreter that's reloading code every time it changes. Does this PR force auto-reloading of code?

No, the library (org.clojure/tools.namespace) does not automatically reload namespaces (files) upon changes. It needs to be triggered by calling a function (i.e., clojure.tools.namespace.repl/refresh) in a REPL. This means, REPL.it editor's auto-save feature won't trigger auto-reloading of code.

@dan-stowell
Copy link

Good afternoon @finalfantasia ! You've probably noticed by now that we've been slow to merge community PRs on polygott. We've decided to focus on giving Repl.it a stable foundation instead of adding features and updating languages. Once we and our community feel comfortable with Repl.it's overall stability, we'll give this change another look. Thank you for contributing!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants