Skip to content

v6.0.0 - Gradle Configuration Cache Support

Latest

Choose a tag to compare

@mpern mpern released this 25 Jun 13:29
36ff3a7

Changed

  • Both plugins are now fully compatible with the
    Gradle configuration cache (#107)

    • manifest.json and hybris/bin/platform/build.number are tracked as configuration inputs via
      providers.fileContents; the cache is invalidated automatically when either file changes
    • All task types (GlobClean, HybrisAntTask, UnpackPlatformSparseTask, GenerateLocalextensions,
      PatchLocalExtensions, ValidateManifest) are annotated with @DisableCachingByDefault or @CacheableTask
      as appropriate
  • BREAKING CCv2Extension.manifest is now a Provider<Manifest> instead of a direct Manifest object (#107)

    Anywhere you previously accessed manifest data directly, you must now either use .map { } to derive a lazy value,
    or call .get() inside a task action:

    // before (5.0.x / 5.0.2)
    val ver = CCV2.manifest.effectiveVersion
    
    // after - lazy via .map { }
    val ver: Provider<String> = CCV2.manifest.map { it.effectiveVersion }
    
    // after - resolve in doLast
    tasks.register("example") {
        val manifest = CCV2.manifest
        doLast { logger.lifecycle("Version: {}", manifest.get().effectiveVersion) }
    }

    Additional details in the docs

  • BREAKING Minimum required Java version bumped from 17 to 21

Fixed

  • Task ordering issues related to cleanPlatform. unpack* tasks will now always run after cleanPlatform;
    cleanPlatformIfVersionChanged will be skipped.