Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update project build configuration and dependencies #514

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

dzmpr
Copy link

@dzmpr dzmpr commented Dec 1, 2024

Hi there!
I have some troubles with m2 bottom sheet navigator so I decided to add m3 bottom sheet navigator and solve this problem for me and for others. But when I started working on it I saw that voyager uses compose multiplatform 1.6.11 when I needed 1.7. One after another I'm ended up made some improvement to project build configuration and updated all dependencies (not only compose kmp).
So, what's have been done:

  • Updated gradle and dependencies.
  • Cleaned up project from redundant .gitignore and customer.proguard.pro files.
  • Got rid of buildSrc and replace it with build-config included build. With buildSrc there are problems with using version catalogs and no pros.
  • Split modules configuration to pluggable convention plugins to make configuration simpler and cleaner.
  • Removed some unused or redundant dependencies (such as appcompat, compose-runtimeSaveable, compose-compiler, compose-animations, and maybe something else). Note: this compose dependencies are not multiplatform and only used in samples.
  • Replaced com.benasher44:uuid dependency with kotlin stdlib implementation which is available from kotlin 2.0.
  • Replaced compileOnly for compose dependencies with plain implementation as now seems all working fine but with compileOnly compiler threw warnings about js targets.
  • Fixed js sample and some more minor fixes for samples.

What's I left behind:

  • I can't figure out custom target hierarchy that voyager uses, so left it as is (with jvm("desktop") target which triggers compiler warning).
  • Didn't update api dump, because I removed ExperimentalVoyagerApi from nonPublicMarkers (I consider this is a mistake, because it' actually public api, just experimental). So if you are okay with this I update api with additional commit.

I've tested all samples on android and following targets of multiplatform sample: js, wasm, macos (not sure what target).

So I'm waiting for review, and open for any questions if you have one.

mavenPublish = "0.30.0"
composeMultiplatform = "1.7.1"
binaryCompatibilityValidator = "0.16.3"
atomicfu = "0.26.1"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fyi, this will currently cause an issue because compose expects (and forces) 0.23.2.
Seems to be a known issue https://youtrack.jetbrains.com/issue/CMP-5831

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants