-
Notifications
You must be signed in to change notification settings - Fork 100
/
build.gradle
105 lines (88 loc) · 3.44 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
plugins {
id 'pl.allegro.tech.build.axion-release' version '1.17.2'
id 'maven-publish'
}
group = 'com.github.rundeck-plugins'
ext.rundeckPluginVersion = '1.2'
ext.pluginClassNames = [
'com.rundeck.plugins.ansible.plugin.AnsibleResourceModelSourceFactory',
'com.rundeck.plugins.ansible.plugin.AnsibleNodeExecutor',
'com.rundeck.plugins.ansible.plugin.AnsibleFileCopier',
'com.rundeck.plugins.ansible.plugin.AnsiblePlaybookWorkflowStep',
'com.rundeck.plugins.ansible.plugin.AnsiblePlaybookInlineWorkflowStep',
'com.rundeck.plugins.ansible.plugin.AnsibleModuleWorkflowStep',
'com.rundeck.plugins.ansible.plugin.AnsiblePlaybookWorflowNodeStep',
'com.rundeck.plugins.ansible.plugin.AnsiblePlaybookInlineWorkflowNodeStep',
'com.rundeck.plugins.ansible.logging.AnsibleSetStatsFilterPlugin',
'com.rundeck.plugins.ansible.plugin.AnsiblePluginGroup'
].join(',')
apply plugin: 'java'
apply plugin: 'groovy'
sourceCompatibility = 1.11
scmVersion {
ignoreUncommittedChanges = false
tag {
prefix = 'v'
versionSeparator = ''
}
}
version = scmVersion.version
repositories {
mavenCentral()
mavenLocal()
}
configurations {
pluginLibs
implementation {
extendsFrom pluginLibs
}
}
dependencies {
pluginLibs 'com.google.code.gson:gson:2.10.1'
implementation('org.rundeck:rundeck-core:5.1.1-20240305')
implementation 'org.codehaus.groovy:groovy-all:3.0.15'
pluginLibs group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.16.1'
pluginLibs group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.16.1'
implementation "org.yaml:snakeyaml:2.2"
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
testCompileOnly 'org.projectlombok:lombok:1.18.30'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.30'
testImplementation "org.spockframework:spock-core:2.1-groovy-3.0"
}
tasks.withType(Test).configureEach {
useJUnitPlatform()
}
task copyToLib(type: Copy) {
into "$buildDir/output/lib"
from configurations.pluginLibs
}
jar {
from "$buildDir/output"
manifest {
def libList = configurations.pluginLibs.collect{'lib/' + it.name}.join(' ')
attributes 'Rundeck-Plugin-Name' : 'Ansible Integration'
attributes 'Rundeck-Plugin-Description' : 'This plugin brings basic Ansible support to Rundeck. It imports hosts from Ansible\'s inventory, including a bunch of facts, and can run modules and playbooks. There is also a node executor and file copier for your project.'
attributes 'Rundeck-Plugin-Rundeck-Compatibility-Version': '3.0.1+'
attributes 'Rundeck-Plugin-Tags': 'java,node executor,resource model,workflow step,ansible'
attributes 'Rundeck-Plugin-License': 'MIT'
attributes 'Rundeck-Plugin-Source-Link': 'https://github.com/rundeck-plugins/ansible-plugin'
attributes 'Rundeck-Plugin-Target-Host-Compatibility': 'all'
attributes 'Rundeck-Plugin-Author': 'David Kirstein'
attributes 'Rundeck-Plugin-Classnames': pluginClassNames
attributes 'Rundeck-Plugin-File-Version': version
attributes 'Rundeck-Plugin-Version': rundeckPluginVersion
attributes 'Rundeck-Plugin-Archive': 'true'
attributes 'Rundeck-Plugin-Libs': "${libList}"
attributes 'Rundeck-Plugin-URL': 'https://github.com/rundeck-plugins/ansible-plugin'
}
dependsOn(copyToLib)
}
publishing {
publications {
maven(MavenPublication) {
artifactId = 'ansible-plugin'
from components.java
}
}
}