Skip to content

Refactor build configs to use kotlin multiplatform plugin#278

Merged
serpro69 merged 30 commits into
masterfrom
kmp
Apr 10, 2026
Merged

Refactor build configs to use kotlin multiplatform plugin#278
serpro69 merged 30 commits into
masterfrom
kmp

Conversation

@serpro69

@serpro69 serpro69 commented Aug 27, 2025

Copy link
Copy Markdown
Owner

TODO

  • test publishing
  • cleanup buildSrc plugins
    • there's likely some dependencies that are duplicated which were there due to usage of shadow plugin
    • look over other stuff and clean it up
  • update workflows
    • mvp: build and test from pr and merges to master; good-to-have: publishing snapshots from merges to master
  • fix docs
    • snippets are broken

@serpro69 serpro69 force-pushed the kmp branch 2 times, most recently from 4b0f38f to 6ecfdc3 Compare August 27, 2025 18:02
@serpro69 serpro69 changed the title Kmp Refactor build configs to use kotlin multiplatform plugin Aug 28, 2025
@serpro69 serpro69 marked this pull request as ready for review August 28, 2025 14:00
@serpro69

This comment was marked as resolved.

@serpro69 serpro69 marked this pull request as draft September 4, 2025 15:20
@serpro69 serpro69 force-pushed the kmp branch 9 times, most recently from d5568bd to 56cd35a Compare September 12, 2025 14:09
@serpro69 serpro69 added breaking 💔 Indicates a breaking change enhancement 🚀 New feature or request core 🧬 Issue related to :core module labels Sep 13, 2025
@serpro69 serpro69 requested a review from Copilot September 13, 2025 14:43

This comment was marked as resolved.

Prepare for refactoring to use kotlin multiplatform plugin.
Shadow isn't really supported by kmp, and I really don't want to add any
workarounds to make it work for jvm sources, so just killing it off.
Remove all integration test logic from build.gradl.kts files
to further simplify build configs for kmp refactoring
Makes it easier to publish with consistent artifact names but w/o the need to modify
the entire directory structure of the project
Use versioning plugin to determine if current build
is a release or not, instead of relying on the
outcome of 'tag' tasks. This makes things more reliable.
@serpro69

serpro69 commented Mar 25, 2026

Copy link
Copy Markdown
Owner Author

Review from CC

tasks.withType<AbstractPublishToMaven>().configureEach { ... }
runs the lambda when each matching task is created.
The nmcp plugin creates publishKotlinFakerBomPublicationToNmcpRepository
but doesn't bind the publication property immediately — it's set later.
Eagerly calling publication.name during configuration hit the null.
Moving it into onlyIf defers it to execution time, when the publication is guaranteed to be set.
- Replaced publishToSonatype → publishToAppropriateCentralRepository
- Removed closeSonatypeStagingRepository (nmcp handles the staging/close flow internally)
- Fixed release-minor which had tag before nativeCompile (inconsistent ordering vs other targets)
- Updated comment "publish to sonatype and close staging repo" → "publish to maven central"
- Fix run_gradle.yml ref variable (github.event.inputs.ref → inputs.ref)
- Fix pr.yml docs detection logic (mkdocs.yml/main.py were unreachable)
- Remove undefined inputs.ref from pr.yml/master.yml callers
- Fix firstOrNull in faker-provider-conventions (first makes ?: throw dead)
- Fix kotest-bom copy-paste in bom comment
- Update CLAUDE.md: Java 8→11, Kotlin 1.9→2.x, stale src paths
- Remove duplicate configureondemand, unused Android properties
- Remove dead nexus-publish plugin and gradle-plugin-bcv library from catalog
- Delete dead utils/Ci.kt
- Remove commented-out code in cli-bot/build.gradle.kts
@serpro69 serpro69 added this to the 2.0.0 milestone Apr 10, 2026
@serpro69 serpro69 marked this pull request as ready for review April 10, 2026 12:00
@serpro69 serpro69 merged commit 26c7f13 into master Apr 10, 2026
21 of 26 checks passed
@serpro69 serpro69 deleted the kmp branch April 10, 2026 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking 💔 Indicates a breaking change core 🧬 Issue related to :core module enhancement 🚀 New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants