-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
68 lines (57 loc) · 2.21 KB
/
build.gradle.kts
File metadata and controls
68 lines (57 loc) · 2.21 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
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
kotlin("jvm") version "1.7.21"
id("com.gradle.plugin-publish") version "1.2.0"
id("com.github.johnrengelman.shadow") version "8.1.1"
}
group = "xyz.mishkun.lobzik"
version = "0.7.0"
repositories {
mavenCentral()
google()
}
gradlePlugin {
website.set("https://github.com/Mishkun/lobzik")
vcsUrl.set("https://github.com/Mishkun/lobzik")
plugins.create("lobzik-project-level") {
id = "xyz.mishkun.lobzik-project"
implementationClass = "xyz.mishkun.lobzik.dependencies.perproject.LobzikProjectDependencyGraphPlugin"
displayName = "Lobzik project level plugin"
description = "Gradle plugin to extract project classes dependency graph for using in Lobzik analysis pipeline"
tags.set(listOf("lobzik", "modularisation", "dependency-analysis"))
}
plugins.create("lobzik-top-level") {
id = "xyz.mishkun.lobzik"
implementationClass = "xyz.mishkun.lobzik.LobzikPlugin"
displayName = "Lozbik plugin"
description = "Lobzik is a gradle plugin designed to help Android developers chop their monolithic codebases into smaller pieces. It gathers data about dependency graph and runs Louvain algorithm to split it into modules"
tags.set(listOf("lobzik", "modularisation", "dependency-analysis"))
}
}
kotlin {
this.jvmToolchain(11)
}
val VERSION_ASM = "9.4"
val shade by configurations.creating
configurations.implementation.configure { extendsFrom(shade) }
dependencies {
compileOnly(gradleApi())
compileOnly(gradleKotlinDsl())
shade(files("libs/gephi-toolkit-0.10.0-all.jar"))
shadow("org.jetbrains.kotlinx:kotlinx-html-jvm:0.8.0")
shadow("space.kscience:plotlykt-core:0.5.0")
shadow("org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.6.10")
shadow("com.github.doyaaaaaken:kotlin-csv-jvm:1.7.0")
shadow("com.android.tools.build:gradle-api:7.3.1")
shadow("org.ow2.asm:asm:$VERSION_ASM")
shadow("org.ow2.asm:asm-tree:$VERSION_ASM")
testImplementation(kotlin("test"))
}
tasks.test {
useJUnitPlatform()
}
tasks.withType<ShadowJar> {
configurations = listOf(shade)
archiveClassifier.set("")
this.isZip64 = true
}