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

Add Maven Publish #9

Merged
merged 1 commit into from
Jul 17, 2023
Merged

Add Maven Publish #9

merged 1 commit into from
Jul 17, 2023

Conversation

JochenGuckSnk
Copy link
Contributor

Adding maven publish to the luak library is relativly simple. But i am not able to test the change because the project has linking problems between the targets on my pc.

Possible fix for: #6

@Doomsdayrs
Copy link

The reason for the failing is what I can only assume is their non-standard Gradle architecture.

For example, disabling the targetDesktop does not actually remove the native source sets (which are broken as they depend on common but that is not setup properly as evidenced by InteliJ suggesting to add it as a dependency).

I was working on migrating the code back to standard gradle here but I lost interest due to having to work on other aspects of Shosetsu, College, and my Life.

Perhaps my work can help make it easier for you to get started with proper maven publishing.

@Doomsdayrs
Copy link

Update, my fork works completely now :D.

@soywiz
Copy link
Member

soywiz commented Jul 17, 2023

@Doomsdayrs Just out of curiosity, does JitPack publishes to common, jvm, js, android, ios, mingwX64, linuxX64, linuxArm64, macosX64, macosArm64, iosArm64, iosX64Simulator, watchosArm64, tvosArm64, wasm... and the rest of the variants artifacts?

@soywiz
Copy link
Member

soywiz commented Jul 17, 2023

@JochenGuckSnk Maybe the fork of @Doomsdayrs works for you? What's the purpose of exposing maven publishing here?

@JochenGuckSnk
Copy link
Contributor Author

@soywiz Yes the fork is working.

From my perspective it makes no sense to have two projcects for the same thing just because of the build tools. I just want to use the library with vanilla gradle.(like @Doomsdayrs)

@soywiz soywiz merged commit ffac3dd into korlibs:main Jul 17, 2023
@soywiz
Copy link
Member

soywiz commented Jul 17, 2023

I don't have any complaints about adding those lines here if it helps you. Thanks fro the PR!

@Doomsdayrs
Copy link

@Doomsdayrs Just out of curiosity, does JitPack publishes to common, jvm, js, android, ios, mingwX64, linuxX64, linuxArm64, macosX64, macosArm64, iosArm64, iosX64Simulator, watchosArm64, tvosArm64, wasm... and the rest of the variants artifacts?

Yes

@soywiz
Copy link
Member

soywiz commented Jul 17, 2023

@Doomsdayrs Can't see all those artifacts here: https://jitpack.io/com/gitlab/shosetsuorg/luak/ is JitPack building in a macos machine that is the only one supporting apple targets?

@soywiz
Copy link
Member

soywiz commented Jul 17, 2023

Can't find anything about mac machines here: https://docs.jitpack.io/faq/#frequently-asked-questions where did you figured out that it supports macos, ios, watchos and tvos targets?

@Doomsdayrs
Copy link

Doomsdayrs commented Jul 17, 2023

@Doomsdayrs Can't see all those artifacts here: https://jitpack.io/com/gitlab/shosetsuorg/luak/ is JitPack building in a macos machine that is the only one supporting apple targets?

It just adds whatever jars are in the libs folder under the build Dir.
https://jitpack.io/com/gitlab/shosetsuorg/luak/7ca543504c/build.log

@Doomsdayrs
Copy link

Can't find anything about mac machines here: https://docs.jitpack.io/faq/#frequently-asked-questions where did you figured out that it supports macos, ios, watchos and tvos targets?

I haven't enabled cross compilation. I just got it working properly via standard gradle so I can at least use it in my application.

@soywiz
Copy link
Member

soywiz commented Jul 17, 2023

@Doomsdayrs OS: Linux 4.14.63-xxxx-std-ipv6-64 amd64 <- https://jitpack.io/com/gitlab/shosetsuorg/luak/7ca543504c/build.log

A linux machine. Even if you enable macos, ios, tvos and watchos targets, it won't work.

That's the pity of Kotlin Multiplatform. Mac OS machines are needed to publish all the targets.
I wished they had a binary format not relying on all the Apple infrastructure, and just requiring it for linking, or directly that it would be source-code-based or AST-based. And in fact kproject tries to fix that issue by doign source-code-based dependencies.

@Doomsdayrs
Copy link

Doomsdayrs commented Jul 17, 2023

@Doomsdayrs OS: Linux 4.14.63-xxxx-std-ipv6-64 amd64 <- https://jitpack.io/com/gitlab/shosetsuorg/luak/7ca543504c/build.log

A linux machine. Even if you enable macos, ios, tvos and watchos targets, it won't work.

That's the pity of Kotlin Multiplatform. Mac OS machines are needed to publish all the targets. I wished they had a binary format not relying on all the Apple infrastructure, and just requiring it for linking, or directly that it would be source-code-based or AST-based. And in fact kproject tries to fix that issue by doign source-code-based dependencies.

JitPack is just a stopgap rn for my needs. I'll be going through the motions for proper maven publication soon. (That way I can push from my macos system)

@JochenGuckSnk
Copy link
Contributor Author

I already have a kotlin multiplatform publishing system based on github (https://github.com/dcxp/opentelemetry-kotlin). So i can help out create a standard Gradle project which publishes all targets, if there is interest.

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.

3 participants