11package com.marklogic.gradle
22
3- import com.marklogic.appdeployer.command.clusters.ModifyLocalClusterCommand
4- import com.marklogic.appdeployer.command.databases.DeployOtherDatabasesCommand
5- import com.marklogic.appdeployer.command.forests.DeployCustomForestsCommand
6- import com.marklogic.gradle.task.cluster.AddHostTask
7- import com.marklogic.gradle.task.cluster.ModifyClusterTask
8- import com.marklogic.gradle.task.cluster.RemoveHostTask
9- import com.marklogic.gradle.task.databases.DeleteCollectionTask
10- import com.marklogic.gradle.task.es.GenerateModelArtifactsTask
11- import com.marklogic.gradle.task.forests.DeployCustomForestsTask
12- import com.marklogic.gradle.task.groups.SetTraceEventsTask
13- import com.marklogic.gradle.task.qconsole.ExportWorkspacesTask
14- import com.marklogic.gradle.task.qconsole.ImportWorkspacesTask
15- import com.marklogic.gradle.task.shell.ShellTask
16- import com.marklogic.gradle.task.tasks.WaitForTaskServerTask
17- import com.sun.jersey.core.spi.component.ProviderServices
18- import org.gradle.api.Plugin
19- import org.gradle.api.Project
20- import org.slf4j.LoggerFactory
21-
223import com.marklogic.appdeployer.AppConfig
234import com.marklogic.appdeployer.AppDeployer
245import com.marklogic.appdeployer.DefaultAppConfigFactory
256import com.marklogic.appdeployer.command.Command
267import com.marklogic.appdeployer.command.CommandContext
27- import com.marklogic.appdeployer.command.alert.DeployAlertActionsCommand
28- import com.marklogic.appdeployer.command.alert.DeployAlertConfigsCommand
29- import com.marklogic.appdeployer.command.alert.DeployAlertRulesCommand
30- import com.marklogic.appdeployer.command.appservers.DeployOtherServersCommand
31- import com.marklogic.appdeployer.command.appservers.UpdateRestApiServersCommand
32- import com.marklogic.appdeployer.command.cpf.DeployCpfConfigsCommand
33- import com.marklogic.appdeployer.command.cpf.DeployDomainsCommand
34- import com.marklogic.appdeployer.command.cpf.DeployPipelinesCommand
35- import com.marklogic.appdeployer.command.databases.DeployContentDatabasesCommand
36- import com.marklogic.appdeployer.command.databases.DeploySchemasDatabaseCommand
37- import com.marklogic.appdeployer.command.databases.DeployTriggersDatabaseCommand
38- import com.marklogic.appdeployer.command.flexrep.DeployConfigsCommand
39- import com.marklogic.appdeployer.command.flexrep.DeployFlexrepCommand
40- import com.marklogic.appdeployer.command.flexrep.DeployTargetsCommand
41- import com.marklogic.appdeployer.command.forests.ConfigureForestReplicasCommand
42- import com.marklogic.appdeployer.command.groups.DeployGroupsCommand
43- import com.marklogic.appdeployer.command.mimetypes.DeployMimetypesCommand
44- import com.marklogic.appdeployer.command.modules.LoadModulesCommand
45- import com.marklogic.appdeployer.command.restapis.DeployRestApiServersCommand
46- import com.marklogic.appdeployer.command.schemas.LoadSchemasCommand
47- import com.marklogic.appdeployer.command.security.DeployAmpsCommand
48- import com.marklogic.appdeployer.command.security.DeployCertificateAuthoritiesCommand
49- import com.marklogic.appdeployer.command.security.DeployCertificateTemplatesCommand
50- import com.marklogic.appdeployer.command.security.DeployExternalSecurityCommand
51- import com.marklogic.appdeployer.command.security.DeployPrivilegesCommand
52- import com.marklogic.appdeployer.command.security.DeployProtectedCollectionsCommand
53- import com.marklogic.appdeployer.command.security.DeployRolesCommand
54- import com.marklogic.appdeployer.command.security.DeployUsersCommand
55- import com.marklogic.appdeployer.command.tasks.DeployScheduledTasksCommand
56- import com.marklogic.appdeployer.command.triggers.DeployTriggersCommand
57- import com.marklogic.appdeployer.command.viewschemas.DeployViewSchemasCommand
8+ import com.marklogic.appdeployer.command.CommandMapBuilder
589import com.marklogic.appdeployer.impl.SimpleAppDeployer
5910import com.marklogic.gradle.task.DeleteModuleTimestampsFileTask
6011import com.marklogic.gradle.task.DeployAppTask
@@ -64,60 +15,32 @@ import com.marklogic.gradle.task.admin.InitTask
6415import com.marklogic.gradle.task.admin.InstallAdminTask
6516import com.marklogic.gradle.task.alert.DeleteAllAlertConfigsTask
6617import com.marklogic.gradle.task.alert.DeployAlertingTask
67- import com.marklogic.gradle.task.client.CreateResourceTask
68- import com.marklogic.gradle.task.client.CreateTransformTask
69- import com.marklogic.gradle.task.client.LoadModulesTask
70- import com.marklogic.gradle.task.client.PrepareRestApiDependenciesTask
71- import com.marklogic.gradle.task.client.WatchTask
72- import com.marklogic.gradle.task.cluster.DisableSslFipsTask
73- import com.marklogic.gradle.task.cluster.EnableSslFipsTask
74- import com.marklogic.gradle.task.cluster.RestartClusterTask
18+ import com.marklogic.gradle.task.client.*
19+ import com.marklogic.gradle.task.cluster.*
7520import com.marklogic.gradle.task.cpf.DeployCpfTask
7621import com.marklogic.gradle.task.cpf.LoadDefaultPipelinesTask
77- import com.marklogic.gradle.task.databases.ClearContentDatabaseTask
78- import com.marklogic.gradle.task.databases.ClearModulesDatabaseTask
79- import com.marklogic.gradle.task.databases.ClearSchemasDatabaseTask
80- import com.marklogic.gradle.task.databases.ClearTriggersDatabaseTask
81- import com.marklogic.gradle.task.databases.DeployDatabasesTask
82- import com.marklogic.gradle.task.databases.MergeContentDatabaseTask
83- import com.marklogic.gradle.task.databases.MergeDatabaseTask
84- import com.marklogic.gradle.task.databases.ReindexContentDatabaseTask
85- import com.marklogic.gradle.task.databases.ReindexDatabaseTask
86- import com.marklogic.gradle.task.databases.SetContentUpdatesAllowedTask
87- import com.marklogic.gradle.task.flexrep.DeleteAllFlexrepConfigsTask
88- import com.marklogic.gradle.task.flexrep.DeployFlexrepAtPathTask
89- import com.marklogic.gradle.task.flexrep.DeployFlexrepTask
90- import com.marklogic.gradle.task.flexrep.DisableAllFlexrepTargetsTask
91- import com.marklogic.gradle.task.flexrep.EnableAllFlexrepTargetsTask
22+ import com.marklogic.gradle.task.databases.*
23+ import com.marklogic.gradle.task.es.GenerateModelArtifactsTask
24+ import com.marklogic.gradle.task.flexrep.*
9225import com.marklogic.gradle.task.forests.ConfigureForestReplicasTask
9326import com.marklogic.gradle.task.forests.DeleteForestReplicasTask
27+ import com.marklogic.gradle.task.forests.DeployCustomForestsTask
9428import com.marklogic.gradle.task.forests.DeployForestReplicasTask
9529import com.marklogic.gradle.task.groups.DeployGroupsTask
30+ import com.marklogic.gradle.task.groups.SetTraceEventsTask
9631import com.marklogic.gradle.task.mimetypes.DeployMimetypesTask
32+ import com.marklogic.gradle.task.qconsole.ExportWorkspacesTask
33+ import com.marklogic.gradle.task.qconsole.ImportWorkspacesTask
9734import com.marklogic.gradle.task.scaffold.GenerateScaffoldTask
9835import com.marklogic.gradle.task.schemas.LoadSchemasTask
99- import com.marklogic.gradle.task.security.DeployAmpsTask
100- import com.marklogic.gradle.task.security.DeployCertificateAuthoritiesTask
101- import com.marklogic.gradle.task.security.DeployCertificateTemplatesTask
102- import com.marklogic.gradle.task.security.DeployExternalSecurityTask
103- import com.marklogic.gradle.task.security.DeployPrivilegesTask
104- import com.marklogic.gradle.task.security.DeployProtectedCollectionsTask
105- import com.marklogic.gradle.task.security.DeployRolesTask
106- import com.marklogic.gradle.task.security.DeploySecurityTask
107- import com.marklogic.gradle.task.security.DeployUsersTask
108- import com.marklogic.gradle.task.security.UndeployAmpsTask
109- import com.marklogic.gradle.task.security.UndeployCertificateTemplatesTask
110- import com.marklogic.gradle.task.security.UndeployExternalSecurityTask
111- import com.marklogic.gradle.task.security.UndeployPrivilegesTask
112- import com.marklogic.gradle.task.security.UndeployProtectedCollectionsTask
113- import com.marklogic.gradle.task.security.UndeployRolesTask
114- import com.marklogic.gradle.task.security.UndeploySecurityTask
115- import com.marklogic.gradle.task.security.UndeployUsersTask
36+ import com.marklogic.gradle.task.security.*
11637import com.marklogic.gradle.task.servers.DeployServersTask
11738import com.marklogic.gradle.task.servers.UndeployOtherServersTask
39+ import com.marklogic.gradle.task.shell.ShellTask
11840import com.marklogic.gradle.task.tasks.DeleteAllTasksTask
11941import com.marklogic.gradle.task.tasks.DeployTasksTask
12042import com.marklogic.gradle.task.tasks.UndeployTasksTask
43+ import com.marklogic.gradle.task.tasks.WaitForTaskServerTask
12144import com.marklogic.gradle.task.trigger.DeployTriggersTask
12245import com.marklogic.gradle.task.viewschemas.DeployViewSchemasTask
12346import com.marklogic.mgmt.DefaultManageConfigFactory
@@ -126,6 +49,10 @@ import com.marklogic.mgmt.ManageConfig
12649import com.marklogic.mgmt.admin.AdminConfig
12750import com.marklogic.mgmt.admin.AdminManager
12851import com.marklogic.mgmt.admin.DefaultAdminConfigFactory
52+ import com.sun.jersey.core.spi.component.ProviderServices
53+ import org.gradle.api.Plugin
54+ import org.gradle.api.Project
55+ import org.slf4j.LoggerFactory
12956
13057import java.util.logging.Level
13158import java.util.logging.Logger
@@ -306,121 +233,12 @@ class MarkLogicPlugin implements Plugin<Project> {
306233 * ext block.
307234 */
308235 AppDeployer newAppDeployer (Project project , CommandContext context ) {
309- List<Command > commands = new ArrayList<Command > ()
310-
311- // Security
312- List<Command > securityCommands = new ArrayList<Command > ()
313- securityCommands. add(new DeployRolesCommand ())
314- securityCommands. add(new DeployUsersCommand ())
315- securityCommands. add(new DeployAmpsCommand ())
316- securityCommands. add(new DeployCertificateTemplatesCommand ())
317- securityCommands. add(new DeployCertificateAuthoritiesCommand ())
318- securityCommands. add(new DeployExternalSecurityCommand ())
319- securityCommands. add(new DeployPrivilegesCommand ())
320- securityCommands. add(new DeployProtectedCollectionsCommand ())
321- project. extensions. add(" mlSecurityCommands" , securityCommands)
322- commands. addAll(securityCommands)
323-
324- // Cluster
325- List<Command > clusterCommands = new ArrayList<Command > ()
326- clusterCommands. add(new ModifyLocalClusterCommand ())
327- project. extensions. add(" mlClusterCommands" , clusterCommands)
328- commands. addAll(clusterCommands)
329-
330- // Databases
331- List<Command > dbCommands = new ArrayList<Command > ()
332- dbCommands. add(new DeployContentDatabasesCommand ())
333- dbCommands. add(new DeployTriggersDatabaseCommand ())
334- dbCommands. add(new DeploySchemasDatabaseCommand ())
335- dbCommands. add(new DeployOtherDatabasesCommand ())
336- project. extensions. add(" mlDatabaseCommands" , dbCommands)
337- commands. addAll(dbCommands)
338-
339- // Schemas
340- LoadSchemasCommand lsc = new LoadSchemasCommand ()
341- project. extensions. add(" mlLoadSchemasCommand" , lsc)
342- commands. add(lsc)
343-
344- // REST API instance creation
345- commands. add(new DeployRestApiServersCommand ())
346-
347- // App servers
348- List<Command > serverCommands = new ArrayList<Command > ()
349- serverCommands. add(new DeployOtherServersCommand ())
350- serverCommands. add(new UpdateRestApiServersCommand ())
351- project. extensions. add(" mlServerCommands" , serverCommands)
352- commands. addAll(serverCommands)
353-
354- // Modules
355- LoadModulesCommand lmc = new LoadModulesCommand ()
356- project. extensions. add(" mlLoadModulesCommand" , lmc)
357- commands. add(lmc)
358-
359- // Alerting
360- List<Command > alertCommands = new ArrayList<Command > ()
361- alertCommands. add(new DeployAlertConfigsCommand ())
362- alertCommands. add(new DeployAlertActionsCommand ())
363- alertCommands. add(new DeployAlertRulesCommand ())
364- project. extensions. add(" mlAlertCommands" , alertCommands)
365- commands. addAll(alertCommands)
366-
367- // CPF
368- List<Command > cpfCommands = new ArrayList<Command > ()
369- cpfCommands. add(new DeployCpfConfigsCommand ())
370- cpfCommands. add(new DeployDomainsCommand ())
371- cpfCommands. add(new DeployPipelinesCommand ())
372- project. extensions. add(" mlCpfCommands" , cpfCommands)
373- commands. addAll(cpfCommands)
374-
375- // Flexrep
376- List<Command > flexrepCommands = new ArrayList<Command > ()
377- flexrepCommands. add(new DeployConfigsCommand ())
378- flexrepCommands. add(new DeployTargetsCommand ())
379- flexrepCommands. add(new DeployFlexrepCommand ())
380- project. extensions. add(" mlFlexrepCommands" , flexrepCommands)
381- commands. addAll(flexrepCommands)
382-
383- // Groups
384- List<Command > groupCommands = new ArrayList<Command > ()
385- groupCommands. add(new DeployGroupsCommand ())
386- project. extensions. add(" mlGroupCommands" , groupCommands)
387- commands. addAll(groupCommands)
388-
389- List<Command > mimetypeCommands = new ArrayList<Command > ()
390- mimetypeCommands. add(new DeployMimetypesCommand ())
391- project. extensions. add(" mlMimetypeCommands" , mimetypeCommands)
392- commands. addAll(mimetypeCommands)
393-
394- // Forests
395- List<Command > forestCommands = new ArrayList<Command > ()
396- forestCommands. add(new DeployCustomForestsCommand ())
397- project. extensions. add(" mlForestCommands" , forestCommands)
398- commands. addAll(forestCommands)
399-
400- // Forest replicas
401- List<Command > replicaCommands = new ArrayList<Command > ()
402- replicaCommands. add(new ConfigureForestReplicasCommand ())
403- project. extensions. add(" mlForestReplicaCommands" , replicaCommands)
404- commands. addAll(replicaCommands)
405-
406- // Tasks
407- List<Command > taskCommands = new ArrayList<Command > ()
408- taskCommands. add(new DeployScheduledTasksCommand ())
409- project. extensions. add(" mlTaskCommands" , taskCommands)
410- commands. addAll(taskCommands)
411-
412- // Triggers
413- List<Command > triggerCommands = new ArrayList<Command > ()
414- triggerCommands. add(new DeployTriggersCommand ())
415- project. extensions. add(" mlTriggerCommands" , triggerCommands)
416- commands. addAll(triggerCommands)
417-
418- // SQL Views
419- List<Command > viewCommands = new ArrayList<Command > ()
420- viewCommands. add(new DeployViewSchemasCommand ())
421- project. extensions. add(" mlViewCommands" , viewCommands)
422- commands. addAll(viewCommands)
423-
236+ Map<String , List<Command > > commandMap = new CommandMapBuilder (). buildCommandMap();
237+ List<Command > commands = new ArrayList<> ();
238+ for (String name : commandMap. keySet()) {
239+ project. extensions. add(name, commandMap. get(name));
240+ commands. addAll(commandMap. get(name));
241+ }
424242 SimpleAppDeployer deployer = new SimpleAppDeployer (context. getManageClient(), context. getAdminManager())
425243 deployer. setCommands(commands)
426244 return deployer
0 commit comments