Skip to content

0.8.0

Compare
Choose a tag to compare
@SgtSilvio SgtSilvio released this 16 Mar 15:27
· 329 commits to main since this release

🌟 Features

  • Added support for multiple tags on an OCI image dependency
    • Existing APIs for a single tag:
      • .tag("tag1")
      • .tag(provider { "tag1" })
    • Additional APIs for multiple tags:
      • .tag("tag1", "tag2")
      • .tag(setOf("tag1", "tag2"))
      • .tag(provider { setOf("tag1", "tag2") })
    • All above APIs can be called in a chain multiple times, for example .tag("tag1").tag("tag2", "tag3")
    • "." is a placeholder for the default tag of the dependency, for example .tag(".", "latest") keeps the tag and additionally adds a latest tag (previously this was only possible by declaring the dependency twice, once without any call to tag and secondly with .tag("latest"))
  • Added command line options registry, url, credentials for tasks of type OciPushTask:
    • --registry: Pushes to the registry defined with the specified name in oci.registries.
    • --url: Pushes to the specified registry URL.
    • --credentials: Authenticates to the registry using the credentials with the specified id.
  • Added push{imageDefinitionName}OciImage tasks of type OciPushSingleTask for every image definition (task name is pushOciImage for the main image definition) with command line options:
    • --name: Names the image. If not specified, the imageName defined in the image definition is used.
    • --tag: Tags the image. Option can be specified multiple times. The value . translates to the imageTag defined in the image definition. If not specified, the imageTag defined in the image definition is used.
  • Added OciRegistry.optionalCredentials()

✨ Improvements

  • Improved syntax for adding constraints to OciImagesDependencies (similar to Gradle's strongly-typed dependencies block)
    • constraint(DependencyConstraint)
      add(DependencyConstraint)
    • constraint(CharSequence)
      add(constraint(CharSequence))
    • constraint(Project)
      add(constraint(Project))
    • constraint(Provider<MinimalExternalModuleDependency>)
      add(constraint(Provider<MinimalExternalModuleDependency>))
    • constraint(ProviderConvertible<MinimalExternalModuleDependency>)
      add(constraint(ProviderConvertible<MinimalExternalModuleDependency>))
    • New APIs:
      • add(DependencyConstraint)
      • add(DependencyConstraint, Action<in DependencyConstraint>)
      • add(Provider<out DependencyConstraint>)
      • add(Provider<out DependencyConstraint>, Action<in DependencyConstraint>)
      • Factories for dependency constraints:
        • constraint(CharSequence)
        • constraint(Project)
        • constraint(Provider<out MinimalExternalModuleDependency>)
        • constraint(ProviderConvertible<out MinimalExternalModuleDependency>)

🐞 Bug fixes

  • Fix possible layer corruption during download because of invalid retries after partial data has already been received
  • Fix compatibility with Configuration Cache (java.time.Instant could not be serialized)

ℹ️ Miscellaneous

  • Updated dependencies