blob: b3ebb398c8884caac2bc5487ed8e8decc4cd102a [file] [log] [blame]
Marc Kupietz4f6ed422024-03-01 07:27:46 +01001plugins {
2 // Apply the org.jetbrains.kotlin.jvm Plugin to add support for Kotlin.
Marc Kupietze2523122025-01-15 11:26:31 +01003 id 'org.jetbrains.kotlin.jvm' version '2.1.0'
Marc Kupietz4f6ed422024-03-01 07:27:46 +01004
5 // Apply the application plugin to add support for building a CLI application in Java.
6 id 'application'
Marc Kupietz1b595992024-03-01 14:54:30 +01007 id 'com.github.johnrengelman.shadow' version '8.1.1'
Marc Kupietze2523122025-01-15 11:26:31 +01008 id ("org.jetbrains.kotlin.kapt") version "2.1.0"
Marc Kupietz4f6ed422024-03-01 07:27:46 +01009}
10
Marc Kupietz4f6ed422024-03-01 07:27:46 +010011repositories {
Marc Kupietz4f6ed422024-03-01 07:27:46 +010012 mavenCentral()
Marc Kupietz56a45562024-03-20 20:18:08 +010013 maven { url 'https://jitpack.io' }
Marc Kupietz4f6ed422024-03-01 07:27:46 +010014}
15
Marc Kupietz47b43c32024-03-27 20:43:32 +010016test {
17 minHeapSize = "1000m" // initial heap size
18 maxHeapSize = "8000m" // maximum heap size
19 jvmArgs '-XX:MaxMetaspaceSize=8000m' // mem argument for the test JVM
20}
21
Marc Kupietz4f6ed422024-03-01 07:27:46 +010022dependencies {
23 // Align versions of all Kotlin components
24 implementation platform('org.jetbrains.kotlin:kotlin-bom')
25
26 // Use the Kotlin JDK 8 standard library.
27 implementation 'org.jetbrains.kotlin:kotlin-stdlib'
Marc Kupietze2523122025-01-15 11:26:31 +010028 implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1'
Marc Kupietz4f6ed422024-03-01 07:27:46 +010029
30 // This dependency is used by the application.
Marc Kupietze2523122025-01-15 11:26:31 +010031 implementation 'com.google.guava:guava:33.4.0-jre'
Marc Kupietz4f6ed422024-03-01 07:27:46 +010032
Marc Kupietz31122362024-03-02 11:13:37 +010033
Marc Kupietz916bdfe2024-09-20 09:02:57 +020034 kapt("info.picocli:picocli-codegen:4.7.6")
35 implementation ("info.picocli:picocli:4.7.6")
Marc Kupietz31122362024-03-02 11:13:37 +010036
Marc Kupietz4f6ed422024-03-01 07:27:46 +010037 // Use the Kotlin test library.
38 testImplementation 'org.jetbrains.kotlin:kotlin-test'
39
40 // Use the Kotlin JUnit integration.
41 testImplementation 'org.jetbrains.kotlin:kotlin-test-junit'
Marc Kupietze2523122025-01-15 11:26:31 +010042 testImplementation "org.jetbrains.kotlin:kotlin-test:2.1.0"
Marc Kupietz0c6e8772024-03-19 07:03:07 +010043
Marc Kupietz1465ce22024-03-26 09:51:17 +010044 implementation 'com.github.kupietz:cistern:v1.0.4'
Marc Kupietzaf682a42024-03-22 06:51:55 +010045 implementation 'org.maltparser:maltparser:1.9.2'
Marc Kupietze2523122025-01-15 11:26:31 +010046 implementation 'org.apache.opennlp:opennlp-tools:2.5.3'
Marc Kupietz9da19db2024-04-01 11:06:51 +020047 implementation 'org.slf4j:slf4j-simple:2.1.0-alpha1'
Marc Kupietz916bdfe2024-09-20 09:02:57 +020048 implementation 'org.apache.ant:ant:1.10.15'
Marc Kupietzac673692025-01-20 17:43:48 +010049 implementation 'org.apache.commons:commons-compress:1.27.1'
Marc Kupietza92bacb2024-04-06 20:26:05 +020050
Marc Kupietz4f6ed422024-03-01 07:27:46 +010051}
52
53
Marc Kupietz9da19db2024-04-01 11:06:51 +020054
Marc Kupietz4f6ed422024-03-01 07:27:46 +010055application {
56 // Define the main class for the application.
Marc Kupietz07c60d32025-01-21 19:32:48 +010057 mainClass = 'de.ids_mannheim.korapxmltools.KorapXmlToolKt'
Marc Kupietz4f6ed422024-03-01 07:27:46 +010058}
59
60jar {
61 // Will include every single one of your dependencies, project or not
Marc Kupietzfb0a2ca2024-03-01 12:38:05 +010062 // def lowerCasedName = baseName.toLowerCase()
63 // def normalizedName = lowerCasedName.substring(0,1).toUpperCase() + lowerCasedName.substring(1)
Marc Kupietz4f6ed422024-03-01 07:27:46 +010064
65 manifest.attributes(
66 'Class-Path': configurations.compileClasspath.collect { it.getName() }.join(' '),
Marc Kupietz07c60d32025-01-21 19:32:48 +010067 'Main-Class': "de.ids_mannheim.korapxmltools.KorapXmlToolKt"
Marc Kupietz4f6ed422024-03-01 07:27:46 +010068 )
Marc Kupietz1b595992024-03-01 14:54:30 +010069 shadowJar {
Marc Kupietz07c60d32025-01-21 19:32:48 +010070 archiveBaseName.set('korapxmltool')
Marc Kupietz1b595992024-03-01 14:54:30 +010071 archiveClassifier.set('')
72 archiveVersion.set('')
73 }
Marc Kupietz4f6ed422024-03-01 07:27:46 +010074}
75
76
77configurations {
78 runtimeLib.extendsFrom implementation
79}