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

Feature/platform variants #15

Merged
merged 147 commits into from
Jul 18, 2024
Merged

Feature/platform variants #15

merged 147 commits into from
Jul 18, 2024

Conversation

SgtSilvio
Copy link
Owner

No description provided.

SgtSilvio added 30 commits July 18, 2024 12:34
- Added platform attribute (universal, multiple, or specific platform)
- Added OciMetadata that will replace OciComponent(.Bundle)
- Refactored OciImageDefinitionImpl to create variants for each platform
- Refactored OciRepositoryHandler and OciComponentRegistry to create variants for each platform
- Request multiple platforms in ResolvableOciImageDependenciesImpl
- Added PlatformAttributeCompatibilityRule
- Rename OciComponentRegistry -> OciMetadataRegistry
- Filter out unknown,unknown platform in OciMetadataRegistry
- Remove filter for unknown,unknown platform in OciMetadataRegistry
- Instead, filter out when encountering an unexpected media type in any descriptor (manifest, config, layers)
- Do not fail on encountering an unexpected media type in descriptors, only require specific media types in the referenced json data
- Remove @ character from Platform.toString, explicitly add it when required
- Add createPlatformPostfix function
- Rename ResolvableOciImageDependencies.Reference -> ReferenceSpec
- Add String.toPlatform
- WIP OciVariantResolver
- WIP OciVariantResolver
- WIP OciVariantResolver: ignore unresolved dependencies instead of failing (let the file resolution fail)
- WIP OciVariantResolver
- WIP OciVariantResolver
- WIP OciVariantResolver
- WIP OciVariantResolver: use only top level functions, pass states as parameter
- WIP OciVariantResolver: cleanup code order
- WIP OciVariantResolver: remove OciVariantNode.SinglePlatformOrUniversal
- WIP OciVariantResolver: cleanup code order
- WIP OciVariantResolver: add resolveOciVariantImages, rename every "state" to "node"
- WIP OciVariantResolver: add createArtifactViewComponentFilter
- WIP OciVariantResolver: add lazy ArtifactViewComponentFilter
- WIP OciVariantResolver: remove CyclicIterator as ArtifactViewComponentFilter is one-time-use only
- WIP OciVariantResolver: move ArtifactViewComponentFilter to own file
- WIP OciVariantResolver: format
- Improve Project/ExternalDependencyDescriptor
- WIP OciVariantResolver: add reference specs
- Improve Project/ExternalDependencyDescriptor
- Readd CyclicIterator for ArtifactViewComponentFilter
SgtSilvio added 27 commits July 18, 2024 12:34
old:
/ -> $1
$ -> $0
new: optimizes for nice escaping of slashes that are almost always part of the registryUrl and imageName, while '*' is less common
/ -> *
* -> $1
$ -> $0
…ATTRIBUTE_VALUE=multi

Rename OciVariantNode.MultiplePlatforms -> MultiPlatform
Change internal -> public: OciMultiPlatformImage, OciImage, OciVariant, OciLayer
Add OciExtension.platformSelector
Add OciImagesTask.platformSelector
Add OciImagesTask command line option --platform
Use PlatformSelector in OciImageInput/SpecResolution.kt
@SgtSilvio SgtSilvio force-pushed the feature/platform-variants branch from 7197743 to 8ae62d6 Compare July 18, 2024 10:48
@SgtSilvio SgtSilvio merged commit 68ee969 into main Jul 18, 2024
1 check passed
@SgtSilvio SgtSilvio deleted the feature/platform-variants branch July 18, 2024 11:01
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.

1 participant