-
-
Notifications
You must be signed in to change notification settings - Fork 231
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
Allow meck to build under Erlang 17.0-rc2 and Erlang R16B03-1 #118
Conversation
Hmm, this seems to break edoc. Do you know if |
% written like dict:dict() | ||
{platform_define, "^[0-9]+", 'NAMESPACED_DICTS'}, | ||
warnings_as_errors, | ||
debug_info |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the reason for adding debug_info?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
debug_info is in master too. I just reformatted that line.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, stupid me. Line breaks ruined my life. ;-)
Sadly no. You can try it by replacing dict() with dict:dict() and you get this error
I also tried to add
to see if that worked. If you read the thread I link to you'll see they suggested a macro like I wrote here. |
Since a broken edoc is worse than breaking the build when there is a warning another solution would be to remove the warnings_as_errors option in rebar.config. |
Hmm, right now the doc doesn't seem to build add all, so in fact, this is not a proper solution really. If you can figure out a way to solve this with macros without breaking edoc, that would be nice. Perhaps something along these lines? -ifdef(NAMESPACED_DICTS).
-type meck_dict() :: dict:dict().
-else.
-type meck_dict() :: dict().
-end. |
That worked! |
Just curious. Does that work as well when you run dialyzer under old and new versions of Erlang/OTP? On 2014/03/12, at 15:17, Myers Carpenter notifications@github.com wrote:
|
Shall we add |
Here is the output of
|
@myers Do you get similar output under R16B03-1? Also, you should probably initialize Dialyzer with something like this before you run it (the most common OTP apps):
|
I'm jumping between three things at the moment. Here's the output with R16B03-1.
|
I don't understand why the tests are failing in 17.0-rc1 on travis. I get the same failure locally on R16B03-1, even off the master branch
|
Something changed in |
@@ -3,6 +3,7 @@ notifications: | |||
email: | |||
- hello@alind.io | |||
otp_release: | |||
- 17.0-rc1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Ok, I can confirm the include compile options from |
This is now fixed on c6bcda6. Please try to rebase your pull request on the latest |
Hmm, spoke too soon. Seems that the |
I rebased and got your changes to master. I looked into why Also tests are still failing with the same error
|
Ah, that was it, thanks! The new Also, while you're rebasing, could you clean up the commit messages (Proper capitalization and only 50-60 character summary on the first line)? 😄 |
So, I had to fix the regex you used for cover_empty_compile_opts and changed how you used it. Took a while tinkering with the regex to get it right. The project builds, docs build, and test pass on my laptop with 17.0-rc2, R16B03-1, and R16B. I have edited the commit messages as you asked. |
Erlang 17.0-rc1 really throws a spanner in the works. Under 17.0-rc2 I propose this: remove 17.0-rc1 for travis-ci. Add 17.0 when the final release is out. Maybe add to the README.md that 17.0-rc1 is unsupported. Also the R14B04 travis build is not working because the rebar binary uses an opcode it doesn't support:
I'm going to remove that one as well. |
Thanks, great work! Didn't see that my regex was broken. I agree, let's wait with 17.0 until it is released. The RCs are usually obsolete once the final version is out. And I think it makes sense to remove R14 support for now (Meck most likely works, it just wont be tested regurlarly). The only other solution would be to compile a new rebar with an old OTP version (which someone can do if they really need to). |
Allow meck to build under Erlang 17.0-rc2 and Erlang R16B03-1
Hey, can we get a new release? I'm using the current master and it's working perfectly :) |
@edgurgel Done, you can find it here: https://github.com/eproxus/meck/releases/tag/0.8.2 |
@eproxus Thanks! 👍 |
See this thread about the change.