kotlinx.collections.immutable
kotlinx.collections.immutable copied to clipboard
feat: add jpms support with `module-info.java`
Summary
This PR adds a module-info.java definition, bringing kotlinx-collections-immutable to full JPMS support; downstream users can use the new module with the following directive:
module-info.java
module your.module.here {
requires kotlinx.collections.immutable;
}
Fixes and closes #157
Other changes
In general, the build was cleaned up, and Dependency Locking and Dependency Verification are now turned on, as is the case for other Kotlin projects.
Trying it out
This is still a draft because it is being tested downstream. If you would like to test this module, you can do so with:
build.gradle.kts
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8-rc-1")
}
settings.gradle.kts
dependencyResolutionManagement {
repositories {
mavenCentral()
// 👇 this repo
maven {
name = "elide-snapshots"
url = uri("https://elide-snapshots.storage-download.googleapis.com/repository/v3/")
}
}
}
Changelog
- feat: add
module-info.java - feat: add
Java9Modularityused by other kotlinx projects - feat: build
coreproject as multi-release jar - chore: upgrade gradle →
8.6(to run under jvm21) - chore: upgrade kotlin →
1.9.22 - chore: general build cleanup (use kotlin for most build scripts)
- chore: add gradle lockfiles and locking config
- chore: add gradle dependency verification config
cc / @qurbonzoda @daniel-jasinski @Sporking @qwwdfsad
Good PR, but there is a lot of housekeeping and the original intention gets lost in all the minutiae. I would suggest splitting this PR, at least into the chore and feature parts.
@daniel-jasinski Thank you for that review
@ilya-g Okay, no problem. I will apply those changes. Thank you as well
Is there still any progress on this issue?
@sgammon do you plan continue working on this PR?