-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathbuild.gradle
More file actions
96 lines (85 loc) · 2.44 KB
/
build.gradle
File metadata and controls
96 lines (85 loc) · 2.44 KB
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
buildscript {
repositories {
mavenLocal()
mavenCentral()
maven { url "https://repo1.maven.org/maven2/" }
}
}
plugins {
id 'java'
id 'maven-publish'
id 'jacoco'
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(11)
}
}
// Gradle doesn't allow these at the top of the file - go figure?
def jarDomainId = "id"
def jarGroupId = "trinsic"
def jarArtifactId = "okapi"
def jarVersion = "1.6.1"
def baseArchiveName = "trinsic-$jarArtifactId"
group = jarDomainId + "." + jarGroupId + '.' + jarArtifactId
//archivesBaseName = 'trinsic-' + jarArtifactId
version = jarVersion
repositories {
mavenCentral()
}
dependencies {
implementation 'org.jetbrains:annotations:23.0.0'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.0'
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.9.0'
implementation group: 'com.google.protobuf', name: 'protobuf-java', version: '3.21.7'
implementation group: 'net.java.dev.jna', name: 'jna', version: '5.12.1'
}
test {
useJUnitPlatform()
finalizedBy jacocoTestReport
}
jacocoTestReport {
dependsOn test
reports {
xml.required = true
}
executionData fileTree(project.rootDir.absolutePath).include("**/build/jacoco/*.exec")
}
def classesJar = tasks.register('classesJar', Jar) {
dependsOn(classes)
from(sourceSets.main.output) {
include "**"
}
archiveBaseName.set("classes")
archiveVersion.set("")
}
def serverJar = tasks.register("serverJar", Jar) {
dependsOn(classes)
from(sourceSets.main.output) {
include "**"
}
archiveBaseName.set(baseArchiveName)
archiveVersion.set(jarVersion)
from("../libs") {
include('linux**/**/*.so').into('/')
include('windows/**/*.dll').into('/')
include('macos/**/*.dylib').into('/')
}
}
def androidAar = tasks.register("androidAar", Jar) {
dependsOn(classes, classesJar)
archiveBaseName.set(baseArchiveName)
archiveVersion.set(jarVersion)
archiveExtension.set("aar")
from("../libs/android") {
include('**/*.so').into("jni")
}
from(classesJar.get().outputs.files.first().getAbsolutePath()).into("/")
from("R.txt").include()
from("AndroidManifest.xml").include()
from("./") {
include("AndroidValues.xml").into("res/values")
}
}
jar.dependsOn(classesJar, serverJar, androidAar)