diff --git a/beanshell/build.gradle.kts b/beanshell/build.gradle.kts index 874973148..2a8300aa8 100644 --- a/beanshell/build.gradle.kts +++ b/beanshell/build.gradle.kts @@ -84,8 +84,4 @@ java { kotlin { compilerOptions.jvmTarget = JvmTarget.JVM_11 -// jvmToolchain { -// languageVersion = JavaLanguageVersion.of(javaVersion.toInt()) -// } } - diff --git a/codeCore/build.gradle b/codeCore/build.gradle deleted file mode 100644 index cf12e5952..000000000 --- a/codeCore/build.gradle +++ /dev/null @@ -1,42 +0,0 @@ - -plugins { - id 'java' - id 'application' - id "org.jetbrains.kotlin.jvm" -} - -java { - targetCompatibility = JavaLanguageVersion.of(javaVersion) - sourceCompatibility = JavaLanguageVersion.of(javaVersion) -} - -compileKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -compileTestKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -dependencies { - // should have no dependencies to other modules - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0" -} - -sourceSets { - main { - java { - srcDir "${project.projectDir}/src" - } - resources { - srcDir "${project.projectDir}/res" - } - } -} - -// note: there are no unit tests in this module! diff --git a/codeCore/build.gradle.kts b/codeCore/build.gradle.kts new file mode 100644 index 000000000..ea15df63f --- /dev/null +++ b/codeCore/build.gradle.kts @@ -0,0 +1,35 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + id("java") + id("application") + id("org.jetbrains.kotlin.jvm") +} + +java { + targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_11 +} + +kotlin { + compilerOptions.jvmTarget = JvmTarget.JVM_11 +} + +dependencies { + // should have no dependencies to other modules + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + implementation("com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0") +} + +sourceSets { + main { + java { + srcDir("${project.projectDir}/src") + } + resources { + srcDir("${project.projectDir}/res") + } + } +} + +// note: there are no unit tests in this module! \ No newline at end of file diff --git a/codeGenCpu6502/build.gradle b/codeGenCpu6502/build.gradle deleted file mode 100644 index e50bd0dc2..000000000 --- a/codeGenCpu6502/build.gradle +++ /dev/null @@ -1,63 +0,0 @@ -plugins { - id 'java' - id 'application' - id "org.jetbrains.kotlin.jvm" -} - -java { - targetCompatibility = JavaLanguageVersion.of(javaVersion) - sourceCompatibility = JavaLanguageVersion.of(javaVersion) -} - -compileKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -compileTestKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -dependencies { - implementation project(':codeCore') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - // implementation "org.jetbrains.kotlin:kotlin-reflect" - implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0" - - testImplementation 'io.kotest:kotest-runner-junit5-jvm:5.9.1' - testImplementation 'io.kotest:kotest-framework-datatest:5.9.1' - testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' -} - -sourceSets { - main { - java { - srcDir "${project.projectDir}/src" - } - resources { - srcDir "${project.projectDir}/res" - } - } - test { - java { - srcDir "${project.projectDir}/test" - } - } -} - -test { - // Enable JUnit 5 (Gradle 4.6+). - useJUnitPlatform() - - // Always run tests, even when nothing changed. - dependsOn 'cleanTest' - - // Show test results. - testLogging { - events "skipped", "failed" - } -} diff --git a/codeGenCpu6502/build.gradle.kts b/codeGenCpu6502/build.gradle.kts new file mode 100644 index 000000000..95009d1bc --- /dev/null +++ b/codeGenCpu6502/build.gradle.kts @@ -0,0 +1,58 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + id("java") + id("application") + id("org.jetbrains.kotlin.jvm") +} + +java { + targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_11 +} + +kotlin { + compilerOptions.jvmTarget = JvmTarget.JVM_11 +} + + +dependencies { + implementation(project(":codeCore")) + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + // implementation "org.jetbrains.kotlin:kotlin-reflect" + implementation("com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0") + + testImplementation("io.kotest:kotest-runner-junit5-jvm:5.9.1") + testImplementation("io.kotest:kotest-framework-datatest:5.9.1") + testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") +} + +sourceSets { + main { + java { + setSrcDirs(listOf("$projectDir/src")) + } + resources { + setSrcDirs(listOf("$projectDir/res")) + } + } + test { + java { + setSrcDirs(listOf("$projectDir/test")) + } + } +} + +tasks.test { + // Enable JUnit 5 (Gradle 4.6+). + useJUnitPlatform() + + // Always run tests, even when nothing changed. + dependsOn("cleanTest") + + // Show test results. + testLogging { + events("skipped", "failed") + } +} \ No newline at end of file diff --git a/codeGenExperimental/build.gradle b/codeGenExperimental/build.gradle deleted file mode 100644 index 8906282b1..000000000 --- a/codeGenExperimental/build.gradle +++ /dev/null @@ -1,46 +0,0 @@ - -plugins { - id 'java' - id 'application' - id "org.jetbrains.kotlin.jvm" -} - -java { - targetCompatibility = JavaLanguageVersion.of(javaVersion) - sourceCompatibility = JavaLanguageVersion.of(javaVersion) -} - -compileKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -compileTestKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -dependencies { - implementation project(':codeCore') - implementation project(':intermediate') - implementation project(':codeGenIntermediate') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - // implementation "org.jetbrains.kotlin:kotlin-reflect" - implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0" - -} - -sourceSets { - main { - java { - srcDir "${project.projectDir}/src" - } - resources { - srcDir "${project.projectDir}/res" - } - } -} - -// note: there are no unit tests in this module! diff --git a/codeGenExperimental/build.gradle.kts b/codeGenExperimental/build.gradle.kts new file mode 100644 index 000000000..a0a56c5c3 --- /dev/null +++ b/codeGenExperimental/build.gradle.kts @@ -0,0 +1,39 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + id("java") + id("application") + id("org.jetbrains.kotlin.jvm") +} + +java { + targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_11 +} + +kotlin { + compilerOptions.jvmTarget = JvmTarget.JVM_11 +} + + +dependencies { + implementation(project(":codeCore")) + implementation(project(":intermediate")) + implementation(project(":codeGenIntermediate")) + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + // implementation "org.jetbrains.kotlin:kotlin-reflect" + implementation("com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0") +} + +sourceSets { + main { + java { + srcDir(file("${project.projectDir}/src")) + } + resources { + srcDir(file("${project.projectDir}/res")) + } + } +} + +// note: there are no unit tests in this module! \ No newline at end of file diff --git a/codeGenIntermediate/build.gradle b/codeGenIntermediate/build.gradle deleted file mode 100644 index 35425a75f..000000000 --- a/codeGenIntermediate/build.gradle +++ /dev/null @@ -1,66 +0,0 @@ - -plugins { - id 'java' - id 'application' - id "org.jetbrains.kotlin.jvm" -} - -java { - targetCompatibility = JavaLanguageVersion.of(javaVersion) - sourceCompatibility = JavaLanguageVersion.of(javaVersion) -} - -compileKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -compileTestKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -dependencies { - implementation project(':codeCore') - implementation project(':intermediate') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - // implementation "org.jetbrains.kotlin:kotlin-reflect" - implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0" - - testImplementation 'io.kotest:kotest-runner-junit5-jvm:5.9.1' - testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2' - testImplementation 'io.kotest:kotest-framework-datatest:5.9.1' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' - -} - -sourceSets { - main { - java { - srcDir "${project.projectDir}/src" - } - resources { - srcDir "${project.projectDir}/res" - } - } - test { - java { - srcDir "${project.projectDir}/test" - } - } -} - -test { - // Enable JUnit 5 (Gradle 4.6+). - useJUnitPlatform() - - // Always run tests, even when nothing changed. - dependsOn 'cleanTest' - - // Show test results. - testLogging { - events "skipped", "failed" - } -} diff --git a/codeGenIntermediate/build.gradle.kts b/codeGenIntermediate/build.gradle.kts new file mode 100644 index 000000000..ead4be761 --- /dev/null +++ b/codeGenIntermediate/build.gradle.kts @@ -0,0 +1,58 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + id("java") + id("application") + id("org.jetbrains.kotlin.jvm") +} + +java { + targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_11 +} + +kotlin { + compilerOptions.jvmTarget = JvmTarget.JVM_11 +} + +dependencies { + implementation(project(":codeCore")) + implementation(project(":intermediate")) + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + // implementation "org.jetbrains.kotlin:kotlin-reflect" + implementation("com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0") + + testImplementation("io.kotest:kotest-runner-junit5-jvm:5.9.1") + testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") + testImplementation("io.kotest:kotest-framework-datatest:5.9.1") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") +} + +sourceSets { + main { + java { + srcDir("${project.projectDir}/src") + } + resources { + srcDir("${project.projectDir}/res") + } + } + test { + java { + srcDir("${project.projectDir}/test") + } + } +} + +tasks.test { + // Enable JUnit 5 (Gradle 4.6+). + useJUnitPlatform() + + // Always run tests, even when nothing changed. + dependsOn("cleanTest") + + // Show test results. + testLogging { + events("skipped", "failed") + } +} \ No newline at end of file diff --git a/codeOptimizers/build.gradle b/codeOptimizers/build.gradle deleted file mode 100644 index 4e4f73dff..000000000 --- a/codeOptimizers/build.gradle +++ /dev/null @@ -1,44 +0,0 @@ - -plugins { - id 'java' - id 'application' - id "org.jetbrains.kotlin.jvm" -} - -java { - targetCompatibility = JavaLanguageVersion.of(javaVersion) - sourceCompatibility = JavaLanguageVersion.of(javaVersion) -} - -compileKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -compileTestKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -dependencies { - implementation project(':codeCore') - implementation project(':compilerAst') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0" - // implementation "org.jetbrains.kotlin:kotlin-reflect" -} - -sourceSets { - main { - java { - srcDir "${project.projectDir}/src" - } - resources { - srcDir "${project.projectDir}/res" - } - } -} - -// note: there are no unit tests in this module! diff --git a/codeOptimizers/build.gradle.kts b/codeOptimizers/build.gradle.kts new file mode 100644 index 000000000..dd19ad9db --- /dev/null +++ b/codeOptimizers/build.gradle.kts @@ -0,0 +1,38 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + id("java") + id("application") + id("org.jetbrains.kotlin.jvm") +} + +java { + targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_11 +} + +kotlin { + compilerOptions.jvmTarget = JvmTarget.JVM_11 +} + + +dependencies { + implementation(project(":codeCore")) + implementation(project(":compilerAst")) + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + implementation("com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0") + // implementation "org.jetbrains.kotlin:kotlin-reflect" +} + +sourceSets { + main { + java { + srcDir("${project.projectDir}/src") + } + resources { + srcDir("${project.projectDir}/res") + } + } +} + +// note: there are no unit tests in this module! \ No newline at end of file diff --git a/compiler/build.gradle b/compiler/build.gradle deleted file mode 100644 index 2d8881ff7..000000000 --- a/compiler/build.gradle +++ /dev/null @@ -1,119 +0,0 @@ -plugins { - id 'java' - id 'application' - id 'org.jetbrains.kotlin.jvm' - // id 'com.github.johnrengelman.shadow' version '8.1.1' - id 'io.github.goooler.shadow' version '8.1.7' - id 'com.peterabeles.gversion' version '1.10.2' -} - -java { - targetCompatibility = JavaLanguageVersion.of(javaVersion) - sourceCompatibility = JavaLanguageVersion.of(javaVersion) -} - -compileKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -compileTestKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -dependencies { - implementation project(':codeCore') - implementation project(':codeOptimizers') - implementation project(':compilerAst') - implementation project(':codeGenCpu6502') - implementation project(':codeGenIntermediate') - implementation project(':codeGenExperimental') - implementation project(':virtualmachine') - // implementation project(':beanshell') - implementation "org.antlr:antlr4-runtime:4.13.2" - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - // implementation "org.jetbrains.kotlin:kotlin-reflect" - implementation 'org.jetbrains.kotlinx:kotlinx-cli:0.3.6' - implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0" - - testImplementation project(':codeCore') - testImplementation project(':intermediate') - testImplementation 'io.kotest:kotest-runner-junit5-jvm:5.9.1' - testImplementation 'io.kotest:kotest-framework-datatest:5.9.1' - testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' - -} - -configurations.all { - exclude group: 'com.ibm.icu', module: 'icu4j' - exclude group: "org.antlr", module: "antlr4" -} - -configurations { - // strange antlr plugin issue, see https://github.com/gradle/gradle/issues/820 - // this avoids linking in the complete antlr binary jar - compile { - extendsFrom = extendsFrom.findAll { it != configurations.antlr } - } -} - -sourceSets { - main { - java { - srcDir "${project.projectDir}/src" - } - resources { - srcDir "${project.projectDir}/res" - } - } - test { - java { - srcDir "${project.projectDir}/test" - } - } -} - -startScripts.enabled = true - -application { - mainClass = 'prog8.CompilerMainKt' - applicationName = 'prog8c' -} - -shadowJar { - archiveBaseName = 'prog8c' - archiveVersion = version - // minimize() -} - - -test { - // Enable JUnit 5 (Gradle 4.6+). - useJUnitPlatform() - - // Always run tests, even when nothing changed. - dependsOn 'cleanTest' - - // Show test results. - testLogging { - events "skipped", "failed" - } -} - -gversion { - srcDir = "src/" // path is relative to the sub-project by default - classPackage = "prog8.buildversion" - className = "Version" - language = "kotlin" -} - - -build.finalizedBy installDist, installShadowDist - -compileKotlin.dependsOn createVersionFile // , failDirtyNotSnapshot -compileJava.dependsOn createVersionFile - diff --git a/compiler/build.gradle.kts b/compiler/build.gradle.kts new file mode 100644 index 000000000..7f681703d --- /dev/null +++ b/compiler/build.gradle.kts @@ -0,0 +1,107 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + id("java") + id("application") + id("org.jetbrains.kotlin.jvm") + // id("com.github.johnrengelman.shadow") version "8.1.1" + id("io.github.goooler.shadow") version "8.1.7" + id("com.peterabeles.gversion") version "1.10.2" +} + +java { + targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_11 +} + +kotlin { + compilerOptions.jvmTarget = JvmTarget.JVM_11 +} + +dependencies { + implementation(project(":codeCore")) + implementation(project(":codeOptimizers")) + implementation(project(":compilerAst")) + implementation(project(":codeGenCpu6502")) + implementation(project(":codeGenIntermediate")) + implementation(project(":codeGenExperimental")) + implementation(project(":virtualmachine")) + // implementation(project(":beanshell")) + implementation("org.antlr:antlr4-runtime:4.13.2") + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + // implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation("org.jetbrains.kotlinx:kotlinx-cli:0.3.6") + implementation("com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0") + + testImplementation(project(":codeCore")) + testImplementation(project(":intermediate")) + testImplementation("io.kotest:kotest-runner-junit5-jvm:5.9.1") + testImplementation("io.kotest:kotest-framework-datatest:5.9.1") + testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") +} + +configurations.all { + exclude(group = "com.ibm.icu", module = "icu4j") + exclude(group = "org.antlr", module = "antlr4") +} + +sourceSets { + main { + java { + srcDir("${project.projectDir}/src") + } + resources { + srcDir("${project.projectDir}/res") + } + } + test { + java { + srcDir("${project.projectDir}/test") + } + } +} + +tasks.startScripts { + enabled = true +} + +application { + mainClass.set("prog8.CompilerMainKt") + applicationName = "prog8c" +} + +tasks.shadowJar { + archiveBaseName.set("prog8c") + archiveVersion.set(version.toString()) + // minimize() +} + +tasks.test { + // Enable JUnit 5 (Gradle 4.6+). + useJUnitPlatform() + + // Show test results. + testLogging { + events("skipped", "failed") + } +} + +gversion { + srcDir = "src/" // path is relative to the sub-project by default + classPackage = "prog8.buildversion" + className = "Version" + language = "kotlin" +} + +tasks.build { + finalizedBy(tasks.installDist, tasks.installShadowDist) +} + +tasks.compileKotlin { + dependsOn(tasks.createVersionFile) // , failDirtyNotSnapshot +} + +tasks.compileJava { + dependsOn(tasks.createVersionFile) +} \ No newline at end of file diff --git a/compilerAst/build.gradle b/compilerAst/build.gradle deleted file mode 100644 index f8d567206..000000000 --- a/compilerAst/build.gradle +++ /dev/null @@ -1,41 +0,0 @@ -plugins { - id "java" - id "org.jetbrains.kotlin.jvm" -} - -java { - targetCompatibility = JavaLanguageVersion.of(javaVersion) - sourceCompatibility = JavaLanguageVersion.of(javaVersion) -} - -compileKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -compileTestKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -dependencies { - implementation project(':codeCore') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - implementation "org.antlr:antlr4-runtime:4.13.2" - implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0" - implementation project(':parser') -} - -configurations.all { - exclude group: 'com.ibm.icu', module: 'icu4j' -} - -sourceSets { - main { - java { - srcDir "${project.projectDir}/src" - } - } -} diff --git a/compilerAst/build.gradle.kts b/compilerAst/build.gradle.kts new file mode 100644 index 000000000..3c14a3716 --- /dev/null +++ b/compilerAst/build.gradle.kts @@ -0,0 +1,35 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + id("java") + id("org.jetbrains.kotlin.jvm") +} + +java { + targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_11 +} + +kotlin { + compilerOptions.jvmTarget = JvmTarget.JVM_11 +} + +dependencies { + implementation(project(":codeCore")) + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + implementation("org.antlr:antlr4-runtime:4.13.2") + implementation("com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0") + implementation(project(":parser")) +} + +configurations.all { + exclude(group = "com.ibm.icu", module = "icu4j") +} + +sourceSets { + main { + java { + srcDir("${project.projectDir}/src") + } + } +} \ No newline at end of file diff --git a/intermediate/build.gradle b/intermediate/build.gradle deleted file mode 100644 index 0ef1d482e..000000000 --- a/intermediate/build.gradle +++ /dev/null @@ -1,62 +0,0 @@ - -plugins { - id 'java' - id 'application' - id "org.jetbrains.kotlin.jvm" -} - -java { - targetCompatibility = JavaLanguageVersion.of(javaVersion) - sourceCompatibility = JavaLanguageVersion.of(javaVersion) -} - -compileKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -compileTestKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -dependencies { - implementation project(':codeCore') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - testImplementation 'io.kotest:kotest-runner-junit5-jvm:5.9.1' - testImplementation 'io.kotest:kotest-framework-datatest:5.9.1' - testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' -} - -sourceSets { - main { - java { - srcDir "${project.projectDir}/src" - } - resources { - srcDir "${project.projectDir}/res" - } - } - - test { - java { - srcDir "${project.projectDir}/test" - } - } -} - -test { - // Enable JUnit 5 (Gradle 4.6+). - useJUnitPlatform() - - // Always run tests, even when nothing changed. - dependsOn 'cleanTest' - - // Show test results. - testLogging { - events "skipped", "failed" - } -} diff --git a/intermediate/build.gradle.kts b/intermediate/build.gradle.kts new file mode 100644 index 000000000..0c73c0d1a --- /dev/null +++ b/intermediate/build.gradle.kts @@ -0,0 +1,55 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + id("java") + id("application") + id("org.jetbrains.kotlin.jvm") +} + +java { + targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_11 +} + +kotlin { + compilerOptions.jvmTarget = JvmTarget.JVM_11 +} + +dependencies { + implementation(project(":codeCore")) + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + testImplementation("io.kotest:kotest-runner-junit5-jvm:5.9.1") + testImplementation("io.kotest:kotest-framework-datatest:5.9.1") + testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") +} + +sourceSets { + main { + java { + srcDir("${project.projectDir}/src") + } + resources { + srcDir("${project.projectDir}/res") + } + } + + test { + java { + srcDir("${project.projectDir}/test") + } + } +} + +tasks.test { + // Enable JUnit 5 (Gradle 4.6+). + useJUnitPlatform() + + // Always run tests, even when nothing changed. + dependsOn("cleanTest") + + // Show test results. + testLogging { + events("skipped", "failed") + } +} \ No newline at end of file diff --git a/parser/build.gradle b/parser/build.gradle deleted file mode 100644 index 3b354091d..000000000 --- a/parser/build.gradle +++ /dev/null @@ -1,40 +0,0 @@ -plugins { - id 'antlr' - id 'java' -} - -java { - targetCompatibility = JavaLanguageVersion.of(javaVersion) - sourceCompatibility = JavaLanguageVersion.of(javaVersion) -} - -dependencies { - antlr 'org.antlr:antlr4:4.13.2' - implementation 'org.antlr:antlr4-runtime:4.13.2' -} - -configurations.all { - exclude group: 'com.ibm.icu', module: 'icu4j' -} - - -compileJava { - dependsOn tasks.withType(AntlrTask) -} - -generateGrammarSource { - outputDirectory = file("src/prog8/parser") - arguments += ["-no-listener","-no-visitor"] -} - - -sourceSets { - main { - java { - srcDir "${project.projectDir}/src" - } - antlr { - srcDirs = ["${project.projectDir}/antlr"] - } - } -} diff --git a/parser/build.gradle.kts b/parser/build.gradle.kts new file mode 100644 index 000000000..bb028a861 --- /dev/null +++ b/parser/build.gradle.kts @@ -0,0 +1,40 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + id("antlr") + id("java") +} + +java { + targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_11 +} + +dependencies { + antlr("org.antlr:antlr4:4.13.2") + implementation("org.antlr:antlr4-runtime:4.13.2") +} + +configurations.all { + exclude(group = "com.ibm.icu", module = "icu4j") +} + +tasks.compileJava { + dependsOn(tasks.withType()) +} + +tasks.generateGrammarSource { + outputDirectory = file("src/prog8/parser") + arguments.addAll(listOf("-no-listener", "-no-visitor")) +} + +sourceSets { + main { + java { + srcDir("${project.projectDir}/src") + } + antlr { + srcDirs(listOf("${project.projectDir}/antlr")) + } + } +} \ No newline at end of file diff --git a/virtualmachine/build.gradle b/virtualmachine/build.gradle deleted file mode 100644 index 33a952d7c..000000000 --- a/virtualmachine/build.gradle +++ /dev/null @@ -1,64 +0,0 @@ - -plugins { - id 'java' - id 'application' - id "org.jetbrains.kotlin.jvm" -} - -java { - targetCompatibility = JavaLanguageVersion.of(javaVersion) - sourceCompatibility = JavaLanguageVersion.of(javaVersion) -} - -compileKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -compileTestKotlin { - kotlinOptions { - jvmTarget = javaVersion - } -} - -dependencies { - implementation project(':codeCore') - implementation project(':intermediate') - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - implementation "com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0" - testImplementation 'io.kotest:kotest-runner-junit5-jvm:5.9.1' - testImplementation 'io.kotest:kotest-framework-datatest:5.9.1' - testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' -} - -sourceSets { - main { - java { - srcDir "${project.projectDir}/src" - } - resources { - srcDir "${project.projectDir}/res" - } - } - - test { - java { - srcDir "${project.projectDir}/test" - } - } -} - -test { - // Enable JUnit 5 (Gradle 4.6+). - useJUnitPlatform() - - // Always run tests, even when nothing changed. - dependsOn 'cleanTest' - - // Show test results. - testLogging { - events "skipped", "failed" - } -} diff --git a/virtualmachine/build.gradle.kts b/virtualmachine/build.gradle.kts new file mode 100644 index 000000000..29b1f5d1d --- /dev/null +++ b/virtualmachine/build.gradle.kts @@ -0,0 +1,54 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget + +plugins { + id("java") + id("application") + id("org.jetbrains.kotlin.jvm") +} + +java { + targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_11 +} + +kotlin { + compilerOptions.jvmTarget = JvmTarget.JVM_11 +} + +dependencies { + implementation(project(":codeCore")) + implementation(project(":intermediate")) + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + implementation("com.michael-bull.kotlin-result:kotlin-result-jvm:2.0.0") + testImplementation("io.kotest:kotest-runner-junit5-jvm:5.9.1") + testImplementation("io.kotest:kotest-framework-datatest:5.9.1") + testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") + testRuntimeOnly("org.junit.platform:junit-platform-launcher") +} + +sourceSets { + main { + java { + setSrcDirs(listOf("${project.projectDir}/src")) + } + resources { + setSrcDirs(listOf("${project.projectDir}/res")) + } + } + + test { + java { + setSrcDirs(listOf("${project.projectDir}/test")) + } + } +} + +tasks.test { + // Enable JUnit 5 (Gradle 4.6+). + useJUnitPlatform() + + // Show test results. + testLogging { + events("skipped", "failed") + } +} \ No newline at end of file