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

Darwin native gems #2073

Merged
merged 13 commits into from
Sep 8, 2020
Merged

Darwin native gems #2073

merged 13 commits into from
Sep 8, 2020

Conversation

flavorjones
Copy link
Member

@flavorjones flavorjones commented Sep 7, 2020

What problem is this PR intended to solve?

Proposed work for #2063 -- precompiled native gems for OSX/Darwin.

Have you included adequate test coverage?

Needs:

  • implement verify_dll for the darwin .bundle

Does this change affect the C or the Java implementations?

No functional changes -- only developer changes in how we build gems.

@codeclimate
Copy link

codeclimate bot commented Sep 7, 2020

Code Climate has analyzed commit ade7ec1 and detected 4 issues on this pull request.

Here's the issue category breakdown:

Category Count
Complexity 4

The test coverage on the diff in this pull request is 100.0% (80% is the threshold).

This pull request will bring the total coverage in the repository to 94.3%.

View more on Code Climate.

where the gem platform name is different from RUBY_PLATFORM.

- call the gem task correctly
- have `nokogiri -v` display Gem::Platform.local
so all our cross-compilation and native gem logic is in one place
- update CrossRuby to recognize it
- improve the parsing code for .cross_rubies
- only create rake-compiler-docker rake tasks for windows and linux
@flavorjones flavorjones force-pushed the 2063-darwin-native-gem branch 2 times, most recently from b81d9a6 to bbe0132 Compare September 7, 2020 12:38
@AppVeyorBot
Copy link

@AppVeyorBot
Copy link

end
end

def dlls
def allowed_dlls
Copy link

Choose a reason for hiding this comment

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

Method allowed_dlls has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.

end
end

def dlls
def allowed_dlls
Copy link

Choose a reason for hiding this comment

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

Method allowed_dlls has 30 lines of code (exceeds 25 allowed). Consider refactoring.

Comment on lines +130 to +132
"/usr/lib/libSystem.B.dylib",
"/usr/lib/liblzma.5.dylib",
"/usr/lib/libobjc.A.dylib",
Copy link
Member Author

Choose a reason for hiding this comment

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

@larskanis @tenderlove I could use a sanity check on these remaining references. This seems reasonable to me. I'll probably just ship an RC and see if we get feedback, but wanted to highlight that I made a decision with incomplete information here.

@flavorjones flavorjones changed the title WIP: Darwin native gems Darwin native gems Sep 7, 2020
@flavorjones flavorjones marked this pull request as ready for review September 7, 2020 23:56
@flavorjones
Copy link
Member Author

I'm going to merge this so I can ship an RC and get feedback. Would still love to hear anybody's feedback about this!

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.

3 participants