Skip to content

Setup community edition #22

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

Merged
merged 25 commits into from
Feb 27, 2025
Merged

Setup community edition #22

merged 25 commits into from
Feb 27, 2025

Conversation

Nao-ris
Copy link
Contributor

@Nao-ris Nao-ris commented Feb 20, 2025

There are two editions of Couchbase Lite C: enterprise and community.
In Doctolib we only use the enterprise version, but in order to release this crate on crates.io it would be beneficial to offer both options. This is the goal of this pull request.

The main changes of this pull request are:

  1. Two new features in Cargo.toml: enterprise & community. Exactly one must be selected or the compilation will fail in build.rs.
  2. All the functionalities that are not available in the community edition (encryption & peer-to-peer) are hidden behind the enterpise feature.
  3. Instead of the libcblite folder containing the enterprise lib files, there are now two folders: libcblite_enterprise & libcblite_community.
  4. The file build.rs is modified in order to link with the right folder depending on the specified edition.
  5. The script update_cblite_c.sh is enhanced to run the whole process for both editions.

Some smaller changes are also added:

  1. A custom pre-commit hook is added to check that both editions build.
  2. The GH workflow rust is split in two worflows: build & test.
  3. The three workflows build, test & clippy now use matrixes to check both editions.
  4. The c_playground is modified with the new path of the enterprise lib files.

@Nao-ris Nao-ris marked this pull request as ready for review February 27, 2025 09:45
@Nao-ris Nao-ris requested a review from a team as a code owner February 27, 2025 09:45
@Nao-ris Nao-ris merged commit 1acbc47 into main Feb 27, 2025
5 checks passed
@Nao-ris Nao-ris deleted the setup_community_edition branch February 27, 2025 10:42
@Nao-ris Nao-ris mentioned this pull request Feb 27, 2025
Nao-ris added a commit that referenced this pull request Feb 27, 2025
The folder should have been removed by
#22, it remained
present after a merge issue.
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