-
Notifications
You must be signed in to change notification settings - Fork 74
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
Update OWLAPI to version 4.5.29 #1200
Merged
Merged
Changes from 3 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
8abb40d
Update OWLAPI to version 4.5.28
matentzn 944eb34
Update OBO test file to new obo syntax
matentzn f4e9987
Update annotated.obo
matentzn 4ba35b1
Move to 4.5.29
matentzn 7ceb6b7
Update pom.xml
matentzn 8a4cd72
Upgrade log4j-over-slf4j
matentzn 7b3cad9
Update pom.xml
matentzn 3f7994d
New OWLAPI version number
jamesaoverton File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
This is fine.
But just FYI, it would also be possible to make ROBOT compile against the new OWLAPI without having to drastically bump the versions of the logging libraries (Logback and Log4-over-SLF4J): simply add an explicit dependency to
org.slf4j:slf4j-api
version 1.7.x.The reason the build fails if we do not update the logging libraries is because the OWLAPI declares a dependency to
org.slf4j:slf4j-api
2.x. ROBOT “inherits” that dependency (since it depends on the OWLAPI), so when we build therobot.jar
archive, that archive ends up containing a copy of theslf4j-api
2.x (inherited from the OWLAPI) and a copy of Logback-classic (explicitly declared here as a direct dependency) — and those two versions are not compatible.But SLF4J-API is strictly backwards compatible. Just because the OWLAPI declares it depends on
slf4j-api
>= 2.x does not mean it cannot work withslf4j-api
1.x.So we could explicitly declare
slf4j-api
1.7.x as a direct dependency of ROBOT here (alongside Logback-classic and Log4J-over-SLF4J). We would then end up with arobot.jar
archive containing only versions of logging libraries that are compatible with each other (SLF4J-API < 2 and Logback-classic < 1.3).Not saying that we should do that, of course. It is perfectly fine to bump to Logback-classic 1.3 and Log4J-over-SLF4J 2.0. Just mentioning the other possibility.
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.
Oh thanks @gouttegd I didnt know that!
@jamesaoverton what is your preference? Bumping versions up, or adding this additional (transitive) dependency as a constraint?
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.
Thanks @gouttegd for the explanation.
I despise Java logging, which may be clouding my judgement. But I think the simplest thing is just to bump these two dependencies to their latest versions:
This built and passed the test suite for me locally, so I don't see the benefit of adding yet another dependency (
slf4j-api
) that I don't understand. If I misunderstood something, please let me know.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.
I just spent the last 24 hours debugging issues caused by Java logging libraries, so… I share your feeling! :)
Just that ROBOT is already dependent on
slf4j-api
– it’s just that currently that dependency is an indirect one.But I fully agree that adding the explicit dependency on
slf4j-api
just to avoid bumpinglogback-classic
andlog4-over-slf4j
would have no particular benefit in ROBOT’s case. It would only be useful if for some reason we wanted to keep using older versions of those libraries.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.
The slf4j upgrade has been removed. Only the logback upgrade remains now.