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

OCFL 2.1.0 and Update CI #60

Merged
merged 13 commits into from
Jul 2, 2024
Merged

OCFL 2.1.0 and Update CI #60

merged 13 commits into from
Jul 2, 2024

Conversation

mikejritter
Copy link
Contributor

JIRA Ticket: https://fedora-repository.atlassian.net/browse/FCREPO-3946

What does this Pull Request do?

  • Add gitattributes
  • Updates ocfl-java to 2.1.0
  • Other dependency updates where applicable
  • Removed unused dependencies
  • Update ci to run on Windows
  • URLEncode paths to allow writing of result files and reports on Windows
  • Minor qol updates for formatting/styling

What's new?

OCFL 2.1.0
The dependency update for ocfl 2.1.0 were the main goal of this. This is to bring the migration validator in line with the migration-utils, which it uses when iterating over the Fedora 3 repositories.

The other dependency changes I don't believe had any changes required, with the exception of adding logback-classic in order for the slf4j update to work properly.

CI Update
I updated the ci configuration as well which had some other cascading changes. Notable adding Windows to the build matrix caused many tests to fail. Paths containing colons and other characters were one source of failure, which was resolved by URLEncoding the paths before writing (this is the same approach the migration-utils takes, though I'm not sure if it only applies it on Windows or not).

Line endings in the test data were also causing failures which was resolved by adding a .gitattributes. It might be better to remigrate the test data, however annoying that may be, but the attributes seem to work well enough. I had to enumerate each file and set the type to binary so that no attempt to change them would be made.

Other changes are fairly minor, e.g. wrapping a Stream in a try-with-resources, fixing the class name for a logger, etc. Little qol things that I figured I'd get while I can.

How should this be tested?

  • Run the tests as a sanity check: mvn clean verify
  • Migrate a dataset, e.g.
java -jar target/migration-utils-6.5.0-SNAPSHOT-driver.jar -t legacy -d /data/fedora/migration/brown-single/repoarchive/ -o /data/fedora/migration/brown-single/repostore/ -a /data/fedora/migration/fedora6-brown-single -i work/
  • Run the migration validator, e.g.
java -jar target/fcrepo-migration-validator-1.3.0-SNAPSHOT-driver.jar -s legacy -d /data/fedora/migration/brown-single/repoarchive/ -o /data/fedora/migration/brown-single/repostore/ -c /data/fedora/migration/fedora6-brown-single/data/ocfl-root -r results

Additional Notes:

It would be good to run this on Windows as well, I only did in on Linux against a single object dataset.

Interested parties

@fcrepo/committers

Copy link
Contributor

@whikloj whikloj left a comment

Choose a reason for hiding this comment

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

👍 builds and worked on a 10 object subset of the brown dataset.

@whikloj whikloj merged commit ebbe7d0 into fcrepo-exts:main Jul 2, 2024
5 checks passed
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.

2 participants