-
-
Notifications
You must be signed in to change notification settings - Fork 56
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
Drop libzim wrapper #430
Comments
Sounds a good idea but of course it has to work fine in reality. If good for @mgautierfr and @veloman-yunkan, good for me. |
On the Android side a separate repository to wrap probably makes sense. It was done as it is as a build convenience I think? Having both wrapped is convenient for how the app is currently structured but if it makes more sense to separate them it could be good for project health. |
This issue has been automatically marked as stale because it has not had recent activity. It will be now be reviewed manually. Thank you for your contributions. |
@mgautierfr @veloman-yunkan @maneeshpm I believe this is important we do that in libkiwix10. But the strategy to do it and who will do what is unclear to me. Any hint? |
The plan I see is the following:
The JNI wrapper case can be handle different ways :
My preference is for the third or second option :) |
Already done https://github.com/kiwix/java-libkiwix. Just expecting someone moving the code and adapting CI+Kiwix-build to deal with it. |
@mgautierfr Are you already working on this one? If not, I can start on this(ofc with a lot of help initially 😅). I feel like we should fix this ticket on priority as it will further help in solving #166 and #509. |
You can start the first step yes (excluding jni part). |
For now, I have identified the following subtasks in the first step.
Once we can make sure that everything works perfectly, we can drop the mirrored functions later and only keep the ones using libzim structures. |
@mgautierfr Neither apple nor Android are managed here (anymore). I don't really see the value of keeping this ticket open here. |
If we are going to implement what is suggested in this ticket then we will have to change code in libkiwix. Thus we can close this ticket only if we open proposed subtasks as separate tickets. |
Depends on kiwix/kiwix-desktop#805 |
Ticket for Kiwix iOS and macOS kiwix/kiwix-apple#445 |
Following the issue openzim/python-libzim#139, we have to move |
@mgautierfr @veloman-yunkan At this stage, and AFAIK, nothing stops us anymore to finally implement this ticket. Right? |
We need (at least) to do a release of kiwix-desktop which don't use the wrapper first. |
@mgautierfr OK, but this is a matters of days, you could make one anytime, milestone is empty https://github.com/kiwix/kiwix-desktop/milestone/7. |
With the last version of libzim, a lot of things in kiwix-lib become a simple wrapper around the libzim objects.
kiwix::Reader
is a wrapper oflibzim::Archive
.kiwix::Entry
is a wrapper oflibzim::Entry
andlibzim::Item
kiwix::Searcher
is a wrapper oflibzim::Search
They provide almost nothing more than an intermediate step and for the few real differences, they should probably be moved to libzim itself or are relics due to api compatibility.
It would be better to drop all those wrapping and let user code directly use libzim when needed.
We would have a clear distinction between libzim and kiwix-lib :
Most of the cpp application could be simply being adapted (even without waiting for the wrappers being dropped).
The main question are about the wrapper in another language of kiwix-lib that need to be adapted.
What do you think about this ?
(I was pretty sure to already have opened a issue about this but I cannot find it. If you do, feel free to link both issues).
The text was updated successfully, but these errors were encountered: