sqldelight icon indicating copy to clipboard operation
sqldelight copied to clipboard

Self-Referencing Dependencies in SQLDelight 2.0.1 sqlite-*-dialect and sqlite-json-module POM Files

Open rflash95 opened this issue 1 year ago • 3 comments

SQLDelight Version

2.0.1

Operating System

Mac Os 14.1.1

Gradle Version

8.5

Kotlin Version

1.9.20

Dialect

sqlite-3-38-dialect

AGP Version

No response

Describe the Bug

During the Gradle build process, errors occur related to self-referencing dependencies within POM files of app.cash.sqldelight:sqlite-3-*-dialect:2.0.1 and app.cash.sqldelight:sqlite-json-module:2.0.1. Despite these errors, the build completes successfully, but it may be indicative of a potential problem with regards to dependency resolution for these SQLDelight components.

Stacktrace

22.07.32: Executing 'assemble'...

> Task :checkKotlinGradlePluginConfigurationErrors

> Task :generateMainDatabaseInterface UP-TO-DATE
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-38-dialect/2.0.1/8ec557790075886a8230413abbc4a7f1285e93b/sqlite-3-38-dialect-2.0.1.pom:
    'dependencies.dependency[app.cash.sqldelight:sqlite-3-38-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-38-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-38-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-35-dialect/2.0.1/25bf707c08fa4fff42d833bca178acec5c435188/sqlite-3-35-dialect-2.0.1.pom:
    'dependencies.dependency[app.cash.sqldelight:sqlite-3-35-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-35-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-35-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-33-dialect/2.0.1/f5854e245284992dad4f4cb3c159eae70d60314a/sqlite-3-33-dialect-2.0.1.pom:
    'dependencies.dependency[app.cash.sqldelight:sqlite-3-33-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-33-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-33-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-30-dialect/2.0.1/c5cbc0bddf1c4090065ed6af6c677113c14e98f5/sqlite-3-30-dialect-2.0.1.pom:
    'dependencies.dependency[app.cash.sqldelight:sqlite-3-30-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-30-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-30-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-25-dialect/2.0.1/70e830e6217dd5ded75a4234f24373e4cf7e6be5/sqlite-3-25-dialect-2.0.1.pom:
    'dependencies.dependency[app.cash.sqldelight:sqlite-3-25-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-25-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-25-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-24-dialect/2.0.1/5e65b6081fc7e395662e52d7886cc26e216b3097/sqlite-3-24-dialect-2.0.1.pom:
    'dependencies.dependency[app.cash.sqldelight:sqlite-3-24-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-24-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-24-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-18-dialect/2.0.1/7680241de3b36b61b579c03024da7bda1c8483bc/sqlite-3-18-dialect-2.0.1.pom:
    'dependencies.dependency[app.cash.sqldelight:sqlite-3-18-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-18-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-18-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-json-module/2.0.1/c5a4f6b43c4c320c16e396ae1f7b45cd5c5c3cd8/sqlite-json-module-2.0.1.pom:
    'dependencies.dependency[app.cash.sqldelight:sqlite-json-module:2.0.1]' for app.cash.sqldelight:sqlite-json-module:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-json-module:2.0.1

> Task :compileKotlin UP-TO-DATE

> Task :compileJava NO-SOURCE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :resolveMainClassName UP-TO-DATE
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-json-module/2.0.1/c5a4f6b43c4c320c16e396ae1f7b45cd5c5c3cd8/sqlite-json-module-2.0.1.pom:
    'dependencies.dependency[app.cash.sqldelight:sqlite-json-module:2.0.1]' for app.cash.sqldelight:sqlite-json-module:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-json-module:2.0.1

> Task :bootJar UP-TO-DATE

> Task :jar UP-TO-DATE
> Task :assemble UP-TO-DATE

BUILD SUCCESSFUL in 759ms
7 actionable tasks: 1 executed, 6 up-to-date
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-json-module/2.0.1/c5a4f6b43c4c320c16e396ae1f7b45cd5c5c3cd8/sqlite-json-module-2.0.1.pom:
    'dependencies.dependency[app.cash.sqldelight:sqlite-json-module:2.0.1]' for app.cash.sqldelight:sqlite-json-module:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-json-module:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-json-module/2.0.1/c5a4f6b43c4c320c16e396ae1f7b45cd5c5c3cd8/sqlite-json-module-2.0.1.pom:
    'dependencies.dependency[app.cash.sqldelight:sqlite-json-module:2.0.1]' for app.cash.sqldelight:sqlite-json-module:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-json-module:2.0.1
22.07.33: Execution finished 'assemble'.

Gradle Build Script

plugins {
    id("org.springframework.boot") version "3.1.5"
    id("io.spring.dependency-management") version "1.1.4"
    id("app.cash.sqldelight") version "2.0.1"
    kotlin("jvm") version "1.9.20"
    // Other plugins
}

