Releases: wttech/gradle-aem-plugin
Hotfix Release 3.0.6
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
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
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
What's new
- #124 edge case covered while running
aemSatisfy(retrying install enabled by default).
Upgrade notes
Nothing to do.
Release 3.0.2
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
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
aemEmbedandaemInstalldependencies resolution moved to execution phase, as a consequence new plugin introducedcom.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=trueinstead of removedaemDistribute) - #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.gsh 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 aemDeployRemoved 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
What's new
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
What's new
- supported various OSGi related plugins (official
osgi, 3rd party:biz.aQute.bnd.builder,org.dm.bundleand 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.
- Update OSGi related plugin
apply plugin: 'org.dm.bundle'->
apply plugin: 'biz.aQute.bnd.builder'- Update
bundlesection
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"
])
}
}- 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'