Skip to content

cc/fix/9/support elixir 1.13 #10

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

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

Conversation

chriscrabtree
Copy link

Hi, I believe these changes will allow all tests to pass for newer Elixir versions.

It took a bit of effort to figure out why they were even failing in the first place, but the remedy turns out to be minor.

Explanation in the Readme and in the code. Thanks!

Match the .tool-versions Elixir version to what is already in the
mix.exs file (Elixir 1.10).

Add corresponding Erlang OTP version.

Add a reasonable Java runtime for the PlantUML tasks to pass muster.
This will be especially helpful to those of us who have not kept in
touch with recent developments in the Java world.
Communicate the current sensitivity to Elixir versions so people
better understand errors they may see.
The arch map is a large data structure when run on the clean_mixer
project itself. I'm trying to figure out what differences show up in
that data structure when run under Elixir 1.13 versus 1.10.

This commit is merely a step along the way and does not have it figured
out yet.
By evaluating the differences between Elixir versions for the interim
data transformation steps, hopefully we can figure out what needs to
change to support Elixir 1.13.
Turns out the compiler optimizations done since Elixir 1.10.4 made it so
that when module A references module B by simply declaring an alias to
B, the compiler doesn't count it as a first-class reference unless code
in A actually calls code in B at some point.

This commit includes the extensive scaffolding used to narrow down the
problem. My intention is to tag this commit so I can get back to the
scaffolding should I need it in the future.

The next commits will show the work of removing the scaffolding and
getting back to the minimum changes necessary to get all tests passing
again in newer versions of Elixir.
It was momentarily handy for debugging what was happening, but no longer necessary.
This commit removes various small changes introduced in troubleshooting
along the way, which should minimize the changes from a PR if accepted.
All tests pass in both Elixir 1.10.4 and Elixir 1.13.2, and I expect
other versions to run just fine as well.
- remove extraneous diffs vs main branch
- remove my work-in-process todo list

This commit removes various small changes introduced in troubleshooting
along the way, which should minimize the changes from a PR if accepted.
All tests pass in both Elixir 1.10.4 and Elixir 1.13.2, and I expect
other versions to run just fine as well.
Squashing after pushing commits up problems...now doing a Pull results
in this merge commit:

Merge branch 'cc/fix/9/support-elixir-1.13' of github.com:chriscrabtree/clean_mixer into cc/fix/9/support-elixir-1.13
@miros
Copy link
Contributor

miros commented Sep 23, 2023

Hi!

I am so sorry but I noticed your PR only now, more than a year later.
Shame on me :-(

Since I am not a part of the funbox organization anymore I had to move the repository of hex package to my own account https://github.com/miros/clean_mixer

But the good news is that I finally fixed support for fresh elixir versions :-)
https://hex.pm/packages/clean_mixer/0.11.5

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.

2 participants