From 9093ed105bd99dd88fad4238570150faf35934af Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Wed, 14 Apr 2021 07:59:50 +0000
Subject: [PATCH] Kotlin and YAML introduced.

---
 borgbutler-server/build.gradle |   49 ++++++++++++++++++++++++++++++++++---------------
 1 files changed, 34 insertions(+), 15 deletions(-)

diff --git a/borgbutler-server/build.gradle b/borgbutler-server/build.gradle
index 3b6bf3c..62e4864 100644
--- a/borgbutler-server/build.gradle
+++ b/borgbutler-server/build.gradle
@@ -1,7 +1,11 @@
 buildscript {
+    ext.kotlin_version = '1.4.32'
     repositories {
         mavenCentral()
     }
+    dependencies {
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+    }
 }
 
 plugins {
@@ -13,25 +17,29 @@
 dependencies {
     compile project(':borgbutler-core')
     // https://mvnrepository.com/artifact/org.apache.commons/commons-text
-    compile group: 'org.apache.commons', name: 'commons-text', version: '1.6'
-    compile group: 'org.eclipse.jetty', name: 'jetty-server', version: '9.4.12.v20180830'
-    compile group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '9.4.12.v20180830'
-    compile group: 'org.eclipse.jetty', name: 'jetty-servlets', version: '9.4.12.v20180830'
-    compile group: 'org.glassfish.jaxb', name: 'jaxb-core', version: '2.3.0.1'
-    compile group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '2.3.1'
-    compile group: 'org.glassfish.jersey.containers', name: 'jersey-container-servlet', version: '2.27'
-    compile group: 'org.glassfish.jersey.media', name: 'jersey-media-multipart', version: '2.27'
-    compile group: 'org.glassfish.jersey.media', name: 'jersey-media-json-jackson', version: '2.27'
-    compile group: 'org.glassfish.jersey.inject', name: 'jersey-hk2', version: '2.27'
-    compile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
-    compile group: 'javax.xml.ws', name: 'jaxws-api', version: '2.3.1'
-    compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.25'
+    implementation group: 'org.apache.commons', name: 'commons-text', version: '1.6'
+    implementation group: 'org.apache.commons', name: 'commons-collections4', version: '4.2'
+    implementation group: 'org.apache.commons', name: 'commons-compress', version: '1.18'
+    implementation group: 'commons-io', name: 'commons-io', version: '2.8.0'
+    implementation group: 'org.eclipse.jetty', name: 'jetty-server', version: '9.4.12.v20180830'
+    implementation group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '9.4.12.v20180830'
+    implementation group: 'org.eclipse.jetty', name: 'jetty-servlets', version: '9.4.12.v20180830'
+    implementation group: 'org.glassfish.jaxb', name: 'jaxb-core', version: '2.3.0.1'
+    implementation group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '2.3.1'
+    implementation group: 'org.glassfish.jersey.containers', name: 'jersey-container-servlet', version: '2.27'
+    implementation group: 'org.glassfish.jersey.media', name: 'jersey-media-multipart', version: '2.27'
+    implementation group: 'org.glassfish.jersey.media', name: 'jersey-media-json-jackson', version: '2.27'
+    implementation group: 'org.glassfish.jersey.inject', name: 'jersey-hk2', version: '2.27'
+    implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
+    implementation group: 'javax.xml.ws', name: 'jaxws-api', version: '2.3.1'
+    implementation group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.25'
     // https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient
-    compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.6'
+    implementation group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.6'
 
     // https://mvnrepository.com/artifact/commons-cli/commons-cli
-    compile group: 'commons-cli', name: 'commons-cli', version: '1.4'
+    implementation group: 'commons-cli', name: 'commons-cli', version: '1.4'
     testCompile group: 'org.mockito', name: 'mockito-core', version: '2.21.0'
+    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
 }
 
 repositories {
@@ -40,6 +48,7 @@
 }
 
 apply plugin: 'application'
+apply plugin: 'kotlin'
 mainClassName = "de.micromata.borgbutler.server.Main"
 
 run() {
@@ -100,3 +109,13 @@
 distZip.dependsOn ':borgbutler-webapp:npmBuild'
 //distZip.dependsOn ':borgbutler-docs:buildWebDoc'
 task(dist).dependsOn distZip
+compileKotlin {
+    kotlinOptions {
+        jvmTarget = "1.8"
+    }
+}
+compileTestKotlin {
+    kotlinOptions {
+        jvmTarget = "1.9"
+    }
+}

--
Gitblit v1.10.0