From 7f4455537d368a546ff456cba7d0d5d59c324278 Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Tue, 27 Mar 2018 16:05:18 +0700 Subject: [PATCH] [samples] Move arithmetic parser common code into a separate project --- samples/calculator/androidApp/build.gradle | 3 ++- samples/calculator/build.gradle | 6 +++++- samples/calculator/jvmCliApp/build.gradle | 8 ++++---- samples/calculator/jvmCliApp/settings.gradle | 1 - samples/calculator/parser/build.gradle | 6 +++--- samples/calculator/parser/settings.gradle | 1 - .../src/main/kotlin/org/konan/arithmeticparser/Parser.kt | 2 +- samples/settings.gradle | 2 ++ 8 files changed, 17 insertions(+), 12 deletions(-) delete mode 100644 samples/calculator/jvmCliApp/settings.gradle delete mode 100644 samples/calculator/parser/settings.gradle diff --git a/samples/calculator/androidApp/build.gradle b/samples/calculator/androidApp/build.gradle index 5b631b4480c..0b2d6982af3 100644 --- a/samples/calculator/androidApp/build.gradle +++ b/samples/calculator/androidApp/build.gradle @@ -1,9 +1,10 @@ buildscript { - ext.kotlin_version = '1.2.21' + ext.kotlin_version = '1.2.31' repositories { google() jcenter() + mavenCentral() } dependencies { diff --git a/samples/calculator/build.gradle b/samples/calculator/build.gradle index f7ac02857f3..212ada062d1 100644 --- a/samples/calculator/build.gradle +++ b/samples/calculator/build.gradle @@ -4,6 +4,10 @@ konan.targets = ['iphone', 'iphone_sim'] konanArtifacts { framework('KotlinArithmeticParser') { - srcDir 'parser/src/main/kotlin' + enableMultiplatform true } } + +dependencies { + expectedBy project(':calculator:parser') +} diff --git a/samples/calculator/jvmCliApp/build.gradle b/samples/calculator/jvmCliApp/build.gradle index 6b8a1a59056..317225f325b 100644 --- a/samples/calculator/jvmCliApp/build.gradle +++ b/samples/calculator/jvmCliApp/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.2.21' + ext.kotlin_version = '1.2.31' repositories { mavenCentral() @@ -10,7 +10,7 @@ buildscript { } } -apply plugin: 'kotlin' +apply plugin: 'kotlin-platform-jvm' apply plugin: 'application' repositories { @@ -18,8 +18,8 @@ repositories { } dependencies { - compile "org.jetbrains.kotlin:kotlin-stdlib" - compile "org.jetbrains.kotlin.konan.samples:arithmetic-parser" + compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" + expectedBy project(":calculator:parser") } applicationName = "KotlinCalculator" diff --git a/samples/calculator/jvmCliApp/settings.gradle b/samples/calculator/jvmCliApp/settings.gradle deleted file mode 100644 index b1ad6b6bedf..00000000000 --- a/samples/calculator/jvmCliApp/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -includeBuild '../parser' diff --git a/samples/calculator/parser/build.gradle b/samples/calculator/parser/build.gradle index 53b555ad863..1e43513f007 100644 --- a/samples/calculator/parser/build.gradle +++ b/samples/calculator/parser/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.2.21' + ext.kotlin_version = '1.2.31' repositories { mavenCentral() @@ -10,7 +10,7 @@ buildscript { } } -apply plugin: 'kotlin' +apply plugin: 'kotlin-platform-common' group = 'org.jetbrains.kotlin.konan.samples' @@ -19,5 +19,5 @@ repositories { } dependencies { - compile "org.jetbrains.kotlin:kotlin-stdlib" + compile "org.jetbrains.kotlin:kotlin-stdlib-common:$kotlin_version" } diff --git a/samples/calculator/parser/settings.gradle b/samples/calculator/parser/settings.gradle deleted file mode 100644 index b18ac817593..00000000000 --- a/samples/calculator/parser/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'arithmetic-parser' diff --git a/samples/calculator/parser/src/main/kotlin/org/konan/arithmeticparser/Parser.kt b/samples/calculator/parser/src/main/kotlin/org/konan/arithmeticparser/Parser.kt index 02e19ac6f1a..42b4ddd3d86 100644 --- a/samples/calculator/parser/src/main/kotlin/org/konan/arithmeticparser/Parser.kt +++ b/samples/calculator/parser/src/main/kotlin/org/konan/arithmeticparser/Parser.kt @@ -272,7 +272,7 @@ internal class Tokenizer(private val expression: String) { } } - private fun Char.isNumberChar(): Boolean = this.isDigit() || this == '.' + private fun Char.isNumberChar(): Boolean = this in '0'..'9' || this == '.' fun tryReadBinaryOperator(): BinaryOperator? = BinaryOperator.values().firstOrNull { tryRead(it.sign) } diff --git a/samples/settings.gradle b/samples/settings.gradle index 34b50304831..2634c77eaaa 100644 --- a/samples/settings.gradle +++ b/samples/settings.gradle @@ -1,6 +1,8 @@ // NOTE: If a new sample uses only platform libs, // please add it into the 'buildSamplesWithPlatfromLibs' task in build.gradle. include ':calculator' +include ':calculator:jvmCliApp' +include ':calculator:parser' include ':csvparser' include ':gitchurn' include ':globalState'