forked from SiliconLabs/java_packet_trace_library
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
120 lines (101 loc) · 3.53 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
106
107
108
109
110
111
112
113
114
115
116
117
118
plugins {
id 'java-library'
id "com.github.onslip.gradle-one-jar" version "1.0.5"
}
repositories {
jcenter()
}
configurations {
oneJar.extendsFrom(implementation)
oneJarLib
simAdapterCompile
}
dependencies {
implementation 'org.apache.mina:mina-core:2.1.4'
implementation 'org.slf4j:slf4j-simple:1.7.26'
simAdapterCompile 'org.apache.mina:mina-core:2.1.4'
simAdapterCompile 'org.slf4j:slf4j-simple:1.7.26'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.2'
oneJarLib files('one-jar/one-jar-boot-0.97.jar')
}
sourceSets {
simAdapter {
java {
srcDirs = ['src/sim/java']
}
}
}
jar {
archiveBaseName = 'silabs-pti-lib'
archiveVersion = file('VERSION').text.trim()
manifest {
attributes(
'Built-By' : System.properties['user.name'],
'Build-Timestamp': new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").format(new Date()),
'Created-By' : "Gradle ${gradle.gradleVersion}",
'Build-Jdk' : "${System.properties['java.version']} (${System.properties['java.vendor']} ${System.properties['java.vm.version']})",
'Build-OS' : "${System.properties['os.name']} ${System.properties['os.arch']} ${System.properties['os.version']}",
'Main-Class' : 'com.silabs.pti.Main'
)
}
}
test {
useJUnitPlatform()
}
task sourceJar(type: Jar, dependsOn: classes) {
archiveBaseName = 'silabs-pti-lib'
archiveVersion = file('VERSION').text.trim()
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
archiveBaseName = 'silabs-pti-lib'
archiveVersion = file('VERSION').text.trim()
from javadoc.destinationDir
}
task oneJar(type: OneJar) {
dependsOn 'jar'
mainClass = 'com.silabs.pti.Main'
mergeManifestFromJar = true
archiveFileName = 'silabs-pti-' + file('VERSION').text.trim() + '.jar'
targetConfiguration = configurations.oneJar
oneJarConfiguration = configurations.oneJarLib
additionalDir = file('one-jar/root')
}
task runJar(type: JavaExec) {
dependsOn 'jar'
classpath = files('build/libs/silabs-pti-lib-' + file('VERSION').text.trim() + '.jar')
classpath += sourceSets.main.runtimeClasspath
main = 'com.silabs.pti.Main'
args '-?'
}
task runOneJar(type: JavaExec) {
dependsOn 'oneJar'
classpath = files('build/libs/silabs-pti-' + file('VERSION').text.trim() + '.jar')
args '-?'
}
task simAdapterJar(type: Jar, dependsOn: simAdapterClasses) {
archiveBaseName = 'silabs-simadapter'
archiveVersion = file('VERSION').text.trim()
from (sourceSets.simAdapter.output) {
include '**/*.class'
}
manifest {
attributes(
'Built-By' : System.properties['user.name'],
'Build-Timestamp': new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").format(new Date()),
'Created-By' : "Gradle ${gradle.gradleVersion}",
'Build-Jdk' : "${System.properties['java.version']} (${System.properties['java.vendor']} ${System.properties['java.vm.version']})",
'Build-OS' : "${System.properties['os.name']} ${System.properties['os.arch']} ${System.properties['os.version']}",
'Main-Class' : 'com.silabs.sim.adapter.SimMain'
)
}
}
task all {
dependsOn 'oneJar'
dependsOn 'sourceJar'
dependsOn 'simAdapterJar'
dependsOn 'javadocJar'
}