-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
73 lines (62 loc) · 2.74 KB
/
build.gradle.kts
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
/*
* aet-extensions: lighthouse
*
* Copyright (C) 2019 Maciej Laskowski
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
plugins {
`java-library`
`osgi`
}
repositories {
jcenter()
mavenCentral()
}
dependencies {
implementation(group = "org.osgi", name = "org.osgi.service.component.annotations", version = "1.3.0")
implementation(group = "org.osgi", name = "org.osgi.service.metatype.annotations", version = "1.3.0")
implementation(group = "org.osgi", name = "org.osgi.annotation", version = "6.0.0")
implementation(group = "com.google.code.gson", name = "gson", version = "2.8.5")
implementation(group = "com.google.guava", name = "guava", version = "25.1-jre")
implementation(group = "org.apache.commons", name = "commons-lang3", version = "3.7")
implementation(group = "org.apache.httpcomponents", name = "httpclient", version = "4.4")
implementation(group = "org.slf4j", name = "slf4j-api", version = "1.7.7")
api("com.cognifide.aet:communication-api:3.2.2")
api("com.cognifide.aet:jobs-api:3.2.2")
api("com.cognifide.aet:datastorage-api:3.2.2")
testImplementation("junit:junit:4.12")
}
tasks.withType<Jar>().configureEach {
manifest {
// the manifest of the default jar is of type OsgiManifest
(manifest as? OsgiManifest)?.apply {
instruction("Bundle-Vendor", "Maciej Laskowski")
instruction("Bundle-Description", "AET Extension: lighthouse collector and comparator")
instruction("Bundle-DocURL", "https://github.com/Skejven/aet-lighthouse-extension")
instruction("Service-Component", "OSGI-INF/com.github.skejven.collector.LighthouseCollectorFactory.xml,OSGI-INF/com.github.skejven.comparator.LighthouseComparatorFactory.xml")
}
}
}
val assembleConfigs = tasks.register<Zip>("assembleConfigs") {
archiveName = "aet-lighthouse-config.zip"
from("conf")
}
val assembleReport = tasks.register<Zip>("assembleReport") {
archiveName = "aet-lighthouse-report.zip"
from("report")
}
val assembleServer = tasks.register<Zip>("assembleServer") {
archiveName = "aet-lighthouse-server.zip"
exclude("node_modules")
from("lighthouse-server")
}
tasks.named("build") { finalizedBy(assembleConfigs, assembleReport, assembleServer) }