-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
127 lines (100 loc) · 2.97 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
119
120
121
122
123
124
125
126
127
plugins {
id 'java-library'
// To create a shadow/fat jar, including dependencies
id 'com.github.johnrengelman.shadow' version '7.0.0'
// To manage included native libraries
id 'org.bytedeco.gradle-javacpp-platform' version '1.5.4'
}
repositories {
// Use this only for local development!
// mavenLocal()
mavenCentral()
maven {
url "https://maven.scijava.org/content/repositories/releases"
}
maven {
url "https://maven.scijava.org/content/repositories/snapshots"
}
def github = ivy {
url "https://github.com/"
patternLayout {
artifact '/[organisation]/[module]/releases/download/[revision]/openvino-[revision]-[classifier].[ext]'
}
metadataSources { artifact() }
}
exclusiveContent {
forRepositories(github)
filter { includeGroup("dkurt") }
}
}
ext.moduleName = 'qupath.extension.openvino'
description = 'QuPath extension to use Intel OpenVINO'
version = "0.3.2"
import org.gradle.internal.os.OperatingSystem
println 'Operating system: ' + OperatingSystem.current()
def nativesCPP;
dependencies {
def openvinoVersion = "2022.1"
def qupathVersion = "0.3.2"
if (OperatingSystem.current().isMacOsX()) {
nativesCPP = 'macosx-x86_64'
} else if (OperatingSystem.current().isLinux()) {
nativesCPP = 'linux-x86_64'
} else if (OperatingSystem.current().isWindows()) {
nativesCPP = 'windows-x86_64'
} else {
logger.warn('Unknown operating system!')
}
implementation "dkurt:openvino_java:${openvinoVersion}:${nativesCPP}@jar"
shadow "io.github.qupath:qupath-gui-fx:${qupathVersion}"
shadow "org.slf4j:slf4j-api:1.7.30"
testImplementation "io.github.qupath:qupath-gui-fx:${qupathVersion}"
testImplementation "org.junit.jupiter:junit-jupiter-api:5.7.2"
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}
shadowJar {
classifier = "${nativesCPP}"
}
processResources {
from ("${projectDir}/LICENSE.txt") {
into 'licenses/'
}
}
tasks.register("copyDependencies", Copy) {
description "Copy dependencies into the build directory for use elsewhere"
group "QuPath"
from configurations.default
into 'build/libs'
}
/*
* Ensure Java 11 compatibility
*/
java {
toolchain {
languageVersion = JavaLanguageVersion.of(11)
}
if (project.properties['sources'])
withSourcesJar()
if (project.properties['javadocs'])
withJavadocJar()
}
/*
* Create javadocs for all modules/packages in one place.
* Use -PstrictJavadoc=true to fail on error with doclint (which is rather strict).
*/
def strictJavadoc = findProperty('strictJavadoc')
if (!strictJavadoc) {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
/*
* Avoid 'Entry .gitkeep is a duplicate but no duplicate handling strategy has been set.'
* when using withSourcesJar()
*/
tasks.withType(org.gradle.jvm.tasks.Jar) {
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
tasks.named('test') {
useJUnitPlatform()
}