-
Notifications
You must be signed in to change notification settings - Fork 531
Extended io.gdcc.dataverse-spi (ExportDataProvider) interface #11767
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
Conversation
|
I made this pull request: It won't fix the |
|
@qqmyers @poikilotherm The approach I am using currently: all the methods in ExportDataProvider have been made to accept an optional ExportDataContext, as in In order to use any of the newly added options, an exporter will do something like but none of the already implemented exporters that are currently relying on I am very flexible on all this. I have working code in a separate branch that relies on this current implementation; but it should be trivial to change it in whatever way necessary if we end up implementing it differently. And I do want to invest into implementing it in a most optimal way. I'm not super attached to the "context" concept above (my first implementation was via individual, multiple ExportDataOptions - ExportDataOption.java is still checked in for reference). Do we want the implementation to provide more information about the options currently supported? - This would potentially allow an exporter jar built using dataverse-spi version N to be able to both use some new options in that version, and to work with older Dataverses still using dataverse-spi prior to v. N; i.e., before requesting the Once again, I'm open to, and appreciate any feedback and suggestions. |
make dataverse-spi snapshots possible, add docs for publishing snapshots from local
| * export plugins. | ||
| */ | ||
| @Deprecated | ||
| public class ExportDataOption { |
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.
Looks like this is a new unused class. Instead of Deprecating why not just remove it?
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 saw your comment (ExportDataOption.java is still checked in for reference). I don't think checking in unused code is good. Also, there are no tests included. Does this lower the code coverage? I'm not sure if code not under src/ is included in code coverage.
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.
@stevenwinship Thanks for reviewing this. Unfortunately, I missed your comments above yesterday. Yes, it would have been ideal to remove this before merging. I may make a quick followup pr removing it, before the interface jar is published on maven central.
And yes, I only left it in place for the sake of showing the reviewers an alternative implementation I first tried.
stevenwinship
left a comment
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.
Approving since this can't be tested by itself and doesn't pose any issues for dataverse backend.
|
merging |
|
https://github.com/IQSS/dataverse/actions/runs/18596172556 Merge pull request #11767 from IQSS/11766-new-io.gdcc.dataverse-spi #69 failed |
OK, you didn't really mean #69, I see. I was royally confused by this at first. |
|
@landreev sure, happy to help. Judging from https://repo1.maven.org/maven2/io/gdcc/dataverse-spi/ and this PR you want the next release to be 2.1.0. I'm seeing this failure at https://github.com/IQSS/dataverse/actions/runs/18596172556/job/53023163304
At minimum we should change these: I had to iterate quite a bit in the Croissant repo but we don't have many rules there. I force pushed to main several times. I can make a PR and we can merge it and then repeat until it's fixed, I guess. We might end up with a version higher than 2.1.0 though. This module seems a bit different than Croissant where we have Anyway, let me make a PR with what I think we should do. Obviously, if @poikilotherm is around, he'll know better! 😅 |
|
@landreev I made a PR: Please take a look! Happy to discuss! |
What this PR does / why we need it:
I need additional mechanisms in the ExportDataProvide interface to implement the improvements in #11405 (primarily in the DDI exporter). This interface is maintained in the main source tree, but for the purposes of building Dataverse it is used as a standalone dependency package, io.gdcc.dataverse-spi. So, the changes to the interface need to be merged, and the new version of it published on maven central before I could make the final PR to close #11405.
Which issue(s) this PR closes:
Special notes for your reviewer:
Suggestions on how to test this:
I don't think there's a way to test this simple interface change by itself. This is an auxiliary PR that needs to be merged (and published) before I can make the main PR for #11405. Once that PR is made, the overall testing and QA will happen there.
Does this PR introduce a user interface change? If mockups are available, please link/include them here:
Is there a release notes update needed for this change?:
Additional documentation: