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

replace linkeddata dependency with rdf and nokogiri #20

Merged

Conversation

jrochkind
Copy link
Contributor

@jrochkind jrochkind commented Nov 26, 2019

the linkeddata gem (https://github.com/ruby-rdf/linkeddata/) is an omnibus/metadistribution of large parts of the rdf_rb ecosystem, including "all parsing/serialization plugins." ldpath isn't actually using them all. By replacing dependency with only the sub-parts of linkeddata actually being used, we can dramatically reduce the dependency tree of anything downstream from ldpath, reducing install time and install size for those downstream things, and eliminating unnecessary dependency tree conflict potential.

rdf and nokogiri appear to be the only dependencies of linkeddata gem that are actually used by ldpath.

Please note: I am not actually familiar with the ldpath code or related code, this PR is just based on mechanically trying to get tests to pass with reduced dependencies. If test coverage is poor, this might not be a reliable change? If there are other reasons not captured by tests that removing linkeddata as a dependency could be disruptive for downstream? I rely on code review from ideally someone more familiar with this ecosystem to give us confidence that this makes sense, maybe @no-reply ?

Closes #19

the linkeddata gem (https://github.com/ruby-rdf/linkeddata/) is an omnibus/metadistribution of large parts of the rdf_rb ecosystem, including "all parsing/serialization plugins."  ldpath isn't actually using them all. By replacing dependency with only the sub-parts of `linkeddata` actually being used, we can dramatically reduce the dependency tree of anything downstream from `ldpath`, reducing install time and size for those downstream things, and eliminating unnecessary dependency tree conflicts.

rdf and nokogiri appear to be the only parts of linkeddata actually used.
@jrochkind
Copy link
Contributor Author

jrochkind commented Nov 27, 2019

Failing tests appears unrelated to me.

Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
     bundler (~> 1.5)

(Tests all pass locally for me)

Copy link

@no-reply no-reply left a comment

Choose a reason for hiding this comment

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

looks great to me!

@jrochkind jrochkind merged commit 769c213 into samvera-labs:master Dec 16, 2019
@jrochkind jrochkind deleted the replace_linkeddata_dependency branch December 16, 2019 22:21
jrochkind added a commit to sciencehistory/scihist_digicoll that referenced this pull request Jan 21, 2020
ldpath is a dependency of qa/questioning_authority (used for auto-complete from LC vocabs).

The new 1.1.0 release eliminates some unneccessary unused dependencies of ldpath, making our total dependency tree in Gemfile.lock a lot smaller.
samvera-labs/ldpath#20

This new Gemfile.lock was produced by simply running

    bundle update ldpath --conservative

And checking in resulting gemfile.
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.

can ldpath depend on less than the full linkeddata gem?
2 participants