Skip to content

Releases: wttech/gradle-aem-plugin

Hotfix Release 3.0.6

27 Feb 12:08

Choose a tag to compare

Warning!

Since 3.0.0 version up to 3.0.5 CRX packages being built could not always have incrementally built bundles / jar files compiled from project sources.

It is strongly recommended to update plugin to 3.0.6 or remain using 2.0.19

What's new

  • implemented a hotfix resolving #130

Upgrade notes

Nothing to do.

Release 3.0.5

20 Feb 07:26

Choose a tag to compare

What's new

#129 minor retry improvements (fixed counter, lesser default retry times / more valid on happy path development)

Upgrade notes

Nothing to do.

Release 3.0.4

19 Feb 12:15

Choose a tag to compare

What's new

If your Java configuration looks like below (contains such lines):

    plugins.withId 'java', {

        sourceCompatibility = 1.8
        targetCompatibility = 1.8

        def compileOptions = {
            options.encoding = "UTF-8"
            options.compilerArgs << '-Xlint:deprecation'
            options.incremental = true
        }

        compileJava compileOptions
        compileTestJava compileOptions

        sourceSets {
            test.compileClasspath += configurations.compileOnly
            test.runtimeClasspath += configurations.compileOnly
        }

        test.classpath += project.files(jar.archivePath)
    }

Now it could be removed, because plugin com.cognifide.aem.bundle is setting it by default. Still you could customize your values as previously. This defaults are fixing popular issues like availability of SCR metadata in unit tests, correct Java version (AEM is supporting 1.8 as of now), verbosity of compile deprecation warnings (by default they are a little bit hidden).

Upgrade notes

Nothing to do. No breaking changes.

Release 3.0.3

16 Feb 13:38
6bed9c3

Choose a tag to compare

What's new

  • #124 edge case covered while running aemSatisfy (retrying install enabled by default).

Upgrade notes

Nothing to do.

Release 3.0.2

15 Feb 12:25

Choose a tag to compare

What's new

  • #122 retries mechanism for failing package upload and/or install

New config options available (below presented defaults):

aem {
    config {
        uploadRetryTimes = 6
        uploadRetryDelay = 30000
        installRetryTimes = 0
        installRetryDelay = 30000
    }
}

Upgrade notes

Nothing to do.

Release 3.0.0

08 Feb 07:44

Choose a tag to compare

What's new

  • automated quickstart https://github.com/Cognifide/gradle-aem-example#quickstart (wttech/gradle-aem-multi#16 ) based on Gradle Fork Plugin
  • #54 reloading any type of AEM instances by new task aemReload
  • #116, #119 build speed increased due to aemEmbed and aemInstall dependencies resolution moved to execution phase, as a consequence new plugin introduced com.cognifide.aem.bundle
  • #115 satisfying OSGi bundles (automatic wrapping bundles to CRX packages with a possibility to distribute it later)
  • #17, #117 activating satisfied CRX packages (aemDeploy -Paem.deploy.distributed=true instead of removed aemDistribute)
  • #114 shorthand param for deploying only to authors or publishers
  • most of behavior related AEM config options inside aem { config { } } section now can be overridden by command line parameter, e.g sh gradlew :aemDeploy -Paem.deploy.parallel=false -Paem.deploy.connectionTimeout=10000 -Paem.upload.force=false

Upgrade notes

OSGi bundle projects

Now projects which contains sources from which OSGi bundle is being generated should have applied plugin com.cognifide.aem.bundle instead of com.cognifide.aem.package. This new plugin is under the hood applying plugins: com.cognifide.aem.package and java. It is also configuring BND tool by its own so there is no need to apply this plugins separately (applying them could even break the build!).

apply plugin: 'java'
apply plugin: 'biz.aQute.bnd.builder'	
apply plugin: 'com.cognifide.aem.package'

->

apply plugin: 'com.cognifide.aem.bundle'

Projects that are not containing Java sources should still only apply plugin com.cognifide.aem.package.

Removed task aemBuild

Now task aemDeploy just depends on aemCompose so that this task is completely redundant. To build and deploy AEM package simply run:

sh gradlew -i aemDeploy

Removed task rule aem<ProjectPath>Build

This uniquely named tasks per projects was confusing for plugin users and supposed to enforce bad habits. Instead, decided to encourage plugin users to use fully qualified tasks and learn Gradle basic by the way.

Removed task aemDistribute

This task is removed as a consequence of #117 . Now aemSatisfy could activate dependencies installed on author instance.

Instead simply run command:

sh gradlew -i aemDeploy -Paem.deploy.distributed=true`

or enforce this type of deployment to all commands, so that this parameter could be skipped

aem {
    config {
        deployDistributed = true // default = false
    }
}

Release 2.0.19

10 Jan 07:51
666de2c

Choose a tag to compare

What's new

  • Await improvements #106, #105, #67
  • New config abilities:
aem {
    config {
        awaitFail = true
        awaitCondition = { it.stable }
        awaitAssurances = 1
    }
}

To cover edge case, for instance, when for security reasons WebDav bundle need to be disabled, then below configuration might be useful:

aem {
    config {
        awaitCondition = { it.bundleState.activeIgnoring("org.apache.sling.jcr.webdav") }
    }
}

Upgrade notes

Only behavior of aemAwait changed. Now if there are unstable instances detected, then build will fail. Previously build just logged warning and finally proceeds to next task or end with success.
To reflect previous behavior while using newer version of plugin, then config parameter must be tuned:

aem {
    config {
        awaitFail = false
    }
}

Release 2.0.18

05 Jan 07:29
01d2b94

Choose a tag to compare

What's new

  • supported various OSGi related plugins (official osgi, 3rd party: biz.aQute.bnd.builder, org.dm.bundle and others)
  • SCR metadata in unit tests working properly by default: #95 , #104
  • Unit test demonstrating testing OSGi services, AEM pages, Sling repository added to example project

Migration

Below steps are optional, but they are recommended, because plugin biz.aQute.bnd.builder seems to be more stable and feature rich than discontinued org.dm.bundle.

  1. Update OSGi related plugin
apply plugin: 'org.dm.bundle'

->

apply plugin: 'biz.aQute.bnd.builder'
  1. Update bundle section
bundle {
    def pkg = 'com.company.aem.example.core'

    instruction 'Bundle-SymbolicName', pkg
    instruction 'Sling-Model-Packages', pkg
    instruction 'Export-Package', "$pkg.*;-split-package:=merge-first"
}

->

jar {
    def pkg = 'com.company.aem.example.core'

    manifest {
        attributes([
                'Bundle-SymbolicName': pkg,
                'Sling-Model-Packages': pkg,
                'Export-Package': "$pkg.*;-split-package:=merge-first"
        ])
    }
}
  1. Update buildscript section (gradle/buildscript.gradle)
  classpath 'org.dm.gradle:gradle-bundle-plugin:0.10.0'

->

 classpath 'biz.aQute.bnd:biz.aQute.bnd.gradle:3.5.0'

Release 2.0.17

03 Jan 08:34

Choose a tag to compare

What's new

  • VLT execution error now affects build status (causes build failure) #91, #102
  • refactorings #100

Release 2.0.16

23 Dec 09:16
f81178b

Choose a tag to compare

What's new

  • AEM instance JAR file name constraint relaxed #98 , #75
  • Vault -Paem.vlt.filterRoots= precedence #94