MavenDeployer icon indicating copy to clipboard operation
MavenDeployer copied to clipboard

'api' dependencies have wrong 'runtime' scope in pom.xml

Open davidvavra opened this issue 10 months ago • 4 comments

Hello, thanks for this great library.

I have transitive dependencies in my KMP library, they are marked as 'api' instead of 'implementation'. However when published locally or to Maven Central, they are marked as 'runtime' instead of 'compile' in pom.xml. Which forces the library user to add these transitive dependencies manually.

The library is open-source here: https://github.com/step-up-labs/spayd-kmp

Dependencies I'm talking about:

api(libs.bignum)
api(libs.kotlinx.datetime)

which maps to POM:

<dependencies>
    <dependency>
      <groupId>com.ionspin.kotlin</groupId>
      <artifactId>bignum</artifactId>
      <version>0.3.10</version>
      <scope>runtime</scope>
  </dependency>
  <dependency>
      <groupId>org.jetbrains.kotlinx</groupId>
      <artifactId>kotlinx-datetime</artifactId>
      <version>0.6.1</version>
      <scope>runtime</scope>
  </dependency>
</dependencies>

Is this a bug in maven deployer or could you please point me in some direction which might fix the issue?

davidvavra avatar Jan 23 '25 12:01 davidvavra

We don't modify dependencies, it may be a Kotlin Gradle Plugin bug.

Could you try publishing to a local repository without MavenDeployer and see if it still has the wrong scope? https://kotlinlang.org/docs/multiplatform-publish-lib.html

Most likely you just have to run some publish*() task.

natario1 avatar Jan 23 '25 13:01 natario1

You are right. When I try to publish with maven-publish plugin and command gradle publishToMavenLocal, it also creates dependencies with runtime scope. Do you have advice where I should report this?

davidvavra avatar Jan 23 '25 13:01 davidvavra

https://youtrack.jetbrains.com/issues

natario1 avatar Jan 23 '25 13:01 natario1

https://youtrack.jetbrains.com/issue/KT-74678/KMP-api-dependency-is-published-to-Maven-with-wrong-scope

davidvavra avatar Jan 23 '25 18:01 davidvavra