kiwix / java-libkiwix

Libkiwix binding for Java & Kotlin
https://central.sonatype.com/artifact/org.kiwix/libkiwix
GNU General Public License v3.0
3 stars 4 forks source link

Improve CD: Pinned/Synced/Fixed Libkiwix dependency #43

Closed MohitMaliFtechiz closed 1 year ago

MohitMaliFtechiz commented 1 year ago

We just released java-libkiwix on maven with version code 11.0.0. However, the libkiwix and libzim are 12.0.0 so it should be published with the version code 12.0.0, but we have published it with the 11.0.0 tag which is not ideal and, manually changing the version code every time before release is not a good idea. So we should automate this process.

Behaviour It should automatically set the library version as libkiwix and libzim have.

kelson42 commented 1 year ago

@MohitMaliFtechiz this is only part of the problem: for releases we should have:

The way to implement this is the following: somewhere define the libkiwix version name (in Gradle), for the moment "12.0.0" and based on this variable, do the necessary.

@mgautierfr What wozud be the solution for java-libkiwix version name if we want to re-release but libkiwix has not been upgraded meanwhile?

mgautierfr commented 1 year ago

@mgautierfr What wozud be the solution for java-libkiwix version name if we want to re-release but libkiwix has not been upgraded meanwhile?

Well... I have lost the battle about keeping the wrapper with the library between moving the wrapper in another project independent of the wrapped library. So I would say that you know better than me :)

For a more useful answer: How do we do on python-libzim ?

On top of that, despite of its name, java-libkiwix doesn't wrap libkiwix. It wraps libkiwix and libzim. And they have different versions. What happen if we upgrade libzim but not libkiwix ?

I think the best is to use a specific version for java-libkiwix and do not try to stick to libkiwix or libzim.

kelson42 commented 1 year ago

@mgautierfr agree, this is whst we do usually

@MohitMaliFtechiz please delete everything from maven and release s 1.0.0 for libkiwix 12.0.0

kelson42 commented 1 year ago

@mgautierfr please check and handle, to me looks like @MohitMaliFtechiz does not understand what is expected and the rationals behind and I don't have the time to check everything myself.

MohitMaliFtechiz commented 1 year ago

@MohitMaliFtechiz please delete everything from maven and release s 1.0.0 for libkiwix 12.0.0

@kelson42, We should not delete all the artifacts from maven, because our kiwix-android 3.7.1, 3.7.0, 3.6.0 uses the java-libkiwix 10.1.1, if we delete this version from maven then it will break the compilation for these versions of android. If we have a higher version on the maven then we can not upload an artifact with a lower version.

kelson42 commented 1 year ago

If we have a higher version on the maven then we can not upload an artifact with a lower version.

This is exactly why I say to delete everything. Being able to compile older versions is not a strong requirement.

An other approach would be to use this opportunity to upload on proper new repo name: org.kiwix.libkiwix.

MohitMaliFtechiz commented 1 year ago

The second approach sounds good.

kelson42 commented 1 year ago

@mgautierfr Looks go to you to publish this project next on org.kiwix.libkiwix on Maven Central and use its own numbering. Starting with current version 1.0.0 and then following dedicated sementic versioning? Does not change primary request of this ticket to properly stick libkiwix .so dependency for releases anyway...