All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
- Upgraded JDK minimum release to 11 and ensured support for JS checks in java 17 and 21 using graaljs engine.
- issue #100 renamed
ordinal
private field inSeverity
to avoid conflict/confusion with Java Enumordinal()
accessor.
- issue #79 refactored ExpectPaths and ExpectAces checks to account for delayed SlingInstallable effects.
- issue #59 provide a default, empty resource bundle for a SimpleProgressCheck extension when a bundle cannot be found for the returned resource bundle name.
- issue #77 added pom-type-transitive dependency resolution to oakpal-maven-plugin to fix support for groovy-all pom dependency
- issue #82 make explicit session.save() call after every repoinit script execution to dispatch ACL creation
- Duplicated OakMachineCaliperTest as an IT to re-run end-to-end test against shaded jar
- Added missing shade include for felix.cm.file.ConfigurationHandler.
- Added Sling simulation behavior with specific ProgressCheck handling for Embedded Packages, RepositoryInitializer (repoinit) scripts, and OSGi Configurations in sling:OsgiConfig nodes, plus .cfg.json, .config, and .properties/.cfg file formats.
- CLI and maven-plugin execution support specifying runModes to simulate effects on JCR Installer behavior.
- Added caliper content-package module structure to provide a common basis for oakpal self-test functionality in the future. The intention is for it eventually to drive at least one example of every event expressible to a ProgressCheck by the OakMachine.
- Added subpackage and embedded package sorted installation similar to BEST_EFFORT DependencyHandling behavior to give some expectation and control of predictable install order.
- Added repoinit support for init stages adapted from plans and checklists.
- OakMachine now skips subpackage extraction based on SubPackageHandling.
- API extracted to net.adamcin.oakpal.api package in new oakpal-api module for tighter dependency control, requiring a major version bump.
- @ProviderType and @ConsumerType annotations added to interfaces in exported packages
- Added setResourceBundle() method to ViolationReporter interface and default implementations to support future i18n enhancements.
- Added SimpleViolation.builder() with easy support for formatting violation description with MessageFormat.format(), using withArguments() builder method.
- Migrated CompositeStoreAlignment check from ACS AEM Commons because of unavoidable tight-coupling to oak-core-spi classes.
- Added --plan-file, --plan-file-base, and --extend-classpath CLI parameters
- Added overload with default implementation for ProgressCheck.importedPath() that accepts new PathAction enumerator type. Other signature now deprecated.
- Moved Violation.Severity enumerator to top-level type because 1) I wanted to and 2) the API extraction made this a convenient time to do it.
- JSON Config keys are now managed in child interface types with @ProviderType annotations to avoid major version bumps when adding config constants.
- #38 modified pom to upload cli dist binaries to releases.
- #39 add --no-hooks cli option
- #50 Provide CLI dist with Windows binary launcher
- ExpectAces ACE criteria now correctly trims around parameter names
- #35 copied InstallHookPolicy details to scan goal doc
- #37 switched to jar checksums for opear cache folder names.
- Added
severity
config parameter to ExpectPaths and ExpectAces checks - Added
principals
config parameter to ExpectAces check as multi-valued alternative to single-valueprincipal
param. - Added
principal=
key to allowed ACE criteria syntax in the ExpectAces check to allow per-ACE override ofprincipal
config parameter.
- Upgraded oak dependencies to 1.18.0, Jackrabbit to 2.18.3, and FileVault to 3.4.0.
- #18 Added CI builds for windows and mac osx.
- Added ExpectPaths and ExpectAces checks to core.
- Added SubackageSilencer to OakMachine and silenceAllSubpackages param to oakpal:scan.
- #20 resolved windows test failures
- Added timer logic to basic/echo check to assist in performance testing
- CLI didn't correctly redirect System.out to System.err for scan execution.
- bnd-baseline-maven-plugin has been added to core and webster modules to enforce semantic versioning of the API.
- Added runtime options to cli (--store-blobs) and maven plugin (-DstoreBlobs) to trade higher memory usage for lower I/O overhead.
- CLI now redirects System.out to System.err before loading progress checks.
- CLI and maven plugin no longer cache blobs by default.
- Module README.md files now used as source for about / index.html for maven-site-plugin.
- #16 relocated default target files under single oakpal-plugin folder
- #17 eliminated oakpal-core transitive dependencies and duplicates from embedded libraries
- Added oakpal-cli and Dockerfile
- Introduced blob caching for cli and maven execution by default
- 100% test coverage uncovered several bugs which have been fixed
- Removed aem and interactive modules