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

Improve our checksum support for Maven metadata #1818

Open
6 tasks
carlspring opened this issue Jul 31, 2020 · 8 comments · May be fixed by strongbox/strongbox-web-ui#49 or #1974
Open
6 tasks

Improve our checksum support for Maven metadata #1818

carlspring opened this issue Jul 31, 2020 · 8 comments · May be fixed by strongbox/strongbox-web-ui#49 or #1974
Assignees
Labels
feature GraceHopperOSD Issues suitable for the Grace Hopper 2020 hackfest in progress work is in progress

Comments

@carlspring
Copy link
Member

carlspring commented Jul 31, 2020

Task Description

We should improve our support for checksums for maven-metadata.xml files. This seems to be a problem for Gradle artifacts and there is now support for sha256 and sha512 in Gradle. Maven Central (running on Nexus 2.x) now supports this.

Tasks

The following tasks will need to be carried out:

  • It should be possible to configure what checksums are enabled for a Maven repository.
  • It should be possible to configure what checksums are enabled for all Maven repositories.
  • It should be possible to configure the checksum options via the UI.
  • Review what changes will be required to AbstractLayoutProvider.getDigestAlgorithmSet() or the Maven2LayoutProvider and apply the necessary fixes.
  • Re-work the org.carlspring.strongbox.services.impl.ArtifactMetadataServiceImpl and org.carlspring.strongbox.cron.jobs.RebuildMavenMetadataCronJob.
  • Add UI for these settings.

Task Relationships

This task:

Help

@carlspring carlspring added feature help wanted hacktoberfest Pre-selected issues for Hacktoberfest GraceHopperOSD Issues suitable for the Grace Hopper 2020 hackfest labels Jul 31, 2020
@sainalshah
Copy link
Member

@carlspring I can work on this task.

@carlspring
Copy link
Member Author

Hi @sainalshah ,

Feel free to do so, if you think that the current task is clear enough.

@sainalshah
Copy link
Member

@carlspring Can I clarify whether the UI changes in strongbox-web-ui are part of this task, or I just need to ensure that the checksum request could be updated from UI?

My understanding is, I could define the supported list of checksums in Maven2LayoutProvider class and per repository configuration could be retrieved from RepositoryData. Whenever the metadata is built/ rebuilt, the checksum would be updated as well. I still have to see how everything connects together though. Please let me know if I'm missing something.

@steve-todorov
Copy link
Member

steve-todorov commented Nov 27, 2020

@sainalshah the frontend part is located in the strongbox-web-ui project and the backend part is at strongbox/strongbox. What @carlspring meant was that when you go in the UI at the Storages module and attempt to add/update a Repository - there should be a checkbox or a dropdown for this.

I'm unsure if you should be able to select one or both checksum options @carlspring ?

@carlspring
Copy link
Member Author

carlspring commented Nov 28, 2020

I think there should be checkboxes for these. By default, all four (md5, sha1, sha256 and sha512) should be enabled.

@carlspring
Copy link
Member Author

@sainalshah ,

How're things going?

@sainalshah
Copy link
Member

I implemented some of the logic, but faced some difficulty when it came to implementing the test cases. Since it's my first time touching this part of the codebase, it's taking bit long for me. Plus I was bit busy these days.

@carlspring
Copy link
Member Author

carlspring commented Dec 19, 2020

Sure, no problem! Let us know, if you have any problems, or questions. Good luck! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature GraceHopperOSD Issues suitable for the Grace Hopper 2020 hackfest in progress work is in progress
Projects
None yet
3 participants