3.0.0
Version 3.0.0 of ml-gradle brings some new capabilities, particularly based on version 4.x of the MarkLogic Java Client API, but it also has some breaking changes from version 2.x, primarily based on some package reorganization in its dependent libraries.
New features:
- Support for common ad hoc tasks across large numbers of documents via DMSDK
- New and flexible file loading via REST API, optionally using new DMSDK in ML9
- See the 3.0.0 release of ml-app-deployer for new features as well, which includes a number of new properties added to the Property reference page.
- Full list of issues (note that ml-gradle has relatively few new issues; most of the work in this release was done in ml-app-deployer)
Breaking changes:
- Some packages have been reorganized in ml-app-deployer, which is the library that ml-gradle uses for communicating with the Management REST API.
- And a lot of packages have been reorganized in ml-javaclient-util, which is the library that ml-gradle and ml-app-deployer use for loading modules into MarkLogic, among other things.
- See How modules are loaded for a change in how modules in "unrecognized" directories are handled. Note that it's best to put asset modules into either "ext" or "root", and you won't be affected by this change in behavior.
Here's the likely impact of those breaking changes (if you haven't made custom Gradle tasks, it's very likely that you're not affected at all):
- You may have custom Gradle tasks that import/use *Manager classes from ml-app-deployer - the import statements will need to be changed as they're most likely importing the classes from the 2.x location and not the 3.x location. Generally, that change will be along the lines of importing from "com.marklogic.mgmt.resource.(resource type)" instead of "com.marklogic.mgmt.(resource type)".
- You may also have Gradle tasks that directly access classes from ml-javaclient-util - those will need their import statements updated as well. See the release notes for ml-javaclient-util for more information.