forked from rundeck-plugins/ansible-plugin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
87 lines (75 loc) · 2.74 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
plugins {
id 'pl.allegro.tech.build.axion-release' version '1.14.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'
].join(',')
apply plugin: 'java'
apply plugin: 'groovy'
sourceCompatibility = 1.8
scmVersion {
ignoreUncommittedChanges = true
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:4.16.0-rc1-20230815')
implementation 'org.codehaus.groovy:groovy-all:3.0.9'
}
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
}
}
}