Willena / sqlite-jdbc-crypt

SQLite JDBC Driver with encryption support
Apache License 2.0
172 stars 33 forks source link

Willing to help #94

Closed Chris-SP365 closed 12 months ago

Chris-SP365 commented 12 months ago

I really appreciate the hard work you (and of course the sqlite-jdbc guys) have put into this project. I would like to help you getting up to date with SQLite and sqlite-jdbc in case you don't have the time for it, but I'm not used to the build infrastructure yet and to the open issues which must be resolved to put out a new release.

Could you elaborate where to start?

Chris

Willena commented 12 months ago

Hello @INPUTsys-Chris,

Indeed, I'm quite busy at the time, and I'm late by a good number of version. Build instructions are located in the README_BUILD.md file. But I'm not sure if they are perfectly up-to-date.

To sum up, tools listed at the top are required. Most of the build will happen in docker container (for cross-compilation), the process will download images that can take a lot of space on your system. Building takes also time (~30 minutes) !

Building is quite easy though:

  1. export your JAVA_HOME variable
  2. check / update version in the VERSION and pom.xml files (version of SqliteMC and SQLite must be coherent with the one listed at https://github.com/utelle/SQLite3MultipleCiphers/releases)
  3. run make all

The difficult part is when some of the native build are failing; Each native build can be manually triggered by running the make target that correspond. The list is available here: https://github.com/Willena/sqlite-jdbc-crypt/blob/82c7fb024254b6fc1393721ae33df2299d81abf0/Makefile#L151

Synchronization with the upstream is "as simple as a git merge". We just need to be careful with modification that can affect some of our own changes. Usually the synchronization with the upstream is the last thing I do (unless there is a major commit). From what I've seen (at the time of writing this comment) the 70+ commit late from upstream are not that important.

I wish I can automate things a little bit more, but for now most of the actions are manually done. The last time I worked was on the bugfix/ci-improve branch trying to fix the CI jobs (https://github.com/Willena/sqlite-jdbc-crypt/actions/runs/6373825471/job/17297874282)

Thanks a lot for your help.

Chris-SP365 commented 12 months ago

Hi @Willena

Thanks for the detailed answer. I'll have a look and get back to you. I guess I can close this since I'll either submit PRs or open new tickets