-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Change format for study definition to yaml #7126
Change format for study definition to yaml #7126
Conversation
Signed-off-by: Dominik Voigt <[email protected]>
Signed-off-by: Dominik Voigt <[email protected]>
a1027de
to
7728417
Compare
Signed-off-by: Dominik Voigt <[email protected]>
Houston, we have a problem in jlink: We somehow need to reduce our modules... |
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 like this a lot! Thanks 👍
src/main/java/org/jabref/logic/crawler/LibraryEntryToFetcherConverter.java
Outdated
Show resolved
Hide resolved
… StudyQuery.java Use hyphenated names in the yaml file Signed-off-by: Dominik Voigt <[email protected]>
Thanks for the feedback :) ! |
I like the goal of this PR but we then have the problem which I stated earlier with the generated module |
Yeah we probably cannot merge this until: https://bugs.openjdk.java.net/browse/JDK-8240567 is fixed This is the bug the link you provided points to :) |
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.
So we cannot use the jackson library? What about the other ones? Is there a well-maintend one that is compatible with the module system?
docs/adr/0019-keep-study-as-a-dto.md
Outdated
|
||
### Keep study as DTO and use transformators | ||
|
||
* Good, because makes GUI implementation probably easier down the 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.
For the GUI, you probably need a wrapper around the study class anyway (and then it doesn't matter where the data is coming from).
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.
So we cannot use the jackson library? What about the other ones? Is there a well-maintend one that is compatible with the module system?
Is this even related to jackson specifically? To me the amount of added modules seems to be problematic?
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.
My guess is that jackson has a long module list which gives this error. But it could also be that all of our dependencies together are already at the borderline, and adding jackson just tipped us over the limit - this would be really bad indeed.
Should be easy to test though...
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.
Yeah, I'll proceed with some testing now...
### Replace entries with instances | ||
|
||
* Good, because no need for database and query entries | ||
* Bad, because custom de-/serializers for fetchers and complex queries needed |
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.
That depends a bit on how complicated the custom serialization is. Since in the end you only need a map Fetcher <-> Name is needed, and such a conversion already exists.
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 problem with this is that we need to keep the set of deactivated databases somewhere in memory to serialize them again.
In the future, we can replace this with records so I don't think this replacement is necessary now?
Regarding the complexity de-/serialization I'm not sure myself.
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.
deactivated databases
That was actually something I was wondering about: why do you need to deactivate a fetcher (instead of simply removing it from the list)?
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 idea behind this is to document that certain databases/libraries are actively not searched instead for example just disregarded/forgotten.
This is just another aspect to make the search traceable.
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, then we leave it as it's right now using custom Query/LibareryEntrys!
Btw, you don't need to write an ADR for every implementation detail. Here it would have be perfectly fine to just add a comment outlining the advantages you see.
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 am aiming for creating a larger body of in-the-wirld ADRs to foster research on them. The example at hand can perfectly used to discuss the granularity of ADRs. - Thus, my wish is that the ADR is kept.
@tobiasdiez the problem is not the library itself, but the module itself. The jdk compiles all modules in a single class with a single method. |
Signed-off-by: Dominik Voigt <[email protected]>
Okay so after some testing I suspect that this is an overall problem with the length/size of the module list, as in the test repository the same error can be observed with apache-commons being used instead of Jackson: Apache Commons has no compile dependencies therefore the module list length cannot be a concern right?
Which would mean, as Tobias mentions, that we face a larger problem? |
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.
Small comments on the ADRs
Co-authored-by: Oliver Kopp <[email protected]>
Co-authored-by: Oliver Kopp <[email protected]>
Co-authored-by: Oliver Kopp <[email protected]>
Signed-off-by: Dominik Voigt <[email protected]>
…nikVoigt/jabref into replace-study-bib-with-yaml
Signed-off-by: Dominik Voigt <[email protected]>
Signed-off-by: Dominik Voigt <[email protected]>
Signed-off-by: Dominik Voigt <[email protected]>
try adding |
Co-authored-by: Oliver Kopp <[email protected]>
Signed-off-by: Dominik Voigt <[email protected]>
…nikVoigt/jabref into replace-study-bib-with-yaml
Signed-off-by: Dominik Voigt <[email protected]>
You could try again, we removed the graal dependency stuff, hope that helped |
Yeah, removing graal helped |
* upstream/master: Bump archunit-junit5-api from 0.15.0 to 0.16.0 (#7407) Bump classgraph from 4.8.98 to 4.8.102 (#7401) Bump archunit-junit5-engine from 0.15.0 to 0.16.0 (#7402) Bump mariadb-java-client from 2.7.1 to 2.7.2 (#7406) Bump org.beryx.jlink from 2.23.2 to 2.23.3 (#7400) Bump checkstyle from 8.39 to 8.40 (#7404) Ignore codecov status for automerge Fixes issue of Changing font size makes font size field too small (#7398) fix "Alt + keyboard shortcuts do not work" (#7379) Fixed invisible file path in the dark theme (#7396) Fix File Filter and some layout issues (#7385) Feature/implement complex queries (#7350) Change format for study definition to yaml (#7126) Fix handling of URL in file field (#7347) Fix expansion of bracketed expressions in RegExpBasedFileFinder (#7338)
This PR replaces the previous use of a
.bib
file for the study definition file with a.yml
(YAML) file.An example study definition in YAML format: