Skip to content

Implement a PypiLayoutProvider #810

@carlspring

Description

@carlspring

Task Description

We need to implement a layout provider which handles the logic of managing PyPi artifacts. Most of this functionality should be implemented as part of the layout provider.

The code should be located in a class called PypiLayoutProvider under strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-pypi-layout-provider/src/main/java/org/carlspring/strongbox/providers/layout.

As a reference you can have a look at:

Make sure you register the User-Agent via the register() method. (As a reference you'll need to take a look at one of the layout providers listed above).

Task List

The following classes will need to be implemented:

  • org.carlspring.strongbox.providers.layout.PypiFileSystem
  • org.carlspring.strongbox.providers.layout.PypiFileSystemProvider
  • org.carlspring.strongbox.providers.layout.PypiLayoutProvider
    • Figure out how to implement isArtifactMetadata(RepositoryPath path)
    • Figure out how to implement isMetadata(RepositoryPath path)
  • org.carlspring.strongbox.repository.PypiRepositoryFeatures
  • org.carlspring.strongbox.repository.PypiRepositoryManagementStrategy
  • org.carlspring.strongbox.storage.repository.PypiRepositoryFactory

The implementations for the analoguous classes in the strongbox-storage-npm-layout-provider could serve as an example and could be copied with minor modifications.

Useful Link

Task Relationships

This task:

See Also:

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions