Skip to content

cc/fix/9/support elixir 1.13#10

Open
chriscrabtree wants to merge 22 commits into
funbox:masterfrom
chriscrabtree:cc/fix/9/support-elixir-1.13
Open

cc/fix/9/support elixir 1.13#10
chriscrabtree wants to merge 22 commits into
funbox:masterfrom
chriscrabtree:cc/fix/9/support-elixir-1.13

Conversation

@chriscrabtree

Copy link
Copy Markdown

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

miros commented Sep 23, 2023

Copy link
Copy Markdown
Contributor

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