// ...

dependencies {
    implementation("app.cash.sqldelight:sqlite-driver:2.0.1")
    implementation("app.cash.sqldelight:sqlite-json-module:2.0.1")
    implementation("app.cash.sqldelight:primitive-adapters:2.0.1")

    // Other dependencies
}

sqldelight {
    databases {
        create("Database") {
            packageName.set("com.example.example")
            dialect("app.cash.sqldelight:sqlite-3-38-dialect:2.0.1")
            module("app.cash.sqldelight:sqlite-json-module:2.0.1")
            srcDirs.setFrom("src/main/sqldelight")

        }
    }
}

// ...

rflash95 avatar Dec 09 '23 15:12 rflash95

That's strange, there is no cyclic dependency on the json-module in our build. Can you please try it again with removing implementation("app.cash.sqldelight:sqlite-json-module:2.0.1")?

One cause could be the java-test-fixture plugin which isn't mapped to maven correctly, this is bug in Gradle and requires Gradle meta data, https://docs.gradle.org/current/userguide/java_testing.html#publishing_test_fixtures

hfhbd avatar Dec 09 '23 20:12 hfhbd

I've tried removing the implementation("app.cash.sqldelight:sqlite-json-module:2.0.1") dependency as suggested, but the issue with self-referencing dependencies for sqlite-3-*-dialect versions and app.cash.sqldelight:sqlite-json-module still occurs. The warnings are identical to the ones I reported earlier, and the Gradle build continues to complete successfully with these warnings present.

10.35.42: Executing 'assemble'...

> Task :checkKotlinGradlePluginConfigurationErrors

> Task :generateMainDatabaseInterface UP-TO-DATE
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-38-dialect/2.0.1/8ec557790075886a8230413abbc4a7f1285e93b/sqlite-3-38-dialect-2.0.1.pom:
	'dependencies.dependency[app.cash.sqldelight:sqlite-3-38-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-38-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-38-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-35-dialect/2.0.1/25bf707c08fa4fff42d833bca178acec5c435188/sqlite-3-35-dialect-2.0.1.pom:
	'dependencies.dependency[app.cash.sqldelight:sqlite-3-35-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-35-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-35-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-33-dialect/2.0.1/f5854e245284992dad4f4cb3c159eae70d60314a/sqlite-3-33-dialect-2.0.1.pom:
	'dependencies.dependency[app.cash.sqldelight:sqlite-3-33-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-33-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-33-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-30-dialect/2.0.1/c5cbc0bddf1c4090065ed6af6c677113c14e98f5/sqlite-3-30-dialect-2.0.1.pom:
	'dependencies.dependency[app.cash.sqldelight:sqlite-3-30-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-30-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-30-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-25-dialect/2.0.1/70e830e6217dd5ded75a4234f24373e4cf7e6be5/sqlite-3-25-dialect-2.0.1.pom:
	'dependencies.dependency[app.cash.sqldelight:sqlite-3-25-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-25-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-25-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-24-dialect/2.0.1/5e65b6081fc7e395662e52d7886cc26e216b3097/sqlite-3-24-dialect-2.0.1.pom:
	'dependencies.dependency[app.cash.sqldelight:sqlite-3-24-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-24-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-24-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-3-18-dialect/2.0.1/7680241de3b36b61b579c03024da7bda1c8483bc/sqlite-3-18-dialect-2.0.1.pom:
	'dependencies.dependency[app.cash.sqldelight:sqlite-3-18-dialect:2.0.1]' for app.cash.sqldelight:sqlite-3-18-dialect:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-3-18-dialect:2.0.1
Errors occurred while building effective model from /Users/myuser/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/sqlite-json-module/2.0.1/c5a4f6b43c4c320c16e396ae1f7b45cd5c5c3cd8/sqlite-json-module-2.0.1.pom:
	'dependencies.dependency[app.cash.sqldelight:sqlite-json-module:2.0.1]' for app.cash.sqldelight:sqlite-json-module:2.0.1 is referencing itself. in app.cash.sqldelight:sqlite-json-module:2.0.1

> Task :compileKotlin UP-TO-DATE
> Task :compileJava NO-SOURCE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :resolveMainClassName UP-TO-DATE
> Task :bootJar UP-TO-DATE
> Task :jar UP-TO-DATE
> Task :assemble UP-TO-DATE

BUILD SUCCESSFUL in 1s
7 actionable tasks: 1 executed, 6 up-to-date
10.35.44: Execution finished 'assemble'.

rflash95 avatar Dec 10 '23 03:12 rflash95

Hello. Any update on this issue?

kellymalakibusiness avatar Apr 09 '24 18:04 kellymalakibusiness