1
+ import nl.javadude.gradle.plugins.license.DownloadLicensesExtension.license
2
+ import org.gradle.api.tasks.testing.logging.TestExceptionFormat
3
+ import org.gradle.api.tasks.testing.logging.TestLogEvent.*
4
+
1
5
plugins {
2
- id(" java" )
3
- id(" com.github.sgtsilvio.gradle.utf8" )
4
- id(" com.github.johnrengelman.shadow" )
5
- id(" com.github.hierynomus.license" )
6
- id(" org.owasp.dependencycheck" )
6
+ java
7
+ alias(libs.plugins.defaults)
8
+ alias(libs.plugins.shadow)
9
+ alias(libs.plugins.license)
10
+ id(" com.hivemq.edge-version-updater" )
11
+ id(" com.hivemq.third-party-license-generator" )
7
12
}
8
13
9
14
10
15
group = " com.hivemq"
11
16
version = " 2024.9-ALPHA"
12
17
13
18
repositories {
14
- mavenLocal()
15
19
mavenCentral()
16
20
}
17
21
18
-
19
22
dependencies {
20
23
compileOnly(" com.hivemq:hivemq-edge-adapter-sdk:${property(" hivemq-edge-adapter-sdk.version" )} " )
21
24
compileOnly(" commons-io:commons-io:${property(" commons-io.version" )} " )
@@ -38,9 +41,155 @@ dependencies {
38
41
39
42
tasks.test {
40
43
useJUnitPlatform()
44
+ testLogging {
45
+ events = setOf (STARTED , PASSED , FAILED , SKIPPED , STANDARD_ERROR )
46
+ exceptionFormat = TestExceptionFormat .FULL
47
+ }
48
+ }
49
+
50
+ tasks.register<Copy >(" copyAllDependencies" ) {
51
+ shouldRunAfter(" assemble" )
52
+ from(configurations.runtimeClasspath)
53
+ into(" ${buildDir} /deps/libs" )
54
+ }
55
+
56
+ tasks.named(" assemble" ) { finalizedBy(" copyAllDependencies" ) }
57
+
58
+ /* ******************** artifacts ******************** */
59
+
60
+ val releaseBinary: Configuration by configurations.creating {
61
+ isCanBeConsumed = true
62
+ isCanBeResolved = false
63
+ attributes {
64
+ attribute(Category .CATEGORY_ATTRIBUTE , objects.named(" binary" ))
65
+ attribute(Usage .USAGE_ATTRIBUTE , objects.named(" release" ))
66
+ }
67
+ }
68
+
69
+ val thirdPartyLicenses: Configuration by configurations.creating {
70
+ isCanBeConsumed = true
71
+ isCanBeResolved = false
72
+ attributes {
73
+ attribute(Category .CATEGORY_ATTRIBUTE , objects.named(" third-party-licenses" ))
74
+ }
41
75
}
42
76
77
+ artifacts {
78
+ add(releaseBinary.name, tasks.shadowJar)
79
+ add(thirdPartyLicenses.name, tasks.updateThirdPartyLicenses.flatMap { it.outputDirectory })
80
+ }
81
+ /* ******************** compliance ******************** */
82
+
43
83
license {
44
84
header = file(" HEADER" )
45
85
mapping(" java" , " SLASHSTAR_STYLE" )
46
- }
86
+ }
87
+
88
+ downloadLicenses {
89
+ aliases = mapOf (
90
+ license(" Apache License, Version 2.0" , " https://opensource.org/licenses/Apache-2.0" ) to listOf (
91
+ " Apache 2" ,
92
+ " Apache 2.0" ,
93
+ " Apache-2.0" ,
94
+ " Apache License 2.0" ,
95
+ " Apache License, 2.0" ,
96
+ " Apache License v2.0" ,
97
+ " Apache License, Version 2" ,
98
+ " Apache License Version 2.0" ,
99
+ " Apache License, Version 2.0" ,
100
+ " Apache License, version 2.0" ,
101
+ " The Apache License, Version 2.0" ,
102
+ " Apache Software License - Version 2.0" ,
103
+ " Apache Software License, version 2.0" ,
104
+ " The Apache Software License, Version 2.0"
105
+ ),
106
+ license(" MIT License" , " https://opensource.org/licenses/MIT" ) to listOf (
107
+ " MIT License" ,
108
+ " MIT license" ,
109
+ " The MIT License" ,
110
+ " The MIT License (MIT)"
111
+ ),
112
+ license(" CDDL, Version 1.0" , " https://opensource.org/licenses/CDDL-1.0" ) to listOf (
113
+ " CDDL, Version 1.0" ,
114
+ " Common Development and Distribution License 1.0" ,
115
+ " COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0" ,
116
+ license(" CDDL" , " https://glassfish.dev.java.net/public/CDDLv1.0.html" )
117
+ ),
118
+ license(" CDDL, Version 1.1" , " https://oss.oracle.com/licenses/CDDL+GPL-1.1" ) to listOf (
119
+ " CDDL 1.1" ,
120
+ " CDDL, Version 1.1" ,
121
+ " Common Development And Distribution License 1.1" ,
122
+ " CDDL+GPL License" ,
123
+ " CDDL + GPLv2 with classpath exception" ,
124
+ " Dual license consisting of the CDDL v1.1 and GPL v2" ,
125
+ " CDDL or GPLv2 with exceptions" ,
126
+ " CDDL/GPLv2+CE"
127
+ ),
128
+ license(" LGPL, Version 2.0" , " https://opensource.org/licenses/LGPL-2.0" ) to listOf (
129
+ " LGPL, Version 2.0" ,
130
+ " GNU General Public License, version 2"
131
+ ),
132
+ license(" LGPL, Version 2.1" , " https://opensource.org/licenses/LGPL-2.1" ) to listOf (
133
+ " LGPL, Version 2.1" ,
134
+ " LGPL, version 2.1" ,
135
+ " GNU Lesser General Public License version 2.1 (LGPLv2.1)" ,
136
+ license(" GNU Lesser General Public License" , " http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" )
137
+ ),
138
+ license(" LGPL, Version 3.0" , " https://opensource.org/licenses/LGPL-3.0" ) to listOf (
139
+ " LGPL, Version 3.0" ,
140
+ " Lesser General Public License, version 3 or greater"
141
+ ),
142
+ license(" EPL, Version 1.0" , " https://opensource.org/licenses/EPL-1.0" ) to listOf (
143
+ " EPL, Version 1.0" ,
144
+ " Eclipse Public License - v 1.0" ,
145
+ " Eclipse Public License - Version 1.0" ,
146
+ license(" Eclipse Public License" , " http://www.eclipse.org/legal/epl-v10.html" )
147
+ ),
148
+ license(" EPL, Version 2.0" , " https://opensource.org/licenses/EPL-2.0" ) to listOf (
149
+ " EPL 2.0" ,
150
+ " EPL, Version 2.0"
151
+ ),
152
+ license(" EDL, Version 1.0" , " https://www.eclipse.org/org/documents/edl-v10.php" ) to listOf (
153
+ " EDL 1.0" ,
154
+ " EDL, Version 1.0" ,
155
+ " Eclipse Distribution License - v 1.0"
156
+ ),
157
+ license(" BSD 3-Clause License" , " https://opensource.org/licenses/BSD-3-Clause" ) to listOf (
158
+ " BSD 3-clause" ,
159
+ " BSD-3-Clause" ,
160
+ " BSD 3-Clause License" ,
161
+ " 3-Clause BSD License" ,
162
+ " New BSD License" ,
163
+ license(" BSD" , " http://asm.ow2.org/license.html" ),
164
+ license(" BSD" , " http://asm.objectweb.org/license.html" ),
165
+ license(" BSD" , " LICENSE.txt" )
166
+ ),
167
+ license(" Bouncy Castle License" , " https://www.bouncycastle.org/licence.html" ) to listOf (
168
+ " Bouncy Castle Licence"
169
+ ),
170
+ license(" W3C License" , " https://opensource.org/licenses/W3C" ) to listOf (
171
+ " W3C License" ,
172
+ " W3C Software Copyright Notice and License" ,
173
+ " The W3C Software License"
174
+ ),
175
+ license(" CC0" , " https://creativecommons.org/publicdomain/zero/1.0/" ) to listOf (
176
+ " CC0" ,
177
+ " Public Domain"
178
+ )
179
+ )
180
+
181
+ dependencyConfiguration = " runtimeClasspath"
182
+ }
183
+
184
+ tasks.updateThirdPartyLicenses {
185
+ dependsOn(tasks.downloadLicenses)
186
+ projectName.set(project.name)
187
+ group = " license"
188
+ dependencyLicense.set(tasks.downloadLicenses.get().xmlDestination.resolve(" dependency-license.xml" ))
189
+ outputDirectory.set(layout.buildDirectory.dir(" distribution/third-party-licenses" ))
190
+ }
191
+
192
+ val javaComponent = components[" java" ] as AdhocComponentWithVariants
193
+ javaComponent.withVariantsFromConfiguration(configurations.shadowRuntimeElements.get()) {
194
+ skip()
195
+ }
0 commit comments