From 752599954abd78e0db90ccbe5cb8b523ea4f6cf1 Mon Sep 17 00:00:00 2001 From: Philip Wedemann <22521688+hfhbd@users.noreply.github.com> Date: Mon, 18 Jul 2022 17:43:04 +0200 Subject: [PATCH] Fix failing sqlite VerifyMigrationTask with Hsql (#3380) Co-authored-by: hfhbd --- .../sqldelight/gradle/VerifyMigrationTask.kt | 1 + .../cash/sqldelight/tests/MigrationTest.kt | 9 ++++++++ .../build.gradle | 21 +++++++++++++++++++ .../settings.gradle | 3 +++ .../src/main/sqldelight/example/Foo.sq | 3 +++ 5 files changed, 37 insertions(+) create mode 100644 sqldelight-gradle-plugin/src/test/verify-migration-disabled-no-errors/build.gradle create mode 100644 sqldelight-gradle-plugin/src/test/verify-migration-disabled-no-errors/settings.gradle create mode 100644 sqldelight-gradle-plugin/src/test/verify-migration-disabled-no-errors/src/main/sqldelight/example/Foo.sq diff --git a/sqldelight-gradle-plugin/src/main/kotlin/app/cash/sqldelight/gradle/VerifyMigrationTask.kt b/sqldelight-gradle-plugin/src/main/kotlin/app/cash/sqldelight/gradle/VerifyMigrationTask.kt index 777278f7764..0db8ba924a8 100644 --- a/sqldelight-gradle-plugin/src/main/kotlin/app/cash/sqldelight/gradle/VerifyMigrationTask.kt +++ b/sqldelight-gradle-plugin/src/main/kotlin/app/cash/sqldelight/gradle/VerifyMigrationTask.kt @@ -113,6 +113,7 @@ abstract class VerifyMigrationTask : SqlDelightWorkerTask() { } override fun execute() { + if (!environment.dialect.isSqlite) return parameters.workingDirectory.get().asFile.deleteRecursively() val catalog = createCurrentDb() diff --git a/sqldelight-gradle-plugin/src/test/kotlin/app/cash/sqldelight/tests/MigrationTest.kt b/sqldelight-gradle-plugin/src/test/kotlin/app/cash/sqldelight/tests/MigrationTest.kt index b8a98f14c6f..11dda08675e 100644 --- a/sqldelight-gradle-plugin/src/test/kotlin/app/cash/sqldelight/tests/MigrationTest.kt +++ b/sqldelight-gradle-plugin/src/test/kotlin/app/cash/sqldelight/tests/MigrationTest.kt @@ -27,6 +27,15 @@ class MigrationTest { assertThat(output.output).contains("BUILD SUCCESSFUL") } + @Test fun `verification disabled succeeds with hsql dialect`() { + val output = GradleRunner.create() + .withCommonConfiguration(File("src/test/verify-migration-disabled-no-errors")) + .withArguments("clean", "verifyMainDatabaseMigration", "--stacktrace") + .build() + + assertThat(output.output).contains("BUILD SUCCESSFUL") + } + @Test fun `failing migration errors properly`() { val output = GradleRunner.create() .withCommonConfiguration(File("src/test/migration-failure")) diff --git a/sqldelight-gradle-plugin/src/test/verify-migration-disabled-no-errors/build.gradle b/sqldelight-gradle-plugin/src/test/verify-migration-disabled-no-errors/build.gradle new file mode 100644 index 00000000000..3821151d9cf --- /dev/null +++ b/sqldelight-gradle-plugin/src/test/verify-migration-disabled-no-errors/build.gradle @@ -0,0 +1,21 @@ +buildscript { + apply from: "${projectDir.absolutePath}/../buildscript.gradle" +} + +apply plugin: 'org.jetbrains.kotlin.jvm' +apply plugin: 'app.cash.sqldelight' + +repositories { + maven { + url "file://${projectDir.absolutePath}/../../../../build/localMaven" + } + mavenCentral() +} + +sqldelight { + Database { + packageName = "com.example" + dialect("app.cash.sqldelight:hsql-dialect:${app.cash.sqldelight.VersionKt.VERSION}") + verifyMigrations = false + } +} diff --git a/sqldelight-gradle-plugin/src/test/verify-migration-disabled-no-errors/settings.gradle b/sqldelight-gradle-plugin/src/test/verify-migration-disabled-no-errors/settings.gradle new file mode 100644 index 00000000000..4765d4ca606 --- /dev/null +++ b/sqldelight-gradle-plugin/src/test/verify-migration-disabled-no-errors/settings.gradle @@ -0,0 +1,3 @@ +apply from: "../settings.gradle" + +rootProject.name = 'sqldelight-migrations' diff --git a/sqldelight-gradle-plugin/src/test/verify-migration-disabled-no-errors/src/main/sqldelight/example/Foo.sq b/sqldelight-gradle-plugin/src/test/verify-migration-disabled-no-errors/src/main/sqldelight/example/Foo.sq new file mode 100644 index 00000000000..3b9d1b31db3 --- /dev/null +++ b/sqldelight-gradle-plugin/src/test/verify-migration-disabled-no-errors/src/main/sqldelight/example/Foo.sq @@ -0,0 +1,3 @@ +CREATE TABLE foo( +bar BIGINT PRIMARY KEY AUTO_INCREMENT GENERATED ALWAYS AS IDENTITY +);