Skip to content
rjrudin edited this page May 1, 2017 · 45 revisions

Welcome to the ml-gradle Wiki!

The page you're most likely to start with here is the Getting Started guide.

Otherwise, checkout the FAQ below and all the other pages in the index on the right.

Frequently Asked Questions

Where should I start to learn ml-gradle?

Start with the Getting Started guide mentioned above.

But how does ml-gradle really work?

See How ml-gradle works.

How do I override properties for local development or some other environment?

See this project for an example of using the Gradle properties plugin for customizing properties for local development and any other environment.

What are all the different ways to configure ml-gradle?

See Configuring ml-gradle.

What are all the properties that ml-gradle looks for?

See the Property Reference.

How are the tokens set in configuration files?

The mlAppConfig.customTokens property in a build.gradle file translates to the customTokens Map on an instance of AppConfig in ml-app-deployer. For more information, see the ml-app-deployer Wiki page.

How do I add a new resource or transform?

See Creating a new resource and Creating a new transform.

How do I add a new set of search options?

You can put a search options file at src/main/ml-modules/options, and when you run "mlLoadModules", ml-gradle will automatically load each xml/json file in that directory. Each options file will then be available at /v1/config/query/(name of options file minus extension), as defined in the Client REST API docs. See the Search API docs for instructions on how to create a search options file.

How do I perform a deployment in an environment that doesn't have access to my dependency repositories?

The disconnected-project build file shows a non-ml-gradle-specific way of creating a package that can be used for offline/disconnected depoyments that don't depend on any repositories.

Do the names of configuration files matter?

They only matter for ordering purposes when ml-gradle processes each file in a directory. And so far, that only matters for roles - since a role can depend on another role, it's important that you can use the file name to control the order in which each file is processed (and the order is alphabetic). Otherwise, the name of the file has no bearing at all on what's actually sent to the management REST API - the contents of the file are what's read in and sent in the request.

How do I extend ml-gradle?

The easiest way to extend what ml-gradle can do is by writing your own commands and writing your own tasks.

Clone this wiki locally