Skip to content

Cometdog/multiplatform low hanging fruit#65

Open
CometDog wants to merge 10 commits into
matejdro:mainfrom
CometDog:cometdog/multiplatform-low-hanging-fruit
Open

Cometdog/multiplatform low hanging fruit#65
CometDog wants to merge 10 commits into
matejdro:mainfrom
CometDog:cometdog/multiplatform-low-hanging-fruit

Conversation

@CometDog
Copy link
Copy Markdown

  • Rips out all of the java/android requirements from the non-UI-driven modules
  • Moves the source set structure from the Android structure to a more default Multiplatform structure
  • Adds iOS as targets purely to opaquely influence build-time requirements and avoid Java sneaking its way back into any of these modules

I don't have an Android phone to test on so testing is purely through the emulator, which means I don't have a connected watch but from purely running through the app, I see no regressions compared to a build without these changes.

// into Tinylog

val directoryForLogs: File = applicationGraph.getFileLoggingController().getLogFolder()
val directoryForLogs: File = File(applicationGraph.getFileLoggingController().getLogFolder().toString())
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I'm not in love with handling File creation at the point-of-use but I think until iOS worms its way into the modules more, using paths from Okio is probably the most seamless approach before getting into expectations-actuals for platforms.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

I think logging would have to be ripped out anyways, current system is very Android-specific.

Comment thread buildSrc/src/main/kotlin/util/Kotlin.kt
Comment thread buildSrc/src/main/kotlin/multiplatform-module.gradle.kts Outdated
// into Tinylog

val directoryForLogs: File = applicationGraph.getFileLoggingController().getLogFolder()
val directoryForLogs: File = File(applicationGraph.getFileLoggingController().getLogFolder().toString())
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

I think logging would have to be ripped out anyways, current system is very Android-specific.

Comment thread buildSrc/src/main/kotlin/util/Kotlin.kt
Comment thread buildSrc/src/main/kotlin/multiplatform-module.gradle.kts Outdated
@matejdro
Copy link
Copy Markdown
Owner

matejdro commented Mar 12, 2026

build logic changes look good to me, but Immutable changes really are not necessary as the annotation comes from the multiplatform artifact.

@CometDog CometDog force-pushed the cometdog/multiplatform-low-hanging-fruit branch 2 times, most recently from 6fea345 to dd1f531 Compare March 13, 2026 04:55
@CometDog
Copy link
Copy Markdown
Author

CometDog commented Mar 13, 2026

I've put Stable and Immutable back, removed the jvm target as it is not necessary as far as I can tell at this exact moment, removed the conditional around including iOS targets, and rebased against master.

I also now understand more the org.jetbrains.compose./androidx.compose. situation further for my other branch which does mostly the same thing just for android-only modules so that clarity if good to have from here.

@CometDog
Copy link
Copy Markdown
Author

Is the lint error in the build something I'm to be concerned with? If so I can look at it. Truthfully I did not run lint before and after to know if I caused it because I'm an evil villain

@matejdro
Copy link
Copy Markdown
Owner

Yes, until lint is resolved, we cannot merge

@CometDog CometDog force-pushed the cometdog/multiplatform-low-hanging-fruit branch from dd1f531 to 4f71866 Compare March 14, 2026 04:21
Comment thread buildSrc/src/main/kotlin/multiplatform-module.gradle.kts
@matejdro
Copy link
Copy Markdown
Owner

One thing: please stop force pushing on every change. It makes it hard to track the changes from a reviewer's standpoint (and in the future). Just regular commits are fine.

@matejdro
Copy link
Copy Markdown
Owner

I've fixed the two annoying issues that were caused by bugs in the https://github.com/autonomousapps/dependency-analysis-gradle-plugin. The rest should be fairly simple to fix.

@CometDog
Copy link
Copy Markdown
Author

One thing: please stop force pushing on every change. It makes it hard to track the changes from a reviewer's standpoint (and in the future). Just regular commits are fine.

In these cases what would you rather. I can push junk commits that are just fixes or fixups that require a rebase and re-approval on squash unless approval is retained across unchanged changesets

@matejdro
Copy link
Copy Markdown
Owner

I would rather do without any rebasing at all. It's a nice feature when working alone on a branch, but it becomes a pain when working with multiple people.

@matejdro
Copy link
Copy Markdown
Owner

matejdro commented Apr 6, 2026

@CometDog what is the status of this?

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