You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gradle is a standard build tool that is used for building and deploying primarily Java applications, but it can be used for any codebase. The full user guide for Gradle is available at http://www.gradle.org/docs/current/userguide/userguide.html.
4
+
Gradle is a standard build tool that is used for building and deploying primarily Java applications, but it can be used for any codebase.
5
+
The full user guide for Gradle is available at http://www.gradle.org/docs/current/userguide/userguide.html.
5
6
6
7
What is ml-gradle?
7
8
=========
8
-
ml-gradle is a [Gradle plugin](http://www.gradle.org/plugins"") that supports a number of tasks pertaining to deploying an application to MarkLogic and interacting with other features of MarkLogic via a Gradle build file. The bulk of the functionality provided by ml-gradle is actually in [ml-app-deployer](https://github.com/rjrudin/ml-app-deployer) - ml-gradle is just intended to be a thin wrapper around this library, exposing its functionality via Gradle tasks and properties.
9
+
ml-gradle is a [Gradle plugin](http://www.gradle.org/plugins"") that supports a number of tasks pertaining to deploying an
10
+
application to MarkLogic and interacting with other features of MarkLogic via a Gradle build file. The bulk of the
11
+
functionality provided by ml-gradle is actually in [ml-app-deployer](https://github.com/rjrudin/ml-app-deployer) - ml-gradle
12
+
is just intended to be a thin wrapper around this library, exposing its functionality via Gradle tasks and properties.
9
13
10
14
Why use ml-gradle?
11
15
=========
@@ -14,45 +18,37 @@ ml-gradle is a good fit for you and your team if:
14
18
1. You're using MarkLogic 8
15
19
2. You're using Gradle, or you're considering moving away from Ant/Maven/etc to Gradle to manage all of your build processes
16
20
3. You'd like to use a build tool that can manage the dependencies and execution of MarkLogic tools such as the Java Client API, mlcp, corb, recordloader, xqsync
17
-
4. You'd like to have a single all-purpose tool that allows you to define tasks to do anything you need to on your MarkLogic project, including tasks that have nothing to do with MarkLogic.
21
+
4. You'd like to have a single all-purpose tool that allows you to define tasks to do anything you need to on your MarkLogic project,
22
+
including tasks that have nothing to do with MarkLogic.
18
23
19
-
If you're currently using Ant or Maven and are wondering about Gradle, there are many comparisons of these tools on the Internet; I recommend making this shift. If you are using Ant, it's easy to invoke Ant tasks from Gradle. And if you can't move away from Maven, you can try [this Maven plugin for invoking Gradle](https://github.com/if6was9/gradle-maven-plugin).
24
+
If you're currently using Ant or Maven and are wondering about Gradle, there are many comparisons of these tools on
25
+
the Internet; I recommend making this shift. If you are using Ant, it's easy to invoke Ant tasks from Gradle. And if
26
+
you can't move away from Maven, you can try [this Maven plugin for invoking Gradle](https://github.com/if6was9/gradle-maven-plugin).
20
27
21
28
What are the main features of ml-gradle?
22
29
=========
23
30
1. Utilizes the new [Management REST API](http://docs.marklogic.com/REST/management) in MarkLogic 8 to configure and deploy all aspects of an application.
24
-
1. Can [watch for new/modified modules](https://github.com/rjrudin/ml-gradle/wiki/Watching-for-module-changes) and automatically load them for you, thus speeding up the code/build/test cycle
31
+
1. Can [watch for new/modified modules](https://github.com/rjrudin/ml-gradle/wiki/Watching-for-module-changes) and automatically
32
+
load them for you, thus speeding up the code/build/test cycle
25
33
1. Can run Content Pump, Corb, and other Java-based MarkLogic tools without having to copy jars around and worry about a classpath
26
-
1. Can treat packages of MarkLogic code as [true third-party dependencies](https://github.com/rjrudin/ml-gradle/wiki/Preparing-REST-API-dependencies), resolving them just like you would a dependency on a jar, as well as automatically loading such code into your modules database
34
+
1. Can treat packages of MarkLogic code as [true third-party dependencies](https://github.com/rjrudin/ml-gradle/wiki/Preparing-REST-API-dependencies),
35
+
resolving them just like you would a dependency on a jar, as well as automatically loading such code into your modules database
27
36
1. Can take advantage of [all the features of Gradle](https://docs.gradle.org/current/userguide/overview.html)
28
37
29
-
Can I use ml-gradle with Roxy?
30
-
=========
31
-
You bet! Starting with version 2.2.0, you can use "gradle mlWatch" to automatically load new/modified modules into the modules database of your Roxy application, and ml-gradle will substitute tokens based on Roxy properties as well. See [Loading modules in a Roxy project](https://github.com/rjrudin/ml-gradle/wiki/Loading-modules-on-a-Roxy-project) for more information.
32
-
33
38
How can I start using ml-gradle?
34
39
=========
35
-
First, please note the [Wiki and FAQ](https://github.com/rjrudin/ml-gradle/wiki) which have answers to many of the questions you'll have or run into soon.
36
-
37
-
Then, check out the [new Getting Started Wiki page](https://github.com/rjrudin/ml-gradle/wiki/Getting-started).
38
-
39
-
Exploring the sample projects
40
-
-----
40
+
First, check out the [new Getting Started Wiki page](https://github.com/rjrudin/ml-gradle/wiki/Getting-started).
41
41
42
-
To start customizing your application, your best bet is to examine the [sample-project application](https://github.com/rjrudin/ml-gradle/blob/master/examples/sample-project) in this repository (along with all the other sample projects in that directory). There are three primary things to examine:
42
+
Next, you may want to browse the rest of the [Wiki and FAQ](https://github.com/rjrudin/ml-gradle/wiki).
43
43
44
-
1. The [build.gradle file](https://github.com/rjrudin/ml-gradle/blob/master/examples/sample-project/build.gradle) provides examples of configuring and extending ml-gradle.
45
-
1. The [ml-config directory](https://github.com/rjrudin/ml-gradle/tree/master/examples/sample-project/src/main/ml-config) provides examples of many of the MarkLogic management resources currently supported by ml-gradle.
46
-
1. The [ml-modules directory](https://github.com/rjrudin/ml-gradle/tree/master/examples/sample-project/src/main/ml-modules) provides examples of the different kinds of modules that can be loaded (application modules are loaded via the MarkLogic Client REST API, not the Management REST API).
44
+
Then, have a look around the various [example projects](https://github.com/rjrudin/ml-gradle/tree/master/examples) to see
45
+
how different resources can be configured.
47
46
48
-
To try out the sample project, just do the following:
47
+
Finally, if you run into trouble, you can either submit an issue to this project or try asking a question
48
+
[on stackoverflow with marklogic as a tag](http://stackoverflow.com/questions/tagged/marklogic).
49
49
50
-
1. Clone this repository
51
-
1. cd examples/sample-project
52
-
1. gradle mlDeploy
53
-
54
-
For a new project - to quickly generate a useful set of configuration files, just run:
55
-
56
-
gradle mlScaffold
57
-
58
-
This will generate a directory structure containing several configuration files - one for a content database, a REST API server, an application role, an application user, and more. You can change these and add more configuration files based on the examples in the sample project mentioned above.
50
+
Can I use ml-gradle with Roxy?
51
+
=========
52
+
You bet! Starting with version 2.2.0, you can use "gradle mlWatch" to automatically load new/modified modules into the
53
+
modules database of your Roxy application, and ml-gradle will substitute tokens based on Roxy properties as well.
54
+
See [Loading modules in a Roxy project](https://github.com/rjrudin/ml-gradle/wiki/Loading-modules-on-a-Roxy-project) for more information.
0 commit comments