Skip to content

Commit bc97e89

Browse files
committed
#451 Can now stub out a trigger via mlNewTrigger
1 parent 953e2f9 commit bc97e89

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/main/groovy/com/marklogic/gradle/MarkLogicPlugin.groovy

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ import com.marklogic.gradle.task.scaffold.NewProtectedCollectionTask
5151
import com.marklogic.gradle.task.scaffold.NewRoleTask
5252
import com.marklogic.gradle.task.scaffold.NewServerTask
5353
import com.marklogic.gradle.task.scaffold.NewTaskTask
54+
import com.marklogic.gradle.task.scaffold.NewTriggerTask
5455
import com.marklogic.gradle.task.scaffold.NewUserTask
5556
import com.marklogic.gradle.task.test.UnitTestTask
5657
import com.marklogic.gradle.task.test.GenerateUnitTestSuiteTask
@@ -188,6 +189,7 @@ class MarkLogicPlugin implements Plugin<Project> {
188189
project.task("mlNewRole", type: NewRoleTask, group: devGroup, description: "Generate a new role resource file. " + newResourceMessage)
189190
project.task("mlNewServer", type: NewServerTask, group: devGroup, description: "Generate a new server resource file. " + newResourceMessage)
190191
project.task("mlNewTask", type: NewTaskTask, group: devGroup, description: "Generate a new task resource file. " + newResourceMessage)
192+
project.task("mlNewTrigger", type: NewTriggerTask, group: devGroup, description: "Generate a new trigger resource file. A triggers database name must be specified via -Pdatabase=(database name). " + newResourceMessage)
191193
project.task("mlNewUser", type: NewUserTask, group: devGroup, description: "Generate a new user resource file. " + newResourceMessage)
192194
project.task("mlScaffold", type: GenerateScaffoldTask, group: devGroup, description: "Generate project scaffold for a new project")
193195

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.marklogic.gradle.task.scaffold
2+
3+
4+
import com.marklogic.mgmt.template.trigger.TriggerTemplateBuilder
5+
import org.gradle.api.GradleException
6+
import org.gradle.api.tasks.TaskAction
7+
8+
class NewTriggerTask extends NewResourceTask {
9+
10+
@TaskAction
11+
void newResource() {
12+
if (project.hasProperty("database")) {
13+
createResourceFile(new TriggerTemplateBuilder(project.property("database")))
14+
} else {
15+
throw new GradleException("Please specify a database for the trigger via -Pdatabase=(name of triggers database)")
16+
}
17+
}
18+
19+
}

0 commit comments

Comments
 (0)