diff --git a/.github/workflows/functional-tests.yml b/.github/workflows/functional-tests.yml
index 85a38471e8..1dad97b338 100644
--- a/.github/workflows/functional-tests.yml
+++ b/.github/workflows/functional-tests.yml
@@ -26,7 +26,7 @@ jobs:
- name: Install JDK
uses: actions/setup-java@v1
with:
- java-version: 11
+ java-version: 17
- name: Cache Gradle packages
uses: actions/cache@v2
with:
@@ -63,7 +63,7 @@ jobs:
- name: Install JDK
uses: actions/setup-java@v1
with:
- java-version: 11
+ java-version: 17
- name: Cache Gradle packages
uses: actions/cache@v2
with:
@@ -125,7 +125,7 @@ jobs:
- name: Install JDK
uses: actions/setup-java@v1
with:
- java-version: 11
+ java-version: 17
- name: Cache Gradle packages
uses: actions/cache@v2
with:
@@ -195,7 +195,7 @@ jobs:
- name: Install JDK
uses: actions/setup-java@v1
with:
- java-version: 11
+ java-version: 17
- name: Cache Gradle packages
uses: actions/cache@v2
with:
@@ -236,7 +236,7 @@ jobs:
- name: Install JDK
uses: actions/setup-java@v1
with:
- java-version: 11
+ java-version: 17
- name: Cache Gradle packages
uses: actions/cache@v2
with:
@@ -275,7 +275,7 @@ jobs:
- name: Install JDK
uses: actions/setup-java@v1
with:
- java-version: 11
+ java-version: 17
- name: Cache Gradle packages
uses: actions/cache@v2
with:
@@ -339,7 +339,7 @@ jobs:
- name: Install JDK
uses: actions/setup-java@v1
with:
- java-version: 11
+ java-version: 17
- name: Cache Gradle packages
uses: actions/cache@v2
with:
diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml
index d218d75ad1..1226326e0b 100644
--- a/.github/workflows/unit-tests.yml
+++ b/.github/workflows/unit-tests.yml
@@ -12,7 +12,7 @@ jobs:
- name: Install JDK
uses: actions/setup-java@v1
with:
- java-version: 11
+ java-version: 17
- name: Cache Gradle packages
uses: actions/cache@v2
with:
diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
index c49c8d4104..ed1378c907 100644
--- a/.idea/kotlinc.xml
+++ b/.idea/kotlinc.xml
@@ -5,9 +5,9 @@
-
+
-
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index c6370d9b12..c33346e690 100644
--- a/build.gradle
+++ b/build.gradle
@@ -23,9 +23,9 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
- classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.13.0"
- classpath "com.diffplug.spotless:spotless-plugin-gradle:5.10.2"
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20"
+ classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.21.0"
+ classpath "com.diffplug.spotless:spotless-plugin-gradle:6.22.0"
modules {
module("org.jetbrains.trove4j:trove4j") {
@@ -35,7 +35,7 @@ buildscript {
}
}
plugins {
- id 'nebula.lint' version '16.9.0'
+ id 'nebula.lint' version '18.1.0'
}
allprojects {
@@ -61,12 +61,12 @@ allprojects {
}
compileKotlin {
kotlinOptions {
- jvmTarget = "1.8"
+ jvmTarget = "17"
}
}
compileTestKotlin {
kotlinOptions {
- jvmTarget = "1.8"
+ jvmTarget = "17"
}
}
diff --git a/cmake/modules/gluecodium/gluecodium/details/gradle/wrapper/gradle-wrapper.properties b/cmake/modules/gluecodium/gluecodium/details/gradle/wrapper/gradle-wrapper.properties
index 41dfb87909..15de90249f 100644
--- a/cmake/modules/gluecodium/gluecodium/details/gradle/wrapper/gradle-wrapper.properties
+++ b/cmake/modules/gluecodium/gluecodium/details/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/functional-tests/build.gradle b/functional-tests/build.gradle
index ff0a2d5fb3..052aac0392 100644
--- a/functional-tests/build.gradle
+++ b/functional-tests/build.gradle
@@ -74,14 +74,14 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.2.1'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21"
+ classpath 'com.android.tools.build:gradle:8.1.2'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20"
def gluecodiumVersion = project.hasProperty('gluecodiumVersion')
? project.property('gluecodiumVersion').toString().trim() : '+'
classpath "com.here.gluecodium:gluecodium-gradle:${gluecodiumVersion}"
- classpath 'com.diffplug.spotless:spotless-plugin-gradle:5.10.2'
+ classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.22.0'
modules {
module("org.jetbrains.trove4j:trove4j") {
diff --git a/functional-tests/functional/build.gradle b/functional-tests/functional/build.gradle
index 1f94ead5c7..82d6760b91 100644
--- a/functional-tests/functional/build.gradle
+++ b/functional-tests/functional/build.gradle
@@ -32,6 +32,8 @@ android {
ndkVersion rootProject.ndkVersion
compileSdkVersion rootProject.compileSdkVersion
+ namespace 'com.here.gluecodium.test.functional'
+
defaultConfig {
minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion
diff --git a/functional-tests/gradle/wrapper/gradle-wrapper.properties b/functional-tests/gradle/wrapper/gradle-wrapper.properties
index 41dfb87909..15de90249f 100644
--- a/functional-tests/gradle/wrapper/gradle-wrapper.properties
+++ b/functional-tests/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/functional-tests/namerules/build.gradle b/functional-tests/namerules/build.gradle
index 36e4a8a92e..5c66159796 100644
--- a/functional-tests/namerules/build.gradle
+++ b/functional-tests/namerules/build.gradle
@@ -33,6 +33,7 @@ def getCMakeCommonParameters() {
android {
ndkVersion rootProject.ndkVersion
compileSdkVersion rootProject.compileSdkVersion
+ namespace 'com.here.gluecodium.test.namerules'
defaultConfig {
minSdkVersion rootProject.minSdkVersion
diff --git a/gluecodium/build.gradle b/gluecodium/build.gradle
index 89138f23cb..d01dc9276c 100644
--- a/gluecodium/build.gradle
+++ b/gluecodium/build.gradle
@@ -72,9 +72,9 @@ jacocoTestCoverageVerification {
}
jacocoTestReport {
reports {
- csv.enabled true
- html.enabled true
- xml.enabled true
+ csv.required = true
+ html.required = true
+ xml.required = true
csv.destination file("${buildDir}/reports/coverage/coverageReport.csv")
html.destination file("${buildDir}/reports/coverage/html")
diff --git a/gluecodium/src/main/java/com/here/gluecodium/generator/common/CommentsProcessor.kt b/gluecodium/src/main/java/com/here/gluecodium/generator/common/CommentsProcessor.kt
index 3ea6624d51..ce790b9d02 100644
--- a/gluecodium/src/main/java/com/here/gluecodium/generator/common/CommentsProcessor.kt
+++ b/gluecodium/src/main/java/com/here/gluecodium/generator/common/CommentsProcessor.kt
@@ -77,7 +77,7 @@ abstract class CommentsProcessor(
hasErrorFlag = true
}
val codeBlockHandler = VisitHandler(Code::class.java) {
- if (it.text.toString() == standardNullReference) {
+ if (it.text.toString() == STANDART_NULL_REFERENCE) {
it.text = CharSubSequence.of(nullReference)
}
}
@@ -105,9 +105,9 @@ abstract class CommentsProcessor(
open fun processAutoLink(linkNode: AutoLink) {}
open fun postRenderDocument(renderedDocument: String): String = renderedDocument
- open val nullReference = standardNullReference
+ open val nullReference = STANDART_NULL_REFERENCE
companion object {
- private const val standardNullReference = "null"
+ private const val STANDART_NULL_REFERENCE = "null"
}
}
diff --git a/gluecodium/src/main/java/com/here/gluecodium/generator/common/templates/CapitalizeHelper.kt b/gluecodium/src/main/java/com/here/gluecodium/generator/common/templates/CapitalizeHelper.kt
index 1c0054ef04..6ebdfb550e 100644
--- a/gluecodium/src/main/java/com/here/gluecodium/generator/common/templates/CapitalizeHelper.kt
+++ b/gluecodium/src/main/java/com/here/gluecodium/generator/common/templates/CapitalizeHelper.kt
@@ -29,7 +29,7 @@ import org.trimou.handlebars.Options
internal class CapitalizeHelper : BasicHelper() {
override fun execute(options: Options) {
if (options.parameters.isNotEmpty()) {
- options.append((options.parameters[0].toString()).capitalize())
+ options.append((options.parameters[0].toString()).replaceFirstChar(Char::titlecase))
}
}
}
diff --git a/gluecodium/src/main/resources/version.properties b/gluecodium/src/main/resources/version.properties
index e1c1fc93c5..12a8db1633 100644
--- a/gluecodium/src/main/resources/version.properties
+++ b/gluecodium/src/main/resources/version.properties
@@ -1 +1 @@
-version = 13.7.2
+version = 13.7.3
diff --git a/gradle/publishing.gradle b/gradle/publishing.gradle
index d6e574c1a5..0ac2fd8a2a 100644
--- a/gradle/publishing.gradle
+++ b/gradle/publishing.gradle
@@ -7,12 +7,12 @@ group = 'com.here.gluecodium'
task sourcesJar(type: Jar) {
from sourceSets.main.allJava
- classifier = 'sources'
+ archiveClassifier = 'sources'
}
task javadocJar(type: Jar) {
from javadoc
- classifier = 'javadoc'
+ archiveClassifier = 'javadoc'
}
publishing.publications {
diff --git a/gradle/spotless.gradle b/gradle/spotless.gradle
index 42a86aa733..f8bd5c7671 100644
--- a/gradle/spotless.gradle
+++ b/gradle/spotless.gradle
@@ -30,7 +30,7 @@ spotless {
endWithNewline()
}
kotlin {
- ktlint("0.40.0")
+ ktlint("1.1.0")
licenseHeaderFile rootProject.file('config/spotless/here_java.license')
}
format 'misc', {
@@ -44,6 +44,7 @@ spotless {
format 'mustache', {
target project.fileTree(project.projectDir) {
include '**/*.mustache'
+ exclude '**/build*'
}
licenseHeaderFile rootProject.file('config/spotless/here_mustache.license'), /(?!\{\{!!$| !).*/
}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 41dfb87909..15de90249f 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/lime-loader/build.gradle b/lime-loader/build.gradle
index 4cd03a7dff..0efbb3a1e4 100644
--- a/lime-loader/build.gradle
+++ b/lime-loader/build.gradle
@@ -3,14 +3,19 @@ plugins {
}
dependencies {
+ //antlr "org.antlr:antlr4:4.13.1"
antlr "org.antlr:antlr4:4.9.1"
api project(":lime-runtime")
- implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.6.21'
- implementation "org.antlr:antlr4-runtime:4.9.1"
+ implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.6.21'
+ implementation "org.antlr:antlr4-runtime:4.9.1"
+ // implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.9.20'
+ // implementation "org.antlr:antlr4-runtime:4.13.1"
testImplementation files({ project(":lime-runtime").sourceSets.test.output })
- testImplementation 'io.mockk:mockk-dsl-jvm:1.12.5'
- testImplementation 'io.mockk:mockk:1.12.5'
+ testImplementation 'io.mockk:mockk-dsl-jvm:1.12.5'
+ testImplementation 'io.mockk:mockk:1.12.5'
+ // testImplementation 'io.mockk:mockk-dsl-jvm:1.13.8'
+ // testImplementation 'io.mockk:mockk:1.13.8'
testImplementation 'junit:junit:4.13.2'
}
@@ -43,6 +48,21 @@ javadoc {
exclude 'com/here/gluecodium/antlr/**'
}
+tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
+ dependsOn(tasks.withType(AntlrTask))
+}
+
+// tasks.configureEach { task ->
+// if (task.name == 'generateAntlrGeneratedGrammarSource') {
+// task.dependsOn('compileAntlrGeneratedKotlin')
+// }
+// if (task.name == 'generateGrammarSource') {
+// task.dependsOn('compileAntlrGeneratedKotlin')
+// task.dependsOn('compileAntlrGeneratedJava')
+// task.dependsOn('sourcesJar')
+// }
+// }
+
apply from: "$rootDir/gradle/spotless.gradle"
spotless {
diff --git a/lime-runtime/src/main/java/com/here/gluecodium/common/CaseInsensitiveMap.kt b/lime-runtime/src/main/java/com/here/gluecodium/common/CaseInsensitiveMap.kt
index cd979b2df6..bda2fbc8b2 100644
--- a/lime-runtime/src/main/java/com/here/gluecodium/common/CaseInsensitiveMap.kt
+++ b/lime-runtime/src/main/java/com/here/gluecodium/common/CaseInsensitiveMap.kt
@@ -23,7 +23,8 @@ import java.util.Locale
import java.util.function.BiFunction
import java.util.function.Function
-class CaseInsensitiveMap : HashMap() {
+// Mark `Any` as non-nullable
+class CaseInsensitiveMap : HashMap() {
override fun compute(key: String, remappingFunction: BiFunction) =
super.compute(key.lowercase(Locale.getDefault()), remappingFunction)