diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 2bc2d0f..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.gitignore b/.gitignore index 64284a2..77340e7 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ Cargo.lock .vscode + +# MacOS directory conf +.DS_Store diff --git a/CODEOWNERS b/CODEOWNERS index d1853b6..e193aa1 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1 +1 @@ -* @doctolib/bics +* @doctolib/bicson diff --git a/README.md b/README.md index d8fecc1..ace9f69 100644 --- a/README.md +++ b/README.md @@ -2,52 +2,57 @@ This is a Rust API of [Couchbase Lite][CBL], an embedded NoSQL document database engine with sync. +The crate wraps the [couchbase-lite-C][CBL_C] releases with an idiomatic Rust API. + ## Disclaimer -This library is **NOT SUPPORTED BY COUCHBASE**, it was forked from Couchbase Labs' repo [couchbase-lite-rust][CBL_RUST] -and finalized. -It is currently used and maintained by Doctolib. +This library is **NOT SUPPORTED BY COUCHBASE**, it was forked from Couchbase Labs' repo [couchbase-lite-rust][CBL_RUST] and finalized. +It is currently used and maintained by [Doctolib][DOCTOLIB] ([GitHub][DOCTOLIB_GH]). + The supported platforms are Windows, macOS, Linux, Android and iOS. ## Building ### 1. Install LLVM/Clang -In addition to [Rust][RUST], you'll need to install LLVM and Clang, which are required by the -[bindgen][BINDGEN] tool that generates Rust FFI APIs from C headers. +In addition to [Rust][RUST], you'll need to install LLVM and Clang, which are required by the [bindgen][BINDGEN] tool that generates Rust FFI APIs from C headers. Installation instructions are [here][BINDGEN_INSTALL]. -### 2. Couchbase Lite For C +### 2. Build! + +```shell +$ cargo build +``` + +## Maintaining + +### Couchbase Lite For C The Couchbase Lite For C shared library and headers ([Git repo][CBL_C]) are already embedded in this repo. -To upgrade the version, start by replacing all the necessary files in the folder libcblite-3.0.3 +They are present in the directory `libcblite`. -For Android there is an extra step: stripping the libraries. -Place your terminal to the root of this repo, then follow the instructions below. +### Upgrade Couchbase Lite C -### 2.1. Download -```shell -$ ./download.sh -``` +The different releases can be found in [this page][CBL_DOWNLOAD_PAGE]. -### 2.2 Strip +When a new C release is available, a new Rust release must be created. Running the following script will download and setup the libraries locally: ```shell -$ DOCKER_BUILDKIT=1 docker build --file Dockerfile -t strip --output libcblite . +$ ./update_cblite_c.sh -v 3.2.1 ``` -### 3. Fix The Skanky Hardcoded Paths - -Now edit the file `CouchbaseLite/build.rs` and edit the hardcoded paths on lines 32-37. -This tells the crate where to find Couchbase Lite's headers and library, and the Clang libraries. - -### 4. Build! +If the script fails on MacOS, you might need to install wget or a recent bash version: ```shell -$ cargo build +$ brew install wget +$ brew install bash ``` -### 5. Test +After that, fix the compilation & tests and you can create a pull request. + +New C features should also be added to the Rust API at some point. + +### Test **The unit tests must be run single-threaded.** This is because each test case checks for leaks by counting the number of extant Couchbase Lite objects before and after it runs, and failing if the @@ -57,7 +62,7 @@ number increases. That works only if a single test runs at a time. $ LEAK_CHECK=y cargo test -- --test-threads 1 ``` -### 6. Sanitizer +### Sanitizer ```shell $ LSAN_OPTIONS=suppressions=san.supp RUSTFLAGS="-Zsanitizer=address" cargo +nightly test @@ -71,31 +76,32 @@ $ LSAN_OPTIONS=suppressions=san.supp RUSTFLAGS="-Zsanitizer=address" cargo +nigh ## Learning -I've copied the doc-comments from the C API into the Rust files. But Couchbase Lite is fairly -complex, so if you're not already familiar with it, you'll want to start by reading through -the [official documentation][CBLDOCS]. +[Official Couchbase Lite documentation][CBL_DOCS] -The Rust API is mostly method-for-method compatible with the languages documented there, except -down at the document property level (dictionaries, arrays, etc.) where I haven't yet written -compatible bindings. For those APIs you can check out the document "[Using Fleece][FLEECE]". - -(FYI, if you want to see what bindgen's Rust translation of the C API looks like, it's in the file `bindings.rs` in -`build/couchbase-lite-*/out`, where "`*`" will be some hex string. This is super unlikely to be useful unless you want -to work on improving the high-level bindings themselves.) +[C API reference][CBL_API_REFERENCE] +[Using Fleece][FLEECE] [RUST]: https://www.rust-lang.org [CBL]: https://www.couchbase.com/products/lite +[CBL_DOWNLOAD_PAGE]: https://www.couchbase.com/downloads/?family=couchbase-lite + [CBL_C]: https://github.com/couchbase/couchbase-lite-C [CBL_RUST]: https://github.com/couchbaselabs/couchbase-lite-rust -[CBLDOCS]: https://docs.couchbase.com/couchbase-lite/current/introduction.html +[CBL_DOCS]: https://docs.couchbase.com/couchbase-lite/current/introduction.html + +[CBL_API_REFERENCE]: https://docs.couchbase.com/mobile/3.2.1/couchbase-lite-c/C/html/modules.html [FLEECE]: https://github.com/couchbaselabs/fleece/wiki/Using-Fleece [BINDGEN]: https://rust-lang.github.io/rust-bindgen/ [BINDGEN_INSTALL]: https://rust-lang.github.io/rust-bindgen/requirements.html + +[DOCTOLIB]: https://www.doctolib.fr/ + +[DOCTOLIB_GH]: https://github.com/doctolib diff --git a/build.rs b/build.rs index 1c5cf9e..8589d48 100644 --- a/build.rs +++ b/build.rs @@ -32,8 +32,8 @@ use std::path::PathBuf; use std::process::Command; use fs_extra::dir; -static CBL_INCLUDE_DIR: &str = "libcblite-3.0.3/include"; -static CBL_LIB_DIR: &str = "libcblite-3.0.3/lib"; +static CBL_INCLUDE_DIR: &str = "libcblite/include"; +static CBL_LIB_DIR: &str = "libcblite/lib"; fn main() -> Result<(), Box> { generate_bindings()?; diff --git a/download.sh b/download.sh deleted file mode 100755 index 33aa325..0000000 --- a/download.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env bash - -function help() { - echo "Download CBlite files" - echo - echo " -v CBlite version (ie. 3.0.3)" - echo " -d destination for files" - echo " -h print this help" -} - -while getopts ":v:d:h" option -do - case $option in - v) - version="$OPTARG" - ;; - d) - dest="$OPTARG" - ;; - h) - help - exit - ;; - \?) - >&2 echo "Invalid option." - help - exit 1 - ;; - esac -done - -if [[ -z "$version" \ - || -z "$dest" \ -]] -then - >&2 echo "All required parameters are not set." - help - exit 1 -else - echo "Downloading CBlite $version files…" -fi - -mkdir -p "${dest}" - -declare -i errors=0 -function download() { - - suffix="$1" - - url="https://packages.couchbase.com/releases/couchbase-lite-c/${version}/couchbase-lite-c-enterprise-${version}-${suffix}" - file="${dest}/couchbase-lite-c-enterprise-${version}-${suffix}" - - if ! wget --quiet --show-progress --output-document "${file}" "${url}" - then - >&2 echo "Unable to download '${url}'." - errors+=1 - fi -} - -download linux-x86_64.tar.gz -download windows-x86_64.zip -download macos.zip -download android.zip -download ios.zip - -if [ ${errors} -ne 0 ] -then - >&2 echo "Failed to download all required CBlite packages." - exit 1 -fi diff --git a/libcblite b/libcblite deleted file mode 120000 index 5ec598a..0000000 --- a/libcblite +++ /dev/null @@ -1 +0,0 @@ -libcblite-3.0.3 \ No newline at end of file diff --git a/libcblite-3.0.3/.DS_Store b/libcblite-3.0.3/.DS_Store deleted file mode 100644 index cef7795..0000000 Binary files a/libcblite-3.0.3/.DS_Store and /dev/null differ diff --git a/libcblite-3.0.3/LICENSE.txt b/libcblite-3.0.3/LICENSE.txt deleted file mode 100644 index 712dfb5..0000000 --- a/libcblite-3.0.3/LICENSE.txt +++ /dev/null @@ -1,741 +0,0 @@ -COUCHBASE, INC. LICENSE AGREEMENT -IMPORTANT--READ CAREFULLY: BY CLICKING THE "I ACCEPT" BOX OR INSTALLING, -DOWNLOADING OR OTHERWISE USING THIS SOFTWARE AND ANY ASSOCIATED -DOCUMENTATION, YOU, ON BEHALF OF YOURSELF AND/OR AS AN AUTHORIZED -REPRESENTATIVE ON BEHALF OF AN ENTITY (COLLECTIVELY, "CUSTOMER"), -AGREE TO ALL THE TERMS OF THIS LICENSE AGREEMENT AND, IF APPLICABLE, -THE NON-GA OFFERING SUPPLEMENTAL TERMS (COLLECTIVELY, THE "AGREEMENT") -REGARDING CUSTOMER'S USE OF THE SOFTWARE. YOU REPRESENT AND WARRANT THAT -YOU HAVE FULL LEGAL AUTHORITY TO BIND CUSTOMER TO THIS AGREEMENT. IF -YOU DO NOT AGREE WITH ALL OF THESE TERMS, DO NOT SELECT THE "I ACCEPT" -BOX AND DO NOT INSTALL, DOWNLOAD OR OTHERWISE USE THE SOFTWARE. THE -EFFECTIVE DATE OF THIS AGREEMENT IS THE DATE ON WHICH YOU CLICK "I ACCEPT" -OR OTHERWISE INSTALL, DOWNLOAD OR USE THE SOFTWARE. - -1. Definitions. -1.1 Capitalized terms used herein shall have the following definitions: -"Commercial Details" means the identified product(s), quantity (number -of Licensed Nodes and/or Licensed Devices), price, server size metric, -support level, subscription start and end date, and professional service -description. -"Cross-Data Center Replication" means an asynchronous data replication -system, involving replicating active data to multiple, geographically -diverse data centers or data repositories. -"Customer" means the person, legal entity or organization, as applicable, -accepting the terms and conditions hereunder and/or entering into an -Order or SOW that references this Agreement. -"Deliverables" means reports and other deliverables Couchbase may design, -develop for, or deliver to Customer during the course of providing -Professional Services. -"Documentation" means the technical user guides or manuals provided by -Couchbase related to the Software. -"Fee" means any sum, fee(s) or charges specified on an Order, SOW and/or -payable under this Agreement. -"Licensed Device" means a unique device (such as a mobile device, laptop, -or IoT device) that stores data locally using the "Couchbase Lite" -product during a rolling thirty (30) day period. -"Licensed Node" means an instance of the Software running on a server, -including a physical server, server blade, virtual machine, software -container, or cloud server. -"Core" means the virtual representation of one or more hardware threads. A -hardware thread can be either a physical core or a hyper-threaded core. -"RAM" or Random Access Memory, means the main memory used to store data -for quick access by a computer's processor. -"Production Deployment" means all Licensed Nodes and Licensed Devices -within a particular cluster or clusters that are licensed to support a -live workload or application. -"Order" means a transaction document (such as a signed sales quote) -identifying the Professional Services, Software, the number of Licensed -Nodes and/or Licensed Devices, the applicable Fee and Subscription Term. -"Software" means the object code version of the applicable Couchbase -product either (i) as reflected in an Order or (ii) as otherwise made -available to Customer under this Agreement. -"Subscription Term" means, as applicable: (i) the period stated on -an Order or SOW, if any, during which Customer is licensed to use the -Software and Documentation and receive the Professional Services and -Support; (ii) the first date of Productive Use for Enterprise Licenses -without or before an Order is signed and shall continue until such -Enterprise License is either (a) memorialized in an Order (in which case -the definition of subsection (i) herein shall apply), or (b) terminated -in accordance with the terms herein; or (iii) the date of download for -Free Licenses and shall continue until such Free License is either (a) -converted into an Enterprise License (in which case the definitions of -subsections (i) or (ii) shall apply, as applicable), or (b) terminated -in accordance with the terms herein. -"Support" means the technical support and Software maintenance services -(with the right to receive Software updates and upgrades made generally -available by Couchbase) as described in the then-current Couchbase -support services terms at www.couchbase.com/support-policy. -"SOW" means a transaction document or Order identifying Professional -Services purchased. -"Privacy Notice" means the privacy notice located at -https://www.couchbase.com/privacy-policy (and any successor or related -locations designated by us), as it may be updated by us from time to time. -"Professional Services" means consulting services and Deliverables as -identified in the applicable Order or SOW, provided by Couchbase to -Customer, using commercially reasonable efforts. - -The term "including" means including but not limited to. - -2. License Grants. -2.1 License Grant as to Free Licenses. A "Free License" is allowed only -for non-production use of the Software and is provided with no Support -or any other services. Couchbase is under no obligation to provide or -continue to provide the Free Licenses (including any update, upgrade or -new version of the Software licensed thereunder). During the Subscription -Term, and subject to Customer's compliance with the terms and conditions -of this Agreement, Couchbase grants to Customer a revocable, unpaid, -non-exclusive, non-transferable, non-sublicensable, non-fee bearing -download license to install and use the Software only for Customer's own -internal testing and development use. Prior to using the Software in any -Productive Use (as defined below), Customer agrees to enter into an Order -with Couchbase and pay the applicable Fees. If, at any time, Customer -uses the Software in Productive Use without an active Order, then (i) -Customer acknowledges and agrees that its Free License is automatically -converted to an Enterprise License, (ii) Couchbase shall have the right to -audit and charge Customer for such use as set forth in Section 8 herein, -and (iii) Customer shall use best efforts to enter into an Order with -Couchbase for such Productive Use in order to remedy the noncompliant -Productive Use as soon as possible. Free Licenses granted to Customer -hereunder are revocable and terminable at any time in Couchbase's sole -and absolute discretion. - -2.2 License Grant as to Enterprise Licenses. An "Enterprise License" is -required if Customer makes any "Productive Use" (which means that either -(a) the Software is used in production (e.g., in a Production Deployment), -or (b) Support is requested by Customer). During the Subscription Term, -and subject to Customer's compliance with the terms and conditions of -this Agreement, Couchbase grants to Customer a revocable, non-exclusive, -non-transferable, non-sublicensable, fee-bearing license to install -and use the Software and Documentation only for Customer's own internal -use and limited to the number of Licensed Nodes (and where applicable -the number of Licensed Devices) paid for by Customer and in accordance -with any additional license terms specified in the applicable Order, -and for no other purposes whatsoever. - -3. Customer Responsibilities. -3.1 Customer shall not: -(a) copy or use the Software, Documentation, or Deliverables in any -manner except as expressly permitted in this Agreement; -(b) for Enterprise Licenses, use or deploy the Software in excess of -the number of Licensed Nodes and Licensed Devices for which Customer -has paid the applicable Fee; -(c) for Enterprise Licenses, use or deploy the Software in excess of -the number of Cores and RAM for each Licensed Node for which Customer -has paid the applicable Fee; -(d) transfer, sell, rent, lease, lend, distribute, market, commercialize -or sublicense the Software, Documentation, or Deliverables to any third -party, provided that Customer may use the Software in connection with -an application made available to Customer's end users as long as they -cannot access the Software directly; -(e) use the Software for providing time-sharing services, service bureau -services or as part of an application services provider or as a service -offering primarily designed to offer the functionality of the Software; -(f) reverse engineer, disassemble, or decompile the Software (except to -the extent such restrictions are prohibited); -(g) alter, modify, enhance or prepare any derivative work from or of -the Software and Documentation; -(h) alter or remove any proprietary notices in the Software, Documentation -or Deliverables; -(i) for Enterprise Licenses, use or transfer Licensed Nodes and/or -Licensed Devices designated to a particular Production Deployment or -project to another or new Production Deployment or project; or -(j) use the Software, Documentation or Deliverables for the purposes -of, or publicly display or communicate the results of, benchmarking or -competitive analysis of the Software, or developing, using, providing, -or supporting products or services competitive to Couchbase. - -3.2. Customer shall comply with all applicable laws in connection with -its use of the Software, Deliverables, Professional Services and Support, -including but not limited to applicable international and domestic export -controls, including economic sanctions, laws, regulations, or orders that -apply to Customer, the Software, the Deliverables, the Documentation and -any related technology or services ("Export Laws"). In furtherance of -this obligation, Customer shall ensure that: (a) Customer does not use the -Software, technology or services in violation of any Export Laws; and (b) -it does not provide access to the Software, technology or services to -(i) persons on the U.S. Department of Commerce's Denied Persons List -or Entity List, or the U.S. Treasury Department's list of Specially -Designated Nationals, (ii) military end-users or for military end-use, -or (iii) parties engaged in activities directly or indirectly related -to the proliferation of weapons of mass destruction. - -3.3 If Customer does not comply with the license terms or the foregoing -restrictions, Couchbase may (without refund or credit, if applicable, -and without prejudice to any other rights or remedies Couchbase may have -under this Agreement or at law), at its sole discretion: (i) terminate -this Agreement (including all active Orders and SOWs hereunder) thereby -revoking Customer's Free and/or Enterprise License(s) to the Software -and Documentation, or (ii) suspend Customer's Free and/or Enterprise -License(s) to the Software and Documentation until Customer comes into -compliance with such terms and restrictions. - -3.4 Customer acknowledges that a breach of its obligations to Couchbase -under this Agreement, other than the payment obligations, will result -in irreparable and continuing damage for which monetary damages may not -be sufficient, and agrees that Couchbase will be entitled to receive in -addition to its other rights and remedies hereunder or at law, injunctive -and/or other equitable relief. All remedies of Couchbase set forth in -this Agreement are cumulative and in addition to, and not in lieu of -any other remedy of Couchbase as law or in equity. - - -4. Services. -4.1 This entire Section 4 applies only to Enterprise Licenses fully paid -for by Customer and not to Free Licenses. - -4.2 The parties may agree to have Couchbase provide Professional Services -to Customer, which shall be set forth on an Order or SOW signed by both -parties. Such Professional Services shall be governed by the terms and -conditions of this Agreement. - -4.3 Professional Services and any Deliverables are accepted when delivered -unless otherwise set forth in an Order or SOW. Couchbase may engage -qualified subcontractors to provide the Professional Services, provided -that Couchbase remains responsible for any subcontractor's compliance with -this Agreement. Couchbase grants to Customer a royalty-free, perpetual, -non-exclusive, non-transferable, non-sublicensable license to use and -reproduce any Deliverables for Customer's internal business purposes. - -4.4 Unless explicitly set forth in an Order or SOW, any Professional -Services purchased under this Agreement shall expire upon the end of the -Subscription Term. Any unused Professional Services after the end of the -Subscription Term shall expire without refund of any prepaid Fees. For -Professional Services that would have been invoiceable in arrears, -Couchbase will provide a final invoice for the unused Professional -Services in accordance with this Agreement. Unless otherwise stated -in this Order, Customer shall pay Couchbase's reasonable travel -and incidental expenses incurred in conducting (in relation to the -Professional Services or otherwise) on-site activities at Customer's -site upon receiving an invoice from Couchbase. - -5. Proprietary Rights. -5.1 This Agreement does not transfer any right, title or interest in any -intellectual property to any party, except as expressly set forth in this -Agreement. The Software (including the source code, any modifications, -improvements, enhancements or derivatives thereto), any Deliverables, -and all Documentation and Professional Services, are and shall remain -the sole property of Couchbase and its licensors. Except for the license -rights granted under this Agreement, Couchbase and its licensors retain -all right, title and interest in and to the Software, Documentation, -Deliverables, and Professional Services, including all intellectual -property rights therein and thereto. - -5.2 The Software may include third party open source software components -and such third-party components shall be licensed to Customer under the -terms of the applicable open source license conditions and/or copyright -notices that can be found in the licenses files, Documentation or -materials accompanying the Software. - -5.3 If Customer provides any suggestions or feedback regarding the -Software, Documentation, Support, Deliverables, or Professional Services, -Couchbase may use such information without obligation to Customer, -and Customer hereby irrevocably assigns to Couchbase all right, title, -and interest in that feedback or those suggestions. - -5.4 If Customer is the United States Government or any contractor thereof, -all licenses granted hereunder are subject to the following: - -(a) for acquisition by or on behalf of civil agencies, as necessary -to obtain protection as "commercial computer software" and related -documentation in accordance with the terms of this Agreement and as -specified in Subpart 12.1212 of the Federal Acquisition Regulation (FAR), -48 C.F.R.12.1212, and its successors; and -(b) for acquisition by or on behalf of the Department of Defense (DOD) -and any agencies or units thereof, as necessary to obtain protection as -"commercial computer software" and related documentation in accordance -with the terms of this Agreement and as specified in Subparts 227.7202-1 -and 227.7202-3 of the DOD FAR Supplement, 48 C.F.R.227.7202-1 and -227.7202-3, and its successors, manufacturer is Couchbase, Inc. - -6. Support. -6.1 This entire Section 6 applies only to Enterprise Licenses fully paid -for by Customer and not to Free Licenses. - -6.2 Couchbase will provide Customer with the level of Support indicated -on the applicable Order and paid for by Customer. For all Licensed -Nodes and Licensed Devices within a specific Production Deployment, -all such nodes and instances must be at the same level of Support, -including any that are used for disaster recovery or backup that are -associated with the specific Production Deployment. For the avoidance -of doubt, each specific Production Deployment can have its own level -of Support. Similarly, all Licensed Nodes and Licensed Devices in a -development or test environment must be at the same level of Support but -such Licensed Nodes and Licensed Devices may be at a different support -level than the Production Deployment(s). - -6.3 When using the Cross-Data Center Replication feature, Customer must -have all Licensed Nodes and Licensed Devices at the same level of Support -for all instances on all sides of the replication connection, including if -one side of the connection is only used for disaster recovery or backup. - -6.4 Couchbase may modify the terms of Support from time to time, provided -that such modifications do not materially and adversely affect Customer's -Support subscription. - -7. Fees. -7.1 This Section 7 applies only to Enterprise Licenses fully paid for -by Customer and not to Free Licenses. - -7.2 Customer will pay Couchbase the Fees in advance, within thirty (30) -days of the date of the invoice, unless explicitly otherwise indicated -in the applicable Order or SOW. All payments are non-cancelable, -not subject to the Limitation of Liability in Section 12 below, and -shall be made in the currency stated on the applicable Order. Fees -are non-refundable except to the extent expressly provided for in this -Agreement. Late payments will bear interest at the lesser of one- and -one-half percent (1 1/2 %) per month or the maximum rate allowed by -applicable law. Customer will reimburse Couchbase for all reasonable -costs and expenses incurred (including reasonable attorneys' fees) -in collecting any overdue amounts. - -7.3 All Fees payable by Customer are exclusive of applicable taxes -and duties (such as, without limitation, VAT, Service Tax, GST, -excise taxes, sales and transactions taxes, and gross receipts tax -(collectively, the "Transaction Taxes"). If applicable, Couchbase may -charge and Customer shall pay all Transaction Taxes that Couchbase -is legally obligated or authorized to collect from Customer. Customer -will provide such information to Couchbase as reasonably required to -determine whether Couchbase is obligated to collect Transaction Taxes -from Customer. Couchbase will not collect, and Customer will not pay, -any Transaction Taxes for which Customer furnishes a properly completed -exemption certificate or a direct payment permit certificate for -which Couchbase may claim an available exemption from such Transaction -Taxes. All payments made by Customer to Couchbase under this Agreement -will be made free and clear of any deduction or withholding, as may be -required by law. If any such deduction or withholding (including but not -limited to cross-border withholding taxes) is required on any payment, -Customer will pay such additional amounts as are necessary so that the -net amount received by Couchbase is equal to the amount then due and -payable under this Agreement. Couchbase will provide Customer with such -tax forms as are reasonably requested in order to reduce or eliminate the -amount of any withholding or deduction for taxes in respect of payments -made under this Agreement. - -7.4 Customer is obligated to pay all applicable Fees without any -requirement for Couchbase to provide a purchase order ("PO") number on -Couchbase's invoice (or otherwise). If Customer sends Couchbase a PO -in lieu of executing an Order, the PO will be deemed a binding contract -offer which Couchbase may accept by (i) signing the PO or (ii) sending -a written order acknowledgment of acceptance of the PO (thereby forming -a mutually agreed Order governed by this Agreement). In any event, -only the Commercial Details listed on PO shall be considered part of -the Order created (exclusive of any pre-printed terms on the PO). Any -other terms on the PO which either (i) conflict with the terms of this -Agreement, or (ii) are not agreed under this Agreement, will be void and -without effect, even if Couchbase signs the PO. All accepted POs will -automatically be governed by this Agreement (even if the PO does not -reference this Agreement). It is expressly agreed that Section 7 shall -apply in respect of any PO sent by Customer and accepted by Couchbase. - -8. Records Retention and Audit. -8.1 During any Subscription Term and for at least one (1) year thereafter, -Customer shall maintain complete and accurate records to permit Couchbase -to verify Customer's compliance with this Agreement (including the number -of Licensed Nodes and Licensed Devices used by Customer in Productive Use -as well as Customer's compliance with its obligations post-termination -or expiration), and provide Couchbase with such records within ten (10) -days of request. - -8.2 Every three (3) months within a Subscription Term (or on another -cadence as mutually agreed between the parties) or upon request by -Couchbase for any Productive Use where no Order is in place, Customer -shall self-certify to Couchbase the total number of Licensed Nodes -and Licensed Devices currently deployed and used by Customer in each -cluster running in a production, test, or development environment. Such -self-certification shall be in accordance with Couchbase's instruction -and in the form of either a (i) written report signed by an authorized -representative of Customer or (ii) copy of an automatically generated -report created by Customer. Couchbase will review such reports and -determine if any true up to the applicable Order or Productive Use -without an Order is required. Additional fees for any excess usage shall -be calculated based on the fees specified in the applicable Order for the -applicable Licensed Node or Licensed Device size and type, and prorated, -as applicable. If (i) the excess usage includes nodes or device sizes or -types for which fees are not specified in the applicable existing Order -or (ii) Productive Use occurred without an Order, then the (additional) -fees shall be calculated based on Couchbase's list price in effect at -the time and prorated, as applicable. - -8.3 Upon at least thirty (30) days prior written notice, but no more than -once in any (12) twelve month period, Couchbase may audit Customer's use -of the Software solely as necessary to verify Customer's compliance with -the terms of this Agreement during the Subscription Term and for one (1) -year thereafter. Any such audit will be conducted during regular business -hours at Customer's facilities and will not unreasonably interfere with -Customer's business activities. Customer will provide Couchbase with -access to the relevant Customer records and facilities. - -9. Confidentiality. -9.1 Customer and Couchbase will maintain the confidentiality of -Confidential Information. "Confidential Information" means any proprietary -information received by the other party during, or prior to entering into, -this Agreement that a party should know is confidential or proprietary -based on the circumstances surrounding the disclosure, including -the Software and any non-public technical and business information -(including Commercial Details). Confidential Information does not -include information that (a) is or becomes generally known to the public -through no fault of or breach of this Agreement by the receiving party; -(b) is rightfully known by the receiving party at the time of disclosure -without an obligation of confidentiality to the disclosing party; -(c) is independently developed by the receiving party without use of -the disclosing party's Confidential Information; or (d) the receiving -party rightfully obtains from a third party without restriction on use -or disclosure. - -9.2 The receiving party of any Confidential Information of the other -party agrees not to use such Confidential Information for any purpose -except as necessary to fulfill its obligations and exercise its rights -under this Agreement. The receiving party shall protect the secrecy of -and prevent any unauthorized disclosure or use of the disclosing party's -Confidential Information using the same degree of care that it takes to -protect its own confidential information and in no event shall use less -than reasonable care. - -9.3 Upon termination of this Agreement, the receiving party will, at -the disclosing party's option, promptly return or destroy (and provide -written certification of such destruction) the disclosing party's -Confidential Information. A party may disclose the other party's -Confidential Information to the extent required by law or regulation. - -10. DISCLAIMER OF WARRANTY. -THE SOFTWARE, DOCUMENTATION AND ANY PROFESSIONAL SERVICES PROVIDED -HEREUNDER ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND -NEITHER COUCHBASE, ANY OF ITS AFFILIATES OR LICENSORS (COLLECTIVELY, -THE "COUCHBASE PARTIES") REPRESENT OR WARRANT THAT THE SOFTWARE, -DOCUMENTATION OR PROFESSIONAL SERVICES PROVIDED HEREUNDER WILL -MEET CUSTOMER'S REQUIREMENTS, THAT THE SOFTWARE WILL OPERATE IN THE -COMBINATIONS CUSTOMER MAY SELECT FOR USE, THAT THE OPERATION OF THE -SOFTWARE WILL BE ERROR-FREE OR UNINTERRUPTED, OR THAT ALL SOFTWARE ERRORS -WILL BE CORRECTED. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, -THE COUCHBASE PARTIES HEREBY DISCLAIM ALL WARRANTIES, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, -TITLE, AND ANY WARRANTIES ARISING OUT OF COURSE OF DEALING, USAGE OR -TRADE. THE COUCHBASE PARTIES DO NOT WARRANT THAT THE SOFTWARE IS DESIGNED, -MANUFACTURED, OR INTENDED FOR USE IN HAZARDOUS ENVIRONMENTS REQUIRING -FAIL-SAFE PERFORMANCE WHERE THE FAILURE OF THE PRODUCT COULD LEAD TO -DEATH, PERSONAL INJURY, OR SIGNIFICANT PHYSICAL OR ENVIRONMENTAL DAMAGE. - -11. Indemnification of Third-Party Claims. -11.1 Couchbase Indemnification. Subject to the terms of this Section -11, Couchbase will indemnify and defend Customer from and against any -damages finally awarded against Customer resulting from any third-party -claims that the non-open source software components of the Software, -Documentation or Professional Services infringe any valid, enforceable -United States patent, United States copyright, or United States trademark; -provided that: (a) Customer promptly notifies Couchbase of the claim; -(b) Customer gives Couchbase all necessary information regarding the -claim and reasonably cooperates with Couchbase; (c) Customer allows -Couchbase exclusive control of the defense and all related settlement -negotiations; (d) Customer does not admit fault or liability with respect -to this Agreement, any Order, Customers actions or those of Couchbase; -and (e) Customer agrees any damage award does not include any Fees owed -to Couchbase. - -11.2 Enjoinment. Without limiting the forgoing, and notwithstanding -anything to the contrary in this Agreement, if use of the Software -is enjoined, or Couchbase determines that such use may be enjoined, -Couchbase will, at its sole option and expense, (i) procure for Customer -the right to continue using the affected Software; (ii) replace or modify -the affected Software such that it does not infringe; or (iii) if either -option (i) or (ii) is not commercially feasible in Couchbase's reasonable -opinion, as applicable, terminate the affected portions of an Order and -refund Customer any prepaid but unused Fees for the affected Software. - -11.3 Customer Indemnification. Customer will indemnify and defend the -Couchbase Parties from and against any damages awarded against Couchbase -in connection with any third-party claim arising out of (a) Customer's -use, operation or combination of the Software, including Customer's -data or content, that infringes any United States patent, United States -copyright or United States trademark; (b) use of, or inability to use the -Software by Customer, or any third party that receives or obtains access -to or relies on the Software or any component thereof from or through -(directly or indirectly) Customer; and (c) any breach by Customer -of any provisions of this Agreement, provided that: (i) Couchbase -promptly notifies Customer of the claim; (ii) Couchbase gives Customer -all necessary information regarding the claim and reasonably cooperates -with Customer; (iii) Couchbase allows Customer exclusive control of the -defense and all related settlement negotiations; (iv) Couchbase does -not admit fault or liability with respect to this Agreement, any Order, -Couchbase's actions or those of Customer; and (v) Couchbase agrees any -damage award does not include any Fees paid to Couchbase. - -11.4 Exclusions. Couchbase will have no liability or obligation to -indemnify under Section 11.1 for any infringement claim arising out of -(a) modifications made by a party other than Couchbase, to the extent -a claim would not have occurred but for such modifications, (ii) the -use of any non-current version of the Software provided that Couchbase -has given reasonable written notice to Customer to migrate to the -then-current version of the Software (unless the infringing portion is -also in the then-current, unaltered release), (iii) the use, operation -or combination of the Software with non-Couchbase programs, data, or -equipment to the extent such infringement would have been avoided but -for such use, operation or combination, (iv) any attributable third-party -open source software components, (v) use in violation of this Agreement -or in non-compliance with the applicable Documentation, (vi) Customer's -continuation of its allegedly infringing activity after being notified -thereof or after being provided a replacement or modification by Couchbase -that would have avoided the alleged infringement; or (vii) Couchbase's -compliance with any materials, designs, specifications or instructions -provided by Customer. The Couchbase indemnification obligations will also -not apply to any claim to the extent it arises from any matter for which -Customer is obligated to indemnify Couchbase pursuant to Section 11.3. - -11.5 Sole Remedy. THE TERMS OF THIS SECTION 11 CONSTITUTE THE ENTIRE -LIABILITY OF THE COUCHBASE PARTIES, AND CUSTOMER'S SOLE AND EXCLUSIVE -REMEDY WITH RESPECT TO ANY THIRD-PARTY CLAIMS OF INFRINGEMENT OR -MISAPPROPRIATION OF INTELLECTUAL PROPERTY RIGHTS OF ANY KIND. - -11.6 Applicability. Section 11, excluding 11.3 above, applies only to -Enterprise Licenses fully paid for by Customer and not to Free Licenses. - -12. LIMITATION OF LIABILITY. -TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL THE -COUCHBASE PARTIES BE LIABLE TO CUSTOMER OR TO ANY THIRD PARTY FOR: (A) -ANY INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES; OR -(B) THE COST OF PROCURING SUBSTITUTE PRODUCTS OR PROFESSIONAL SERVICES -ARISING OUT OF OR IN ANY WAY RELATING TO THIS AGREEMENT, OR THE USE -OF OR INABILITY TO USE THE SOFTWARE, DELIVERABLES, DOCUMENTATION OR -THE PROFESSIONAL SERVICES; OR (C) DAMAGES OR OTHER LOSSES FOR LOSS OF -USE, LOSS OF BUSINESS, LOSS OF GOODWILL, WORK STOPPAGE, LOST PROFITS, -LOSS OF DATA, COMPUTER FAILURE OR ANY AND ALL OTHER COMMERCIAL DAMAGES -OR LOSSES EVEN IF ADVISED OF THE POSSIBILITY THEREOF AND REGARDLESS OF -THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH -THE CLAIM IS BASED. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, -IN NO EVENT WILL THE COUCHBASE PARTIES' AGGREGATE LIABILITY TO CUSTOMER, -FROM ALL CAUSES OF ACTION AND UNDER ALL THEORIES OF LIABILITY, EXCEED THE -TOTAL AMOUNT OF FEES PAID OR DUE AND OWING UNDER THE APPLICABLE ORDER(S) -BY CUSTOMER TO COUCHBASE THAT ARE ATTRIBUTABLE TO THE ORDER GIVING RISE -TO LIABILITY IN THE TWELVE (12) MONTH PERIOD IMMEDIATELY PRECEDING THE -ACT OR OMISSION FIRST GIVING RISE TO THE LIABILITY. The parties expressly -acknowledge and agree that Couchbase has set its prices and entered into -this Agreement in reliance upon the limitations of liability specified -herein, which allocate the risk between Couchbase and Customer and form -a basis of the bargain between the parties. - -13. Term and Termination. -13.1 This Agreement is effective as of the date of Customer's acceptance -of this Agreement (the "Effective Date") and will continue until: (i) -Customer ceases to use all of its Free Licenses (and/or Enterprise -Licenses in the event of any Productive Use without an Order), or -(ii) ninety (90) days after all of Customer's active Orders and SOWs -hereunder have expired whether either party gives notice or not, or (iii) -either party terminates this Agreement as set forth in this Section, -provided that the parties' rights and obligations under the provisions -listed in Section 13.4 shall survive any termination for all of the -foregoing subsections (i) through (iii). This Agreement shall govern: -(i) Customer's Free Licenses and/or Enterprise Licenses whether Customer -has entered into an Order or not, (ii) Orders or SOWs that reference -this Agreement, and (iii) any POs submitted by Customer as set forth in -Section 7.3. The Subscription Term for each Order or SOW shall commence -and have the duration as set forth in the applicable Order or SOW. - -13.2 Subject to Couchbase's rights under Section 3 above, either party -may terminate the applicable Order or SOW, if the other party materially -breaches its obligations thereunder and, where such breach is curable, -such breach remains uncured for thirty (30) days following written -notice of the breach. Customer's obligation to make a payment of -any outstanding, unpaid fees for any Enterprise License shall survive -termination or expiration of an Order, SOW or this Agreement. - -13.3 Upon termination or expiration of all active Orders, SOWs, any -Enterprise Licenses without an Order, and/or this Agreement, Customer will -(i) promptly pay any outstanding fees accrued for any Enterprise Licenses -or as determined under Section 8 hereof, (ii) promptly return or destroy -the Documentation and Deliverables (except as explicitly permitted to -be retained by Customer in a SOW) and all copies and portions thereof, -in all forms and types of media, and (iii) uninstall the Software as -described in the then-current Couchbase uninstallation instructions -(located https://docs.couchbase.com/manual/uninstall/). Upon request, -Customer shall provide written certification signed by an officer of -Customer of cessation of use and destruction as set forth herein within -five (5) calendar days of request. - -13.4 The following sections will survive termination or expiration -of any Order, SOW and/or this Agreement: Sections 3 (Restrictions), -5 (Proprietary Rights), 7 (Fees), 8 (Records Retention and Audit), 9 -(Confidentiality), 10 (Disclaimer of Warranties), 11 (Indemnification), -12 (Limitation of Liability), 13 (Term and Termination), and 14 (General). - - -14. General. -14.1 Neither party shall be liable for any delay or failure in performance -(except for any payment obligations by Customer) due to causes beyond -its reasonable control. - -14.2 Customer agrees that Couchbase may include the Customer's name and -logo in client lists that Couchbase may publish for promotional purposes -from time to time and grants Couchbase a limited license to its trademark -solely for this purpose, provided that Couchbase complies with Customer's -branding guidelines. - -14.3 Customer may not assign or transfer its rights or obligations under -this Agreement, an Order, or a SOW, in whole or in part, by operation of -law or otherwise, without Couchbase's prior written consent. Any attempt -to assign or otherwise transfer this Agreement, an Order, or SOW without -such consent will be null and of no effect. Subject to the foregoing, -this Agreement will bind and inure to the benefit of each party's -successors and permitted assigns. - -14.4 If for any reason a court of competent jurisdiction finds any -provision of this Agreement invalid or unenforceable, that provision of -this Agreement will be enforced to the maximum extent permissible and the -other provisions of this Agreement will remain in full force and effect. -The failure by either party to enforce any provision of this Agreement -will not constitute a waiver of future enforcement of that or any other -provision. All waivers must be in writing and signed by both parties. - -14.5 Any notice or communication provided by Couchbase under this -Agreement may be provided by posting a notice on the Couchbase website, -or by mail or email to the relevant address associated with Customer's -account, if available. Any notice or communication provided by Customer -to Couchbase under this Agreement shall be provided to Couchbase by -certified mail, return receipt requested, to Couchbase, Inc., Attn: -Legal Dept, 3250 Olcott Street, Santa Clara, CA 95054, United States. - -14.6 This Agreement shall be governed by the laws of the State of -California, U.S.A., excluding its conflicts of law rules. The parties -expressly agree that the UN Convention for the International Sale of -Goods will not apply. Any legal action or proceeding arising under -this Agreement will be brought exclusively in the federal or state -courts located in Santa Clara County, California and the parties -hereby irrevocably consent to the personal jurisdiction and venue -therein. Except as otherwise set forth in this Agreement, Couchbase may -modify this Agreement (including the Support terms) at any time by (i) -posting a revised version on the Couchbase website or (ii) by otherwise -notifying Customer in accordance with Section 15.5, and by continuing -to use the Software after the effective date of any such modifications -to this Agreement, Customer agrees to be bound by this Agreement, as -modified. The date Couchbase last modified this Agreement is set forth -at the end of this Agreement. Notwithstanding the foregoing, any Orders -placed under this version of the Agreement may only be modified by a -mutually signed amendment by the parties. - - -14.7 This Agreement incorporates the Privacy Notice by reference, and -together with each Order and/or SOW constitute the entire agreement and -understanding of the parties and supersedes all prior or contemporaneous -oral or written agreements regarding the subject matter hereof, -including any agreement on confidentiality previously executed by the -parties. Furthermore, no additional or conflicting terms set forth -on any other document shall have any force or effect and are hereby -rejected unless expressly agreed upon by the parties' duly authorized -representatives in writing. To the extent that any terms and conditions -set forth in an Order or SOW conflict with the terms of this Agreement, -the applicable terms of the Order or SOW shall prevail. - -14.8 Except as expressly set forth in this Agreement, the exercise by -either party of any of its remedies under this Agreement will be without -prejudice to its other remedies under this Agreement or otherwise. - -14.9 The parties to this Agreement are independent contractors and -this Agreement will not establish any relationship of partnership, -joint venture, employment, franchise, or agency between the parties. - -14.10 Neither party will have the power to bind the other or incur -obligations on the other's behalf without the other's prior written -consent. - -14.11 Customer has not relied on the availability of any future version -of the Software or any future product in making its decision to enter -into this Agreement. - -14.12 This Agreement may be executed in any number of counterparts, -each of which shall be deemed an original, but all of which together -shall constitute one instrument. Signatures transmitted electronically -or by facsimile shall be deemed original signatures. -14.13 This Agreement is applicable both to use of the Software without -a signed Order, but also to use of the Software pursuant to any Order -signed by You or Customer. - ------------------------------------------ - -IMPORTANT CLARIFICATION: From time to time, Couchbase may release -versions of the Software and/or certain features that are not generally -available (the "Non-GA Offering"), including test, alpha, beta, trial, -pre-production, preview and/or developer preview versions or features. If -Customer uses any Non-GA Offering, then the same terms and conditions -of the "Free Licenses" under the Agreement above shall apply, subject -to the modifications below. - -Non-GA Offering Supplemental Terms -For any Non-GA Offering, the definition of Software in Section 1 of -the Agreement shall be replaced by the following and all references to -"Software" in the applicable provisions shall refer to the below instead: -"Software" means the object code version of the applicable Couchbase -product, including any Non-GA Offering, either (i) as reflected in -an Order or (ii) as otherwise made available to Customer under this -Agreement. - -Section 2.1 of the Agreement shall be replaced in its entirety by the -following: -Section 2.1. License Grant. Subject to Customer's compliance with the -terms and conditions of this Agreement and the Documentation, Couchbase -hereby grants to Customer a revocable, non-exclusive, non-transferable, -non-sublicensable, royalty-free, non-fee bearing limited license to -install and use the Non-GA Offering of the Software only for Customer's -own internal non-production use for the purpose of evaluation and/or -development, if applicable (the "Non-GA Offering License"). By accepting -an invitation to install or use, or by installing or using the Non-GA -Offering, Customer acknowledges and agrees that (i) it has relied upon -its own skill and judgment in electing to use such Non-GA Offering in its -sole discretion, (ii) the Non-GA Offering may not work correctly or in -the same way the final version may work and is offered exclusive of any -warranty (as described in Section 10 of the Agreement) or service level -agreement, (iii) the license granted to Customer with respect to the -Non-GA Offering is revocable and terminable at any time in Couchbase's -sole and absolute discretion, (iv) Couchbase may change, withdraw or -discontinue the Non-GA Offering at any time without notice and is under -no obligation to make such generally available, and (v) Couchbase is -not obligated to provide any services or support, including Support, -Professional Services, updates, patches, enhancements, or fixes (either -in the form of descriptions in the Documentation or on the Couchbase -website or otherwise). Couchbase may use any data, feedback or information -that Customer makes available to Couchbase or that Couchbase derives or -generates from Customer's use of the Non-GA Offering ("Feedback"), and -Customer hereby irrevocably assigns to Couchbase all right, title, and -interest in such Feedback. Customer agrees to the restrictions generally -applicable to the Free Licenses and Software, as applicable, under -this Agreement and any additional requirements set forth by Couchbase -in writing (whether in the Documentation or otherwise) regarding any -particular Non-GA Offering. For the avoidance of doubt, Customer shall -not make any Productive Use of any Non-GA Offering under any circumstance. - -Section 12 of the Agreement shall be replaced by the following: -12. Limitation of Liability. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE -LAW, IN NO EVENT WILL THE COUCHBASE PARTIES BE LIABLE TO CUSTOMER OR TO -ANY THIRD PARTY FOR: (A) ANY INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL -OR EXEMPLARY DAMAGES; OR (B) THE COST OF PROCURING SUBSTITUTE PRODUCTS -OR PROFESSIONAL SERVICES ARISING OUT OF OR IN ANY WAY RELATING TO THIS -AGREEMENT, OR THE USE OF OR INABILITY TO USE THE SOFTWARE, DOCUMENTATION -OR THE PROFESSIONAL SERVICES; OR (C) DAMAGES OR OTHER LOSSES FOR LOSS OF -USE, LOSS OF BUSINESS, LOSS OF GOODWILL, WORK STOPPAGE, LOST PROFITS, -LOSS OF DATA, COMPUTER FAILURE OR ANY AND ALL OTHER COMMERCIAL DAMAGES -OR LOSSES EVEN IF ADVISED OF THE POSSIBILITY THEREOF AND REGARDLESS OF -THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH -THE CLAIM IS BASED. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, -IN NO EVENT WILL THE COUCHBASE PARTIES' AGGREGATE LIABILITY TO CUSTOMER, -FROM ALL CAUSES OF ACTION AND UNDER ALL THEORIES OF LIABILITY EXCEED -ONE HUNDRED DOLLARS (US $100). The parties expressly acknowledge and -agree that Couchbase has set its prices and entered into this Agreement -in reliance upon the limitations of liability specified herein, which -allocate the risk between Couchbase and Customer and form a basis of -the bargain between the parties. - -Section 13.1 of the Agreement shall be replaced by the following: -13.1 This Agreement is effective as of the date of Customer's acceptance -of this Agreement and will continue until: (i) Customer ceases to use -the Non-GA Offering and/or the Non-GA Offering License, (ii) the Non-GA -Offering becomes generally available (in which case the terms of the -Free License or the Enterprise License (with or without an Order), as -applicable, shall automatically apply to Customer's use of the Software), -(iii) Couchbase discontinues and terminates the Non-GA Offering and/or -Non-GA Offering Licenses, in its sole discretion, or (iv) either party -terminates this Agreement as set forth in this Section, provided that -the parties' rights and obligations of the provisions listed in Section -13.4 shall survive any termination. -If you have any questions regarding this Agreement, please contact us -at legal@couchbase.com. - -Product License V9: 20210301 diff --git a/libcblite-3.0.3/include/.DS_Store b/libcblite-3.0.3/include/.DS_Store deleted file mode 100644 index 9f73b72..0000000 Binary files a/libcblite-3.0.3/include/.DS_Store and /dev/null differ diff --git a/libcblite-3.0.3/lib/.DS_Store b/libcblite-3.0.3/lib/.DS_Store deleted file mode 100644 index 97a94cc..0000000 Binary files a/libcblite-3.0.3/lib/.DS_Store and /dev/null differ diff --git a/libcblite-3.0.3/lib/ios/.DS_Store b/libcblite-3.0.3/lib/ios/.DS_Store deleted file mode 100644 index b48b3c0..0000000 Binary files a/libcblite-3.0.3/lib/ios/.DS_Store and /dev/null differ diff --git a/libcblite-3.0.3/lib/macos/.DS_Store b/libcblite-3.0.3/lib/macos/.DS_Store deleted file mode 100644 index 5008ddf..0000000 Binary files a/libcblite-3.0.3/lib/macos/.DS_Store and /dev/null differ diff --git a/libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/.DS_Store b/libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/.DS_Store deleted file mode 100644 index 5008ddf..0000000 Binary files a/libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/.DS_Store and /dev/null differ diff --git a/libcblite/LICENSE.txt b/libcblite/LICENSE.txt new file mode 100644 index 0000000..e829534 --- /dev/null +++ b/libcblite/LICENSE.txt @@ -0,0 +1,799 @@ +COUCHBASE, INC. LICENSE AGREEMENT +IMPORTANT--READ CAREFULLY: BY CLICKING THE "I ACCEPT" BOX OR INSTALLING, +DOWNLOADING OR OTHERWISE USING THE SOFTWARE AND ANY ASSOCIATED +DOCUMENTATION, YOU, ON BEHALF OF YOURSELF AND/OR AS AN AUTHORIZED +REPRESENTATIVE ON BEHALF OF AN ENTITY (COLLECTIVELY, "CUSTOMER"), +AGREE TO ALL THE TERMS OF THIS LICENSE AGREEMENT AND, IF APPLICABLE, +THE NON-GA OFFERING SUPPLEMENTAL TERMS (COLLECTIVELY, THE "AGREEMENT") +REGARDING CUSTOMER'S USE OF THE SOFTWARE. YOU REPRESENT AND WARRANT THAT +YOU HAVE FULL LEGAL AUTHORITY TO BIND CUSTOMER TO THIS AGREEMENT. IF +YOU DO NOT AGREE WITH ALL OF THESE TERMS, DO NOT SELECT THE "I ACCEPT" +BOX AND DO NOT INSTALL, DOWNLOAD OR OTHERWISE USE THE SOFTWARE. THE +EFFECTIVE DATE OF THIS AGREEMENT IS THE DATE ON WHICH YOU CLICK "I ACCEPT" +OR OTHERWISE INSTALL, DOWNLOAD OR USE THE SOFTWARE. + + +1. Definitions. + 1.1 Capitalized terms used herein shall have the following definitions: + "Commercial Details" means the identified products and/or services, + quantity (number of Licensed Nodes, Licensed Devices, and/or service + entitlements), price, server size, support level, subscription start + and end date, and Professional Services description. + "Core" means the virtual representation of one or more hardware + threads. A hardware thread can be either a physical core or a + hyper-threaded core. + "Cross-Data Center Replication" means an asynchronous data replication + system, involving replicating active data to multiple, geographically + diverse data centers or data repositories. + "Customer" means the person, legal entity or organization, as + applicable, accepting the terms and conditions hereunder and/or + entering into an Order that references this Agreement. + "Deployment" means all Licensed Nodes and Licensed Devices within + a particular workload or application. "Documentation" means the + technical user guides or manuals provided by Couchbase related to + the Software. + "Fees" means any sums, fees or charges specified on an Order or + otherwise payable under this Agreement. + "Licensed Device" means a unique device (such as a mobile device, + laptop, or IoT device) that stores data locally using the "Couchbase + Lite" product during a rolling thirty (30) day period. + "Licensed Node" means an instance of the Software running on a server, + including a physical server, server blade, virtual machine, software + container, or cloud server (whether in a testing, development, + production, or other environment). + "Order" means a transaction document (such as a signed sales quote or + statement of work) identifying the applicable Professional Services, + Software, number of Licensed Nodes and Licensed Devices, Fees and + Subscription Term. + "Privacy Notice" means the privacy notice located at + https://www.couchbase.com/privacy-policy (and any successor location + designated by Couchbase), as may be updated from time to time. + "Professional Services" means consulting services, training, + and other professional services as well as the resulting reports, + written materials, or other outputs provided to Customer as part of + an engagement as identified in the applicable Order. + "RAM" or Random Access Memory, means the main memory used to store + data for quick access by a computer's processor. + "Software" means the applicable Couchbase product either (i) + as reflected in an Order or (ii) as otherwise made available to + Customer under this Agreement. + "Subscription Term" means, as applicable: (i) the period stated + on an Order, if any, during which Customer is licensed to use the + Software and Documentation and receive the Professional Services (if + applicable) and Support; (ii) the first date an Enterprise License is + required (including before an Order is signed) until the date such + Enterprise License is either (a) memorialized in an Order (in which + case the definition of subsection (i) herein shall apply), or (b) + terminated in accordance with the terms herein; or (iii) the date + of download for a Free License until the date such Free License is + either (a) converted into an Enterprise License (in which case the + definitions of subsections (i) or (ii) shall apply, as applicable), + or (b) terminated in accordance with the terms herein. + "Support" means the technical support and Software maintenance + services (with the right to receive Software updates and upgrades made + generally available by Couchbase) as described in the then-current + Couchbase support services terms at www.couchbase.com/support-policy + (and any successor location designated by Couchbase), as may be + updated from time to time. + +The term "including" means including but not limited to. + +2. License Grants. + 2.1 License Grant as to Free Licenses. A "Free License" is allowed only + for development use and evaluation of the Software and is provided with + no Support or any other services. Couchbase is under no obligation to + provide or continue to provide the Free Licenses (including any update, + upgrade or new version of the Software licensed thereunder). During + the Subscription Term, and subject to Customer's compliance with the + terms and conditions of this Agreement, Couchbase grants to Customer a + revocable, unpaid, non-exclusive, non-transferable, non-sublicensable, + non-fee bearing download license to install and use the Software only + for Customer's own internal development use and evaluation of the + Software. Prior to using the Software for any other use (including + for testing, quality assurance, or in production), Customer agrees to + enter into an Order with Couchbase and pay the applicable Fees. If, + at any time, Customer uses the Software for any other use (including + for testing, quality assurance, or in production) without an active + Order, then (i) Customer acknowledges and agrees that its Free License + is automatically converted to an Enterprise License, (ii) Couchbase + shall have the right to audit and charge Customer for such use as set + forth in Section 8 herein, and (iii) Customer shall use best efforts to + enter into an Order with Couchbase for such use in order to remedy the + noncompliant use as soon as possible. Free Licenses granted to Customer + hereunder are revocable and terminable at any time in Couchbase's sole + and absolute discretion. + + 2.2 License Grant as to Enterprise Licenses. An "Enterprise License" + is required if Customer uses the Software (a) for testing, quality + assurance, or in production, (b) for any use other than solely + for internal development use or evaluation of the Software, or (c) + after Customer's initial request for Support. After Customer in the + first instance uses the Software for testing, quality assurance, + or in production, or converts to an Enterprise License otherwise, + then the Enterprise License terms of this Agreement (absent another + applicable enterprise agreement between the parties) shall apply. During + the Subscription Term, and subject to Customer's compliance with the + terms and conditions of this Agreement, Couchbase grants to Customer a + revocable, non-exclusive, non-transferable, non-sublicensable (except + as explicitly set forth herein), fee-bearing license to install and + use the Software and Documentation only for Customer's own internal + use and limited to the type, size, and number of Licensed Nodes and + Licensed Devices paid for by Customer and in accordance with any + additional license terms specified in the applicable Order, and for + no other purposes whatsoever. + + 2.3 Tools, Connectors, and Third Party Products. The Software may: + (i) include certain components developed and owned by Couchbase + ("Couchbase Components") which connect to products, components, files, + programs, databases, content sources or other materials developed and + owned by third parties ("Third Party Products"); and (ii) include or + be distributed with Third Party Products. Customer's use of Couchbase + Components and Third Party Products may be subject to additional terms + and conditions and third party license terms, including as set forth + in Exhibit A of this Agreement. Further, Third Party Products may be + subject to third party licenses provided by such third party or executed + between Customer and such third party (in each case, a "Third Party + License"). Couchbase has not developed or published and does not own, + control or license such Third Party Products. Customer shall be solely + responsible for (i) its compliance with any such Third Party License + in its use of any Third Party Products and (ii) the confidentiality, + security, and integrity of any content or data Customer chooses + to transfer to any Third Party Products. Couchbase shall have no + responsibility or liability whatsoever for the installation, operation, + or support functionality of, or otherwise related to or arising out + of any Third Party Products, including any loss or compromise of data. + +3. Customer Responsibilities. + 3.1 Customer shall not (and shall not allow any third party to): + (a) copy or use the Software, Documentation, or any related reports, + technologies or services in any manner except as expressly permitted + in this Agreement; + (b) for Enterprise Licenses, use or deploy the Software in excess of + the number of Licensed Nodes and Licensed Devices for which Customer + has paid the applicable Fees; + (c) for Enterprise Licenses, use or deploy the Software in excess + of the number of Cores and RAM for each Licensed Node for which + Customer has paid the applicable Fees; + (d) transfer, sell, rent, lease, lend, distribute, market, + commercialize or sublicense the Software, Documentation, or any + related reports, technologies or services to any third party, + provided that Customer may use the Software in connection with an + application made available to Customer's end users as long as they + cannot access the Software directly; + (e) use the Software for providing time-sharing services, service + bureau services or as part of an application services provider or + as a service offering primarily designed to offer the functionality + of the Software; + (f) reverse engineer, disassemble, or decompile the Software (except + to the extent such restrictions are prohibited); + (g) alter, modify, enhance or prepare any derivative work from or + of the Software and Documentation; + (h) alter or remove any proprietary notices in the Software, + Documentation or any related reports, technologies or services; + (i) for Enterprise Licenses, use or transfer Licensed Nodes and/or + Licensed Devices designated to a particular Deployment or project + to another or new Deployment or project; or + (j) use the Software, Documentation or any related reports, + technologies or services for the purposes of, or publicly display or + communicate the results of, benchmarking or competitive analysis of + the Software, or developing, using, providing, or supporting products + or services competitive to Couchbase. + + 3.2 Customer understands that the Software, Documentation, and any + related technology or services are subject to U.S. export control + laws and regulations. Customer shall comply with all applicable + laws in connection with its use of the Software, Documentation, + Professional Services and Support, including but not limited to + applicable international and domestic export controls, including + economic sanctions, laws, regulations, or orders that apply to Customer, + the Software the Documentation and any related reports, technologies + or services ("Export Laws"). In furtherance of this obligation, + Customer shall ensure that: (a) Customer does not use the Software, + technology or services in violation of any Export Laws; and (b) it + does not provide access to the Software, technology or services to + (i) persons on the U.S. Department of Commerce's Denied Persons List + or Entity List, or the U.S. Treasury Department's list of Specially + Designated Nationals, (ii) military end-users or for military end-use, + or (iii) parties engaged in activities directly or indirectly related + to the proliferation of weapons of mass destruction. + + 3.3 If Customer does not comply with the license terms or the foregoing + restrictions, Couchbase may (without refund or credit, if applicable, + and without prejudice to any other rights or remedies Couchbase + may have under this Agreement or at law), at its sole discretion: + (i) terminate this Agreement (including all active Orders hereunder) + thereby revoking Customer's Free and/or Enterprise License(s) to the + Software and Documentation, or (ii) suspend Customer's Free and/or + Enterprise License(s) to the Software and Documentation until Customer + comes into compliance with such terms and restrictions. + + 3.4 Customer acknowledges that a breach of its obligations to Couchbase + under this Agreement, other than the payment obligations, will result + in irreparable and continuing damage for which monetary damages may not + be sufficient, and agrees that Couchbase will be entitled to receive + in addition to its other rights and remedies hereunder or at law, + injunctive and/or other equitable relief. All remedies of Couchbase + set forth in this Agreement are cumulative and in addition to, and + not in lieu of any other remedy of Couchbase as law or in equity. + +4. Services. + 4.1 This entire Section 4 applies only to Enterprise Licenses fully + paid for by Customer and not to Free Licenses. + + 4.2 The parties may agree to have Couchbase provide Professional + Services to Customer, which shall be set forth on an Order signed + by both parties. Such Professional Services shall be governed by the + terms and conditions of this Agreement. + + 4.3 Professional Services and any related reports, technologies or + services are accepted when delivered unless otherwise set forth in an + Order. Couchbase may engage qualified subcontractors to provide the + Professional Services, provided that Couchbase remains responsible for + any subcontractor's compliance with this Agreement. Couchbase grants to + Customer a royalty-free, perpetual, non-exclusive, non-transferable, + non-sublicensable license to use and reproduce any reports for + Customer's internal business purposes. + + 4.4 Unless explicitly set forth in an Order, any Professional Services + purchased under this Agreement shall expire upon the end of the + Subscription Term (up to and including any expiration date) or after + twelve (12) months if no expiration date is specified (in each case, + the "Services Expiration Date"). Any unused Professional Services + after such Services Expiration Date shall expire without refund + of any prepaid Fees. For Professional Services that would have been + invoiceable in arrears, Couchbase will provide a final invoice for the + unused Professional Services in accordance with this Agreement. Unless + otherwise stated in an Order, Customer shall pay Couchbase's reasonable + travel and incidental expenses incurred in conducting (in relation to + the Professional Services or otherwise) on-site activities at Customer's + site upon receiving an invoice from Couchbase. + +5. Proprietary Rights. + 5.1 This Agreement does not transfer any right, title or interest + in any intellectual property to any party, except as expressly + set forth in this Agreement. The Software (including the source + code, any modifications, improvements, enhancements or derivatives + thereto), and all Documentation and outputs resulting from Professional + Services, are and shall remain the sole property of Couchbase and its + licensors. Except for the license rights granted under this Agreement, + Couchbase and its licensors retain all right, title and interest in and + to the Software, Documentation, and Professional Services (including + resulting reports or written materials), including all intellectual + property rights therein and thereto. + + 5.2 The Software may include open source software components and such + open source components shall be licensed to Customer under the terms of + the applicable open source license conditions and/or copyright notices + that can be found in the licenses files, Documentation or materials + accompanying the Software. + + 5.3 If Customer provides any suggestions or feedback regarding the + Software, Documentation, Support, or Professional Services, Couchbase + may use such information without obligation to Customer, and Customer + hereby irrevocably assigns to Couchbase all right, title, and interest + in that feedback or those suggestions. + + 5.4 If Customer is the United States Government or any contractor + thereof, all licenses granted hereunder are subject to the following: + (a) for acquisition by or on behalf of civil agencies, as necessary + to obtain protection as "commercial computer software" and related + documentation in accordance with the terms of this Agreement and as + specified in Subpart 12.1212 of the Federal Acquisition Regulation + (FAR), 48 C.F.R.12.1212, and its successors; and + (b) for acquisition by or on behalf of the Department of Defense + (DOD) and any agencies or units thereof, as necessary to obtain + protection as "commercial computer software" and related documentation + in accordance with the terms of this Agreement and as specified in + Subparts 227.7202-1 and 227.7202-3 of the DOD FAR Supplement, 48 + C.F.R.227.7202-1 and 227.7202-3, and its successors, manufacturer + is Couchbase, Inc. + +6. Support. + 6.1 This entire Section 6 applies only to Enterprise Licenses fully + paid for by Customer and not to Free Licenses. + + 6.2 Couchbase will provide Customer with the level of Support + indicated on the applicable Order and paid for by Customer. For all + Licensed Nodes and Licensed Devices within a specific Deployment, + all such nodes and instances must be at the same level of Support, + including any that are used for disaster recovery or backup that are + associated with the specific Deployment. For the avoidance of doubt, + each specific Deployment can have its own level of Support. + + 6.3 When using the Cross-Data Center Replication feature, Customer + must have all Licensed Nodes and Licensed Devices at the same level of + Support for all instances on all sides of the replication connection, + including if one side of the connection is only used for disaster + recovery or backup. + + 6.4 Couchbase may modify the terms of Support from time to time, + provided that such modifications do not materially and adversely affect + Customer's Support subscription. + +7. Fees. + 7.1 This Section 7 applies only to Enterprise Licenses fully paid for + by Customer and not to Free Licenses. + + 7.2 Customer will pay Couchbase the Fees in advance, within thirty (30) + days of the date of the invoice, unless otherwise explicitly indicated + in the applicable Order. If Customer purchases licenses or services + related to the Software through an approved third-party partner, + then the applicable agreement with that third-party will govern with + respect to Customer for the appropriate payment terms, provided that + such third-party agreement shall not override or attempt to override the + payment terms in place between Couchbase and such approved third-party + partner. All other terms and restrictions with respect to the use of + the Software shall continue to apply to Customer. All payments are + non-cancelable, not subject to the Limitation of Liability in Section + 12 below, and shall be made in the currency stated on the applicable + Order. Fees are non-refundable except to the extent expressly provided + for in this Agreement. Late payments will bear interest at the lesser + of one- and one-half percent (1 1/2 %) per month or the maximum rate + allowed by applicable law. Customer will reimburse Couchbase for all + reasonable costs and expenses incurred (including reasonable attorneys' + fees) in collecting any overdue amounts. + + 7.3 All Fees payable by Customer are exclusive of applicable taxes + and duties (such as, without limitation, VAT, Service Tax, GST, + excise taxes, sales and transactions taxes, and gross receipts tax + (collectively, the "Transaction Taxes"). If applicable, Couchbase may + charge and Customer shall pay all Transaction Taxes that Couchbase + is legally obligated or authorized to collect from Customer. Customer + will provide such information to Couchbase as reasonably required to + determine whether Couchbase is obligated to collect Transaction Taxes + from Customer. Couchbase will not collect, and Customer will not pay, + any Transaction Taxes for which Customer furnishes a properly completed + exemption certificate or a direct payment permit certificate for + which Couchbase may claim an available exemption from such Transaction + Taxes. All payments made by Customer to Couchbase under this Agreement + will be made free and clear of any deduction or withholding, as may + be required by law. If any such deduction or withholding (including + but not limited to cross-border withholding taxes) is required on any + payment, Customer will pay such additional amounts as are necessary so + that the net amount received by Couchbase is equal to the amount then + due and payable under this Agreement. Couchbase will provide Customer + with such tax forms as are reasonably requested in order to reduce + or eliminate the amount of any withholding or deduction for taxes in + respect of payments made under this Agreement. + + 7.4 Customer is obligated to pay all applicable Fees without any + requirement for Couchbase to provide a purchase order ("PO") number on + Couchbase's invoice (or otherwise). If Customer sends Couchbase a PO + in lieu of executing an Order, the PO will be deemed a binding contract + offer which Couchbase may accept by (i) signing the PO or (ii) sending + a written order acknowledgment of acceptance of the PO (thereby forming + a mutually agreed Order governed by this Agreement). In any event, + only the Commercial Details listed on PO shall be considered part of + the Order created (exclusive of any pre-printed terms on the PO). Any + other terms on the PO which either (i) conflict with the terms of this + Agreement, or (ii) are not agreed under this Agreement, will be void and + without effect, even if Couchbase signs the PO. All accepted POs will + automatically be governed by this Agreement (even if the PO does not + reference this Agreement). It is expressly agreed that Section 7 shall + apply in respect of any PO sent by Customer and accepted by Couchbase. + +8. Records Retention and Audit. + 8.1 During any Subscription Term and for at least one (1) year + thereafter, Customer shall maintain complete and accurate records to + permit Couchbase to verify Customer's compliance with this Agreement + (including the number of Licensed Nodes and Licensed Devices used + by Customer as well as Customer's compliance with its obligations + post-termination or expiration), and provide Couchbase with such + records within ten (10) days of request. + + 8.2 Every three (3) months within a Subscription Term (or on another + cadence as mutually agreed between the parties) or upon request by + Couchbase for any use requiring an Enterprise License where no Order + is in place, Customer shall self-certify to Couchbase the total number + of Licensed Nodes and Licensed Devices used in any production, test, + development, or other Deployment. Such self-certification shall + be in accordance with Couchbase's instruction and in the form of + either a (i) written report signed by an authorized representative of + Customer or (ii) copy of an automatically generated report created by + Customer. Couchbase will review such reports and determine if any true + up Order is required. Additional fees for any excess usage shall be + calculated based on the fees specified in the applicable Order for the + applicable Licensed Node or Licensed Device size and type, and prorated, + as applicable. If (i) the excess usage includes nodes or device sizes or + types for which fees are not specified in the applicable existing Order + or (ii) use requiring an Enterprise License occurred without an Order, + then the (additional) fees shall be calculated based on Couchbase's + list price in effect at the time and prorated, as applicable. + + 8.3 Upon at least thirty (30) days prior written notice, but no + more than once in any twelve (12) month period, Couchbase may audit + Customer's use of the Software solely as necessary to verify Customer's + compliance with the terms of this Agreement during the Subscription + Term and for one (1) year thereafter. Any such audit will be conducted + during regular business hours at Customer's facilities and will not + unreasonably interfere with Customer's business activities. Customer + will provide Couchbase with access to the relevant Customer records + and facilities. + +9. Confidentiality. + 9.1 Customer and Couchbase will maintain the confidentiality of + Confidential Information. "Confidential Information" means any + proprietary information received by the other party during, or prior to + entering into, this Agreement that a party should know is confidential + or proprietary based on the circumstances surrounding the disclosure, + including the Software and any non-public technical and business + information (including Commercial Details). Confidential Information + does not include information that (a) is or becomes generally known + to the public through no fault of or breach of this Agreement by the + receiving party; (b) is rightfully known by the receiving party at + the time of disclosure without an obligation of confidentiality to + the disclosing party; (c) is independently developed by the receiving + party without use of the disclosing party's Confidential Information; or + (d) the receiving party rightfully obtains from a third party without + restriction on use or disclosure. + + 9.2 The receiving party of any Confidential Information of the other + party agrees not to use such Confidential Information for any purpose + except as necessary to fulfill its obligations and exercise its rights + under this Agreement. The receiving party shall protect the secrecy + of and prevent any unauthorized disclosure or use of the disclosing + party's Confidential Information using the same degree of care that + it takes to protect its own confidential information and in no event + shall use less than reasonable care. + + 9.3 Upon termination of this Agreement, the receiving party will, at + the disclosing party's option, promptly return or destroy (and provide + written certification of such destruction) the disclosing party's + Confidential Information. A party may disclose the other party's + Confidential Information to the extent required by law or regulation. + +10. DISCLAIMER OF WARRANTY. +THE SOFTWARE, DOCUMENTATION AND ANY PROFESSIONAL SERVICES PROVIDED +HEREUNDER ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND INCLUDING +THAT THE SOFTWARE, DOCUMENTATION OR PROFESSIONAL SERVICES PROVIDED +HEREUNDER WILL MEET CUSTOMER'S REQUIREMENTS, OPERATE IN THE COMBINATIONS +CUSTOMER MAY SELECT FOR USE, WILL BE ERROR-FREE OR UNINTERRUPTED, OR +THAT ALL SOFTWARE ERRORS OR DEFECTS WILL BE CORRECTED. TO THE MAXIMUM +EXTENT PERMITTED BY APPLICABLE LAW, COUCHBASE, ANY OF ITS AFFILIATES OR +LICENSORS (COLLECTIVELY, THE "COUCHBASE PARTIES") HEREBY DISCLAIM ALL +WARRANTIES, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE +IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, +NON-INFRINGEMENT, TITLE, AND ANY WARRANTIES ARISING OUT OF COURSE OF +DEALING, USAGE OR TRADE. THE COUCHBASE PARTIES DO NOT WARRANT THAT THE +SOFTWARE IS DESIGNED, MANUFACTURED, OR INTENDED FOR USE IN HAZARDOUS +ENVIRONMENTS REQUIRING FAIL-SAFE PERFORMANCE WHERE THE FAILURE OF THE +PRODUCT COULD LEAD TO DEATH, PERSONAL INJURY, OR SIGNIFICANT PHYSICAL +OR ENVIRONMENTAL DAMAGE. + +11. Indemnification of Third-Party Claims. + 11.1 Couchbase Indemnification. Subject to the terms of this Section + 11, Couchbase will indemnify and defend Customer from and against + any damages finally awarded against Customer resulting from any + third-party claims that the non-open source software components of + the Software, Documentation or Professional Services infringe any + valid, enforceable United States patent, United States copyright, + or United States trademark; provided that: (a) Customer promptly + notifies Couchbase of the claim; (b) Customer gives Couchbase all + necessary information regarding the claim and reasonably cooperates + with Couchbase; (c) Customer allows Couchbase exclusive control of the + defense and all related settlement negotiations; and (d) Customer does + not admit fault or liability with respect to this Agreement, any Order, + Customer's actions or those of Couchbase. + + 11.2 Enjoinment. Without limiting the forgoing, and notwithstanding + anything to the contrary in this Agreement, if use of the Software + is enjoined, or Couchbase determines that such use may be enjoined, + Couchbase will, at its sole option and expense, (i) procure for + Customer the right to continue using the affected Software; (ii) + replace or modify the affected Software such that it does not infringe; + or (iii) if either option (i) or (ii) is not commercially feasible in + Couchbase's reasonable opinion, as applicable, terminate the affected + portions of an Order and refund Customer any prepaid but unused Fees + for the affected Software. + + 11.3 Customer Indemnification. Customer will indemnify and defend + the Couchbase Parties from and against any damages awarded against + Couchbase in connection with any third-party claim arising out of (a) + Customer's use, operation or combination of the Software, including + Customer's data or content, that infringes any United States patent, + United States copyright or United States trademark; (b) use of, + or inability to use the Software by Customer, or any third party + that receives or obtains access to or relies on the Software or any + component thereof from or through (directly or indirectly) Customer; + and (c) any breach by Customer of any provisions of this Agreement, + provided that: (i) Couchbase promptly notifies Customer of the claim; + (ii) Couchbase gives Customer all necessary information regarding the + claim and reasonably cooperates with Customer; (iii) Couchbase allows + Customer exclusive control of the defense and all related settlement + negotiations; and (iv) Couchbase does not admit fault or liability + with respect to this Agreement, any Order, Couchbase's actions or + those of Customer. + + 11.4 Exclusions. Couchbase will have no liability or obligation to + indemnify under Section 11.1 for any infringement claim arising out of + (i) modifications made by a party other than Couchbase, to the extent + a claim would not have occurred but for such modifications, (ii) the + use of any non-current version of the Software provided that Couchbase + has given reasonable written notice to Customer to migrate to the + then-current version of the Software (unless the infringing portion is + also in the then-current, unaltered release), (iii) the use, operation + or combination of the Software with non-Couchbase programs, data, or + equipment to the extent such infringement would have been avoided but + for such use, operation or combination, (iv) any open source software + components, (v) use in violation of this Agreement or in non-compliance + with the applicable Documentation, (vi) Customer's continuation of its + allegedly infringing activity after being notified thereof or after + being provided a replacement or modification by Couchbase that would + have avoided the alleged infringement; or (vii) Couchbase's compliance + with any materials, designs, specifications or instructions provided + by Customer. The Couchbase indemnification obligations will also not + apply to any claim to the extent it arises from any matter for which + Customer is obligated to indemnify Couchbase pursuant to Section 11.3. + + 11.5 Sole Remedy. THE TERMS OF THIS SECTION 11 CONSTITUTE THE ENTIRE + LIABILITY OF THE COUCHBASE PARTIES, AND CUSTOMER'S SOLE AND EXCLUSIVE + REMEDY WITH RESPECT TO ANY THIRD-PARTY CLAIMS OF INFRINGEMENT OR + MISAPPROPRIATION OF INTELLECTUAL PROPERTY RIGHTS OF ANY KIND. + + 11.6 Applicability. Section 11, excluding 11.3 above, applies only to + Enterprise Licenses fully paid for by Customer and not to Free Licenses. + +12. LIMITATION OF LIABILITY. +TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL THE +COUCHBASE PARTIES BE LIABLE TO CUSTOMER OR TO ANY THIRD PARTY FOR: (A) +ANY INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES; +OR (B) THE COST OF PROCURING SUBSTITUTE PRODUCTS OR PROFESSIONAL +SERVICES ARISING OUT OF OR IN ANY WAY RELATING TO THIS AGREEMENT, +OR THE USE OF OR INABILITY TO USE THE SOFTWARE, DOCUMENTATION OR THE +PROFESSIONAL SERVICES; OR (C) DAMAGES OR OTHER LOSSES FOR LOSS OF USE, +LOSS OF BUSINESS, LOSS OF GOODWILL, WORK STOPPAGE, LOST PROFITS, LOSS +OF DATA, COMPUTER FAILURE OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR +LOSSES EVEN IF ADVISED OF THE POSSIBILITY THEREOF AND REGARDLESS OF +THE LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH +THE CLAIM IS BASED. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, +IN NO EVENT WILL THE COUCHBASE PARTIES' AGGREGATE LIABILITY TO CUSTOMER, +FROM ALL CAUSES OF ACTION AND UNDER ALL THEORIES OF LIABILITY, EXCEED THE +TOTAL AMOUNT OF FEES PAID OR DUE AND OWING UNDER THE APPLICABLE ORDER(S) +BY CUSTOMER TO COUCHBASE THAT ARE ATTRIBUTABLE TO THE ORDER GIVING RISE +TO THE LIABILITY IN THE TWELVE (12) MONTH PERIOD IMMEDIATELY PRECEDING THE +ACT OR OMISSION FIRST GIVING RISE TO THE LIABILITY. The parties expressly +acknowledge and agree that Couchbase has set its prices and entered into +this Agreement in reliance upon the limitations of liability specified +herein, which allocate the risk between Couchbase and Customer and form +a basis of the bargain between the parties. + +13. Term and Termination. + 13.1 This Agreement is effective as of the date of Customer's acceptance + of this Agreement (the "Effective Date") and will continue until: + (i) Customer ceases all use of the Software, or (ii) ninety (90) days + after all of Customer's active Orders hereunder have expired whether + either party gives notice or not, or (iii) either party terminates this + Agreement as set forth in this Section, provided that the parties' + rights and obligations under the provisions listed in Section 13.4 + shall survive any termination for all of the foregoing subsections + (i) through (iii). This Agreement shall govern: (i) Customer's Free + Licenses and/or Enterprise Licenses whether Customer has entered + into an Order or not, (ii) Orders that reference this Agreement, and + (iii) any POs submitted by Customer as set forth in Section 7.4. The + Subscription Term for each Order shall commence and have the duration + as set forth in the applicable Order. + + 13.2 Subject to Couchbase's rights under Section 3 above, either party + may terminate the applicable Order, if the other party materially + breaches its obligations thereunder and, where such breach is curable, + such breach remains uncured for thirty (30) days following written + notice of the breach. Customer's obligation to make a payment of + any outstanding, unpaid fees for any Enterprise License shall survive + termination or expiration of an Order or this Agreement. + + 13.3 Upon termination or expiration of all active Orders, any Enterprise + Licenses without an Order, and/or this Agreement, Customer will (i) + promptly pay any outstanding fees accrued for any Enterprise Licenses + or as determined under Section 8 hereof, (ii) promptly return or + destroy the Documentation (except as explicitly permitted to be + retained by Customer in an Order) and all copies and portions thereof, + in all forms and types of media, and (iii) uninstall the Software as + described in the then-current Couchbase uninstallation instructions + (located https://docs.couchbase.com/manual/uninstall/). Upon request, + Customer shall provide written certification signed by an officer + of Customer of cessation of use and destruction as set forth herein + within five (5) calendar days of request. + + 13.4 The following sections will survive termination or expiration + of any Order and/or this Agreement: Section 2.3 (Tools, Connectors, + and Third Party Products), Sections 3 (Customer Responsibilities), + 5 (Proprietary Rights), 7 (Fees), 8 (Records Retention and Audit), 9 + (Confidentiality), 10 (Disclaimer of Warranty), 11 (Indemnification + of Third-Party Claims), 12 (Limitation of Liability), 13 (Term and + Termination), and 14 (General). + +14. General. + 14.1 Neither party shall be liable for any delay or failure in + performance (except for any payment obligations by Customer) due to + causes beyond its reasonable control. + + 14.2 Customer agrees that Couchbase may include the Customer's name + and logo in client lists that Couchbase may publish for promotional + purposes from time to time and grants Couchbase a limited license to + its trademark solely for this purpose, provided that Couchbase complies + with Customer's branding guidelines. + + 14.3 Customer may not assign or transfer its rights or obligations under + this Agreement or an Order, in whole or in part, by operation of law or + otherwise, without Couchbase's prior written consent. Any attempt to + assign or otherwise transfer this Agreement or an Order without such + consent will be null and of no effect. Subject to the foregoing, + this Agreement will bind and inure to the benefit of each party's + successors and permitted assigns. + + 14.4 If for any reason a court of competent jurisdiction finds any + provision of this Agreement invalid or unenforceable, that provision + of this Agreement will be enforced to the maximum extent permissible + and the other provisions of this Agreement will remain in full force + and effect. The failure by either party to enforce any provision + of this Agreement will not constitute a waiver of future enforcement + of that or any other provision. All waivers must be in writing and + signed by both parties. + + 14.5 Any notice or communication provided by Couchbase under this + Agreement may be provided by posting a notice on the Couchbase website, + or by mail or email to the relevant address associated with Customer's + account, if available. Any notice or communication provided by Customer + to Couchbase under this Agreement shall be provided to Couchbase by + certified mail, return receipt requested, to Couchbase, Inc., Attn: + Legal Dept, 3250 Olcott Street, Santa Clara, CA 95054, United States, + with a copy emailed to legal@couchbase.com. + + 14.6 This Agreement shall be governed by the laws of the State of + California, U.S.A., excluding its conflicts of law rules. The parties + expressly agree that the UN Convention for the International Sale of + Goods will not apply. Any legal action or proceeding arising under + this Agreement will be brought exclusively in the federal or state + courts located in Santa Clara County, California and the parties + hereby irrevocably consent to the personal jurisdiction and venue + therein. Except as otherwise set forth in this Agreement, Couchbase + may modify this Agreement (including the Support terms) at any time + by (i) posting a revised version on the Couchbase website or (ii) + by otherwise notifying Customer in accordance with Section 14.5, + and by continuing to use the Software after the effective date of any + such modifications to this Agreement, Customer agrees to be bound by + this Agreement, as modified. The date Couchbase last modified this + Agreement is set forth at the end of this Agreement. Notwithstanding + the foregoing, any Orders placed under this version of the Agreement + may only be modified by a mutually signed amendment by the parties. + + 14.7 This Agreement incorporates the Privacy Notice by reference, + and together with each Order constitute the entire agreement and + understanding of the parties and supersedes all prior or contemporaneous + oral or written agreements regarding the subject matter hereof, + including any agreement on confidentiality previously executed by + the parties. Furthermore, no additional or conflicting terms set + forth on any other document shall have any force or effect and are + hereby rejected unless expressly agreed upon by the parties' duly + authorized representatives in writing. To the extent that any terms + and conditions set forth in an Order conflict with the terms of this + Agreement, the applicable terms of the Order shall prevail. + + 14.8 Except as expressly set forth in this Agreement, the exercise by + either party of any of its remedies under this Agreement will be without + prejudice to its other remedies under this Agreement or otherwise. + + 14.9 The parties to this Agreement are independent contractors and + this Agreement will not establish any relationship of partnership, + joint venture, employment, franchise, or agency between the parties. + + 14.10 Neither party will have the power to bind the other or incur + obligations on the other's behalf without the other's prior written + consent. + + 14.11 Customer has not relied on the availability of any future version + of the Software or any future product in making its decision to enter + into this Agreement. + + 14.12 This Agreement may be executed in any number of counterparts, + each of which shall be deemed an original, but all of which together + shall constitute one instrument. Signatures transmitted electronically + or by facsimile shall be deemed original signatures. + + 14.13 This Agreement is applicable both to use of the Software without + a signed Order, but also to use of the Software pursuant to any Order + signed by You or Customer. + +----------------------------------------- + +IMPORTANT CLARIFICATION: From time to time, Couchbase may release +versions of the Software and/or certain features that are not generally +available (the "Non-GA Offering"), including test, alpha, beta, trial, +pre-production, preview and/or developer preview versions or features. If +Customer uses any Non-GA Offering, then the same terms and conditions +of the "Free Licenses" under the Agreement above shall apply, subject +to the modifications below. + +Non-GA Offering Supplemental Terms + +For any Non-GA Offering, the definition of Software in Section 1 of +the Agreement shall be replaced by the following and all references to +"Software" in the applicable provisions shall refer to the below instead: + +"Software" means the applicable Couchbase product, including any Non-GA +Offering, either (i) as reflected in an Order or (ii) as otherwise made +available to Customer under this Agreement. + +Section 2.1 of the Agreement shall be replaced in its entirety by the +following: + +2.1. License Grant. Subject to Customer's compliance with the terms and +conditions of this Agreement and the Documentation, Couchbase hereby +grants to Customer a revocable, non-exclusive, non-transferable, +non-sublicensable, royalty-free, non-fee bearing limited license to +install and use the Non-GA Offering of the Software only for Customer's +own internal non-production use for the purpose of evaluation and +development, if applicable (the "Non-GA Offering License"). By accepting +an invitation to install or use, or by installing or using the Non-GA +Offering, Customer acknowledges and agrees that (i) it has relied upon +its own skill and judgment in electing to use such Non-GA Offering in its +sole discretion, (ii) the Non-GA Offering may not work correctly or in +the same way the final version may work and is offered exclusive of any +warranty (as described in Section 10 of the Agreement) or service level +agreement, (iii) the license granted to Customer with respect to the +Non-GA Offering is revocable and terminable at any time in Couchbase's +sole and absolute discretion, (iv) Couchbase may change, withdraw or +discontinue the Non-GA Offering at any time without notice and is under +no obligation to make such generally available, and (v) Couchbase is +not obligated to provide any services or support, including Support, +Professional Services, updates, patches, enhancements, or fixes (either +in the form of descriptions in the Documentation or on the Couchbase +website or otherwise). Couchbase may use any data, feedback or information +that Customer makes available to Couchbase or that Couchbase derives or +generates from Customer's use of the Non-GA Offering ("Feedback"), and +Customer hereby irrevocably assigns to Couchbase all right, title, and +interest in such Feedback. Customer agrees to the restrictions generally +applicable to the Free Licenses and Software, as applicable, under +this Agreement and any additional requirements set forth by Couchbase +in writing (whether in the Documentation or otherwise) regarding any +particular Non-GA Offering. For the avoidance of doubt, Customer shall +not use any Non-GA Offering in production under any circumstance. + +Section 12 of the Agreement shall be replaced by the following: + +12. Limitation of Liability. +TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL THE +COUCHBASE PARTIES BE LIABLE TO CUSTOMER OR TO ANY THIRD PARTY FOR: (A) +ANY INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES; +OR (B) THE COST OF PROCURING SUBSTITUTE PRODUCTS OR PROFESSIONAL +SERVICES ARISING OUT OF OR IN ANY WAY RELATING TO THIS AGREEMENT, +OR THE USE OF OR INABILITY TO USE THE SOFTWARE, DOCUMENTATION OR THE +PROFESSIONAL SERVICES; OR (C) DAMAGES OR OTHER LOSSES FOR LOSS OF USE, +LOSS OF BUSINESS, LOSS OF GOODWILL, WORK STOPPAGE, LOST PROFITS, LOSS +OF DATA, COMPUTER FAILURE OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR +LOSSES EVEN IF ADVISED OF THE POSSIBILITY THEREOF AND REGARDLESS OF THE +LEGAL OR EQUITABLE THEORY (CONTRACT, TORT OR OTHERWISE) UPON WHICH THE +CLAIM IS BASED. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN +NO EVENT WILL THE COUCHBASE PARTIES' AGGREGATE LIABILITY TO CUSTOMER, +FROM ALL CAUSES OF ACTION AND UNDER ALL THEORIES OF LIABILITY EXCEED +ONE HUNDRED DOLLARS (US $100). The parties expressly acknowledge and +agree that Couchbase has set its prices and entered into this Agreement +in reliance upon the limitations of liability specified herein, which +allocate the risk between Couchbase and Customer and form a basis of +the bargain between the parties. + +Section 13.1 of the Agreement shall be replaced by the following: + +13.1 This Agreement is effective as of the date of Customer's acceptance +of this Agreement and will continue until: (i) Customer ceases to use +the Non-GA Offering and/or the Non-GA Offering License, (ii) the Non-GA +Offering becomes generally available (in which case the terms of the +Free License or the Enterprise License (with or without an Order), as +applicable, shall automatically apply to Customer's use of the Software), +(iii) Couchbase discontinues and terminates the Non-GA Offering and/or +Non-GA Offering Licenses, in its sole discretion, or (iv) either party +terminates this Agreement as set forth in this Section, provided that +the parties' rights and obligations of the provisions listed in Section +13.4 shall survive any termination. + +If you have any questions regarding this Agreement, please contact us +at legal@couchbase.com. + +Exhibit A +Additional Terms and Conditions for Couchbase Components and Third +Party Products + +Couchbase Component: Connector to Tableau Software, LLC +Additional Terms and Conditions: www.couchbase.com/toollicenses/tableau + +Product License V11: 20230213 diff --git a/libcblite-3.0.3/include/cbl++/Base.hh b/libcblite/include/cbl++/Base.hh similarity index 100% rename from libcblite-3.0.3/include/cbl++/Base.hh rename to libcblite/include/cbl++/Base.hh diff --git a/libcblite-3.0.3/include/cbl++/Blob.hh b/libcblite/include/cbl++/Blob.hh similarity index 100% rename from libcblite-3.0.3/include/cbl++/Blob.hh rename to libcblite/include/cbl++/Blob.hh diff --git a/libcblite-3.0.3/include/cbl++/Collection.hh b/libcblite/include/cbl++/Collection.hh similarity index 100% rename from libcblite-3.0.3/include/cbl++/Collection.hh rename to libcblite/include/cbl++/Collection.hh diff --git a/libcblite-3.0.3/include/cbl++/CouchbaseLite.hh b/libcblite/include/cbl++/CouchbaseLite.hh similarity index 100% rename from libcblite-3.0.3/include/cbl++/CouchbaseLite.hh rename to libcblite/include/cbl++/CouchbaseLite.hh diff --git a/libcblite-3.0.3/include/cbl++/Database.hh b/libcblite/include/cbl++/Database.hh similarity index 100% rename from libcblite-3.0.3/include/cbl++/Database.hh rename to libcblite/include/cbl++/Database.hh diff --git a/libcblite-3.0.3/include/cbl++/Document.hh b/libcblite/include/cbl++/Document.hh similarity index 100% rename from libcblite-3.0.3/include/cbl++/Document.hh rename to libcblite/include/cbl++/Document.hh diff --git a/libcblite-3.0.3/include/cbl++/Prediction.hh b/libcblite/include/cbl++/Prediction.hh similarity index 100% rename from libcblite-3.0.3/include/cbl++/Prediction.hh rename to libcblite/include/cbl++/Prediction.hh diff --git a/libcblite-3.0.3/include/cbl++/Query.hh b/libcblite/include/cbl++/Query.hh similarity index 100% rename from libcblite-3.0.3/include/cbl++/Query.hh rename to libcblite/include/cbl++/Query.hh diff --git a/libcblite-3.0.3/include/cbl++/QueryIndex.hh b/libcblite/include/cbl++/QueryIndex.hh similarity index 100% rename from libcblite-3.0.3/include/cbl++/QueryIndex.hh rename to libcblite/include/cbl++/QueryIndex.hh diff --git a/libcblite-3.0.3/include/cbl++/Replicator.hh b/libcblite/include/cbl++/Replicator.hh similarity index 100% rename from libcblite-3.0.3/include/cbl++/Replicator.hh rename to libcblite/include/cbl++/Replicator.hh diff --git a/libcblite-3.0.3/include/cbl++/VectorIndex.hh b/libcblite/include/cbl++/VectorIndex.hh similarity index 100% rename from libcblite-3.0.3/include/cbl++/VectorIndex.hh rename to libcblite/include/cbl++/VectorIndex.hh diff --git a/libcblite-3.0.3/include/cbl/CBLBase.h b/libcblite/include/cbl/CBLBase.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLBase.h rename to libcblite/include/cbl/CBLBase.h diff --git a/libcblite-3.0.3/include/cbl/CBLBlob.h b/libcblite/include/cbl/CBLBlob.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLBlob.h rename to libcblite/include/cbl/CBLBlob.h diff --git a/libcblite-3.0.3/include/cbl/CBLCollection.h b/libcblite/include/cbl/CBLCollection.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLCollection.h rename to libcblite/include/cbl/CBLCollection.h diff --git a/libcblite-3.0.3/include/cbl/CBLDatabase.h b/libcblite/include/cbl/CBLDatabase.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLDatabase.h rename to libcblite/include/cbl/CBLDatabase.h diff --git a/libcblite-3.0.3/include/cbl/CBLDefaults.h b/libcblite/include/cbl/CBLDefaults.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLDefaults.h rename to libcblite/include/cbl/CBLDefaults.h diff --git a/libcblite-3.0.3/include/cbl/CBLDocument.h b/libcblite/include/cbl/CBLDocument.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLDocument.h rename to libcblite/include/cbl/CBLDocument.h diff --git a/libcblite-3.0.3/include/cbl/CBLEncryptable.h b/libcblite/include/cbl/CBLEncryptable.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLEncryptable.h rename to libcblite/include/cbl/CBLEncryptable.h diff --git a/libcblite-3.0.3/include/cbl/CBLLog.h b/libcblite/include/cbl/CBLLog.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLLog.h rename to libcblite/include/cbl/CBLLog.h diff --git a/libcblite-3.0.3/include/cbl/CBLPlatform.h b/libcblite/include/cbl/CBLPlatform.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLPlatform.h rename to libcblite/include/cbl/CBLPlatform.h diff --git a/libcblite-3.0.3/include/cbl/CBLPrediction.h b/libcblite/include/cbl/CBLPrediction.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLPrediction.h rename to libcblite/include/cbl/CBLPrediction.h diff --git a/libcblite-3.0.3/include/cbl/CBLQuery.h b/libcblite/include/cbl/CBLQuery.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLQuery.h rename to libcblite/include/cbl/CBLQuery.h diff --git a/libcblite-3.0.3/include/cbl/CBLQueryIndex.h b/libcblite/include/cbl/CBLQueryIndex.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLQueryIndex.h rename to libcblite/include/cbl/CBLQueryIndex.h diff --git a/libcblite-3.0.3/include/cbl/CBLQueryIndexTypes.h b/libcblite/include/cbl/CBLQueryIndexTypes.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLQueryIndexTypes.h rename to libcblite/include/cbl/CBLQueryIndexTypes.h diff --git a/libcblite-3.0.3/include/cbl/CBLQueryTypes.h b/libcblite/include/cbl/CBLQueryTypes.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLQueryTypes.h rename to libcblite/include/cbl/CBLQueryTypes.h diff --git a/libcblite-3.0.3/include/cbl/CBLReplicator.h b/libcblite/include/cbl/CBLReplicator.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLReplicator.h rename to libcblite/include/cbl/CBLReplicator.h diff --git a/libcblite-3.0.3/include/cbl/CBLScope.h b/libcblite/include/cbl/CBLScope.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBLScope.h rename to libcblite/include/cbl/CBLScope.h diff --git a/libcblite-3.0.3/include/cbl/CBL_Compat.h b/libcblite/include/cbl/CBL_Compat.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CBL_Compat.h rename to libcblite/include/cbl/CBL_Compat.h diff --git a/libcblite-3.0.3/include/cbl/CBL_Edition.h b/libcblite/include/cbl/CBL_Edition.h similarity index 94% rename from libcblite-3.0.3/include/cbl/CBL_Edition.h rename to libcblite/include/cbl/CBL_Edition.h index 833d9b5..065cb31 100644 --- a/libcblite-3.0.3/include/cbl/CBL_Edition.h +++ b/libcblite/include/cbl/CBL_Edition.h @@ -24,4 +24,4 @@ #define CBLITE_VERSION_NUMBER 3002001 #define CBLITE_BUILD_NUMBER 9 #define CBLITE_SOURCE_ID "6728898+e322f9b" -#define CBLITE_BUILD_TIMESTAMP "2024-10-30T14:17:35Z" +#define CBLITE_BUILD_TIMESTAMP "2024-10-30T14:20:02Z" diff --git a/libcblite-3.0.3/include/cbl/CouchbaseLite.h b/libcblite/include/cbl/CouchbaseLite.h similarity index 100% rename from libcblite-3.0.3/include/cbl/CouchbaseLite.h rename to libcblite/include/cbl/CouchbaseLite.h diff --git a/libcblite-3.0.3/include/fleece/CompilerSupport.h b/libcblite/include/fleece/CompilerSupport.h similarity index 100% rename from libcblite-3.0.3/include/fleece/CompilerSupport.h rename to libcblite/include/fleece/CompilerSupport.h diff --git a/libcblite-3.0.3/include/fleece/Expert.hh b/libcblite/include/fleece/Expert.hh similarity index 100% rename from libcblite-3.0.3/include/fleece/Expert.hh rename to libcblite/include/fleece/Expert.hh diff --git a/libcblite-3.0.3/include/fleece/FLBase.h b/libcblite/include/fleece/FLBase.h similarity index 100% rename from libcblite-3.0.3/include/fleece/FLBase.h rename to libcblite/include/fleece/FLBase.h diff --git a/libcblite-3.0.3/include/fleece/FLCollections.h b/libcblite/include/fleece/FLCollections.h similarity index 100% rename from libcblite-3.0.3/include/fleece/FLCollections.h rename to libcblite/include/fleece/FLCollections.h diff --git a/libcblite-3.0.3/include/fleece/FLDeepIterator.h b/libcblite/include/fleece/FLDeepIterator.h similarity index 100% rename from libcblite-3.0.3/include/fleece/FLDeepIterator.h rename to libcblite/include/fleece/FLDeepIterator.h diff --git a/libcblite-3.0.3/include/fleece/FLDoc.h b/libcblite/include/fleece/FLDoc.h similarity index 100% rename from libcblite-3.0.3/include/fleece/FLDoc.h rename to libcblite/include/fleece/FLDoc.h diff --git a/libcblite-3.0.3/include/fleece/FLEncoder.h b/libcblite/include/fleece/FLEncoder.h similarity index 100% rename from libcblite-3.0.3/include/fleece/FLEncoder.h rename to libcblite/include/fleece/FLEncoder.h diff --git a/libcblite-3.0.3/include/fleece/FLExpert.h b/libcblite/include/fleece/FLExpert.h similarity index 100% rename from libcblite-3.0.3/include/fleece/FLExpert.h rename to libcblite/include/fleece/FLExpert.h diff --git a/libcblite-3.0.3/include/fleece/FLJSON.h b/libcblite/include/fleece/FLJSON.h similarity index 100% rename from libcblite-3.0.3/include/fleece/FLJSON.h rename to libcblite/include/fleece/FLJSON.h diff --git a/libcblite-3.0.3/include/fleece/FLKeyPath.h b/libcblite/include/fleece/FLKeyPath.h similarity index 100% rename from libcblite-3.0.3/include/fleece/FLKeyPath.h rename to libcblite/include/fleece/FLKeyPath.h diff --git a/libcblite-3.0.3/include/fleece/FLMutable.h b/libcblite/include/fleece/FLMutable.h similarity index 100% rename from libcblite-3.0.3/include/fleece/FLMutable.h rename to libcblite/include/fleece/FLMutable.h diff --git a/libcblite-3.0.3/include/fleece/FLSlice.h b/libcblite/include/fleece/FLSlice.h similarity index 100% rename from libcblite-3.0.3/include/fleece/FLSlice.h rename to libcblite/include/fleece/FLSlice.h diff --git a/libcblite-3.0.3/include/fleece/FLValue.h b/libcblite/include/fleece/FLValue.h similarity index 100% rename from libcblite-3.0.3/include/fleece/FLValue.h rename to libcblite/include/fleece/FLValue.h diff --git a/libcblite-3.0.3/include/fleece/Fleece+CoreFoundation.h b/libcblite/include/fleece/Fleece+CoreFoundation.h similarity index 100% rename from libcblite-3.0.3/include/fleece/Fleece+CoreFoundation.h rename to libcblite/include/fleece/Fleece+CoreFoundation.h diff --git a/libcblite-3.0.3/include/fleece/Fleece.h b/libcblite/include/fleece/Fleece.h similarity index 100% rename from libcblite-3.0.3/include/fleece/Fleece.h rename to libcblite/include/fleece/Fleece.h diff --git a/libcblite-3.0.3/include/fleece/Fleece.hh b/libcblite/include/fleece/Fleece.hh similarity index 100% rename from libcblite-3.0.3/include/fleece/Fleece.hh rename to libcblite/include/fleece/Fleece.hh diff --git a/libcblite-3.0.3/include/fleece/InstanceCounted.hh b/libcblite/include/fleece/InstanceCounted.hh similarity index 100% rename from libcblite-3.0.3/include/fleece/InstanceCounted.hh rename to libcblite/include/fleece/InstanceCounted.hh diff --git a/libcblite-3.0.3/include/fleece/Mutable.hh b/libcblite/include/fleece/Mutable.hh similarity index 100% rename from libcblite-3.0.3/include/fleece/Mutable.hh rename to libcblite/include/fleece/Mutable.hh diff --git a/libcblite-3.0.3/include/fleece/PlatformCompat.hh b/libcblite/include/fleece/PlatformCompat.hh similarity index 100% rename from libcblite-3.0.3/include/fleece/PlatformCompat.hh rename to libcblite/include/fleece/PlatformCompat.hh diff --git a/libcblite-3.0.3/include/fleece/RefCounted.hh b/libcblite/include/fleece/RefCounted.hh similarity index 100% rename from libcblite-3.0.3/include/fleece/RefCounted.hh rename to libcblite/include/fleece/RefCounted.hh diff --git a/libcblite-3.0.3/include/fleece/function_ref.hh b/libcblite/include/fleece/function_ref.hh similarity index 100% rename from libcblite-3.0.3/include/fleece/function_ref.hh rename to libcblite/include/fleece/function_ref.hh diff --git a/libcblite-3.0.3/include/fleece/slice.hh b/libcblite/include/fleece/slice.hh similarity index 100% rename from libcblite-3.0.3/include/fleece/slice.hh rename to libcblite/include/fleece/slice.hh diff --git a/libcblite-3.0.3/lib/aarch64-linux-android/libcblite.so b/libcblite/lib/aarch64-linux-android/libcblite.so similarity index 100% rename from libcblite-3.0.3/lib/aarch64-linux-android/libcblite.so rename to libcblite/lib/aarch64-linux-android/libcblite.so diff --git a/libcblite-3.0.3/lib/aarch64-linux-android/libcblite.stripped.so b/libcblite/lib/aarch64-linux-android/libcblite.stripped.so similarity index 100% rename from libcblite-3.0.3/lib/aarch64-linux-android/libcblite.stripped.so rename to libcblite/lib/aarch64-linux-android/libcblite.stripped.so diff --git a/libcblite-3.0.3/lib/arm-linux-androideabi/libcblite.so b/libcblite/lib/arm-linux-androideabi/libcblite.so similarity index 100% rename from libcblite-3.0.3/lib/arm-linux-androideabi/libcblite.so rename to libcblite/lib/arm-linux-androideabi/libcblite.so diff --git a/libcblite-3.0.3/lib/arm-linux-androideabi/libcblite.stripped.so b/libcblite/lib/arm-linux-androideabi/libcblite.stripped.so similarity index 100% rename from libcblite-3.0.3/lib/arm-linux-androideabi/libcblite.stripped.so rename to libcblite/lib/arm-linux-androideabi/libcblite.stripped.so diff --git a/libcblite-3.0.3/lib/i686-linux-android/libcblite.so b/libcblite/lib/i686-linux-android/libcblite.so similarity index 100% rename from libcblite-3.0.3/lib/i686-linux-android/libcblite.so rename to libcblite/lib/i686-linux-android/libcblite.so diff --git a/libcblite-3.0.3/lib/i686-linux-android/libcblite.stripped.so b/libcblite/lib/i686-linux-android/libcblite.stripped.so similarity index 100% rename from libcblite-3.0.3/lib/i686-linux-android/libcblite.stripped.so rename to libcblite/lib/i686-linux-android/libcblite.stripped.so diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/Info.plist b/libcblite/lib/ios/CouchbaseLite.xcframework/Info.plist similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/Info.plist rename to libcblite/lib/ios/CouchbaseLite.xcframework/Info.plist diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/CouchbaseLite b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/CouchbaseLite similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/CouchbaseLite rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/CouchbaseLite diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLBase.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLBase.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLBase.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLBase.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLBlob.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLBlob.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLBlob.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLBlob.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLCollection.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLCollection.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLCollection.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLCollection.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLDatabase.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLDatabase.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLDatabase.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLDatabase.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLDefaults.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLDefaults.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLDefaults.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLDefaults.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLDocument.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLDocument.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLDocument.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLDocument.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLEncryptable.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLEncryptable.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLEncryptable.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLEncryptable.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLLog.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLLog.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLLog.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLLog.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLPlatform.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLPlatform.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLPlatform.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLPlatform.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLPrediction.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLPrediction.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLPrediction.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLPrediction.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQuery.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQuery.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQuery.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQuery.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQueryIndex.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQueryIndex.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQueryIndex.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQueryIndex.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQueryIndexTypes.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQueryIndexTypes.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQueryIndexTypes.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQueryIndexTypes.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQueryTypes.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQueryTypes.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQueryTypes.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLQueryTypes.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLReplicator.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLReplicator.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLReplicator.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLReplicator.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLScope.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLScope.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLScope.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBLScope.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBL_Compat.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBL_Compat.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBL_Compat.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBL_Compat.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBL_Edition.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBL_Edition.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBL_Edition.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CBL_Edition.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CompilerSupport.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CompilerSupport.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CompilerSupport.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CompilerSupport.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CouchbaseLite.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CouchbaseLite.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CouchbaseLite.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/CouchbaseLite.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLBase.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLBase.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLBase.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLBase.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLCollections.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLCollections.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLCollections.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLCollections.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLDeepIterator.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLDeepIterator.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLDeepIterator.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLDeepIterator.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLDoc.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLDoc.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLDoc.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLDoc.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLEncoder.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLEncoder.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLEncoder.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLEncoder.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLExpert.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLExpert.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLExpert.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLExpert.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLJSON.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLJSON.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLJSON.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLJSON.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLKeyPath.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLKeyPath.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLKeyPath.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLKeyPath.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLMutable.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLMutable.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLMutable.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLMutable.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLSlice.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLSlice.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLSlice.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLSlice.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLValue.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLValue.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLValue.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/FLValue.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/Fleece+CoreFoundation.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/Fleece+CoreFoundation.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/Fleece+CoreFoundation.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/Fleece+CoreFoundation.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/Fleece.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/Fleece.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/Fleece.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Headers/Fleece.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Info.plist b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Info.plist similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Info.plist rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Info.plist diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Modules/module.modulemap b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Modules/module.modulemap similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Modules/module.modulemap rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/Modules/module.modulemap diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/PrivacyInfo.xcprivacy b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/PrivacyInfo.xcprivacy similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/PrivacyInfo.xcprivacy rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/CouchbaseLite.framework/PrivacyInfo.xcprivacy diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/dSYMs/CouchbaseLite.framework.dSYM/Contents/Info.plist b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/dSYMs/CouchbaseLite.framework.dSYM/Contents/Info.plist similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/dSYMs/CouchbaseLite.framework.dSYM/Contents/Info.plist rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/dSYMs/CouchbaseLite.framework.dSYM/Contents/Info.plist diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/dSYMs/CouchbaseLite.framework.dSYM/Contents/Resources/DWARF/CouchbaseLite b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/dSYMs/CouchbaseLite.framework.dSYM/Contents/Resources/DWARF/CouchbaseLite similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64/dSYMs/CouchbaseLite.framework.dSYM/Contents/Resources/DWARF/CouchbaseLite rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64/dSYMs/CouchbaseLite.framework.dSYM/Contents/Resources/DWARF/CouchbaseLite diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/CouchbaseLite b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/CouchbaseLite similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/CouchbaseLite rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/CouchbaseLite diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLBase.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLBase.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLBase.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLBase.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLBlob.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLBlob.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLBlob.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLBlob.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLCollection.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLCollection.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLCollection.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLCollection.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLDatabase.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLDatabase.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLDatabase.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLDatabase.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLDefaults.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLDefaults.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLDefaults.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLDefaults.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLDocument.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLDocument.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLDocument.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLDocument.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLEncryptable.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLEncryptable.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLEncryptable.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLEncryptable.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLLog.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLLog.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLLog.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLLog.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLPlatform.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLPlatform.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLPlatform.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLPlatform.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLPrediction.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLPrediction.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLPrediction.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLPrediction.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQuery.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQuery.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQuery.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQuery.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQueryIndex.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQueryIndex.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQueryIndex.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQueryIndex.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQueryIndexTypes.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQueryIndexTypes.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQueryIndexTypes.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQueryIndexTypes.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQueryTypes.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQueryTypes.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQueryTypes.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLQueryTypes.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLReplicator.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLReplicator.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLReplicator.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLReplicator.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLScope.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLScope.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLScope.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBLScope.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBL_Compat.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBL_Compat.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBL_Compat.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBL_Compat.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBL_Edition.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBL_Edition.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBL_Edition.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CBL_Edition.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CompilerSupport.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CompilerSupport.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CompilerSupport.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CompilerSupport.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CouchbaseLite.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CouchbaseLite.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CouchbaseLite.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/CouchbaseLite.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLBase.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLBase.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLBase.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLBase.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLCollections.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLCollections.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLCollections.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLCollections.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLDeepIterator.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLDeepIterator.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLDeepIterator.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLDeepIterator.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLDoc.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLDoc.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLDoc.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLDoc.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLEncoder.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLEncoder.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLEncoder.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLEncoder.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLExpert.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLExpert.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLExpert.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLExpert.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLJSON.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLJSON.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLJSON.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLJSON.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLKeyPath.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLKeyPath.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLKeyPath.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLKeyPath.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLMutable.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLMutable.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLMutable.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLMutable.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLSlice.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLSlice.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLSlice.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLSlice.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLValue.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLValue.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLValue.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/FLValue.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/Fleece+CoreFoundation.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/Fleece+CoreFoundation.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/Fleece+CoreFoundation.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/Fleece+CoreFoundation.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/Fleece.h b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/Fleece.h similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/Fleece.h rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Headers/Fleece.h diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Info.plist b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Info.plist similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Info.plist rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Info.plist diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Modules/module.modulemap b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Modules/module.modulemap similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Modules/module.modulemap rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/Modules/module.modulemap diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/PrivacyInfo.xcprivacy b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/PrivacyInfo.xcprivacy similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/PrivacyInfo.xcprivacy rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/CouchbaseLite.framework/PrivacyInfo.xcprivacy diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/dSYMs/CouchbaseLite.framework.dSYM/Contents/Info.plist b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/dSYMs/CouchbaseLite.framework.dSYM/Contents/Info.plist similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/dSYMs/CouchbaseLite.framework.dSYM/Contents/Info.plist rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/dSYMs/CouchbaseLite.framework.dSYM/Contents/Info.plist diff --git a/libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/dSYMs/CouchbaseLite.framework.dSYM/Contents/Resources/DWARF/CouchbaseLite b/libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/dSYMs/CouchbaseLite.framework.dSYM/Contents/Resources/DWARF/CouchbaseLite similarity index 100% rename from libcblite-3.0.3/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/dSYMs/CouchbaseLite.framework.dSYM/Contents/Resources/DWARF/CouchbaseLite rename to libcblite/lib/ios/CouchbaseLite.xcframework/ios-arm64_x86_64-simulator/dSYMs/CouchbaseLite.framework.dSYM/Contents/Resources/DWARF/CouchbaseLite diff --git a/libcblite-3.0.3/lib/macos/libcblite.3.dylib b/libcblite/lib/macos/libcblite.3.dylib similarity index 100% rename from libcblite-3.0.3/lib/macos/libcblite.3.dylib rename to libcblite/lib/macos/libcblite.3.dylib diff --git a/libcblite-3.0.3/lib/x86_64-linux-android/libcblite.so b/libcblite/lib/x86_64-linux-android/libcblite.so similarity index 100% rename from libcblite-3.0.3/lib/x86_64-linux-android/libcblite.so rename to libcblite/lib/x86_64-linux-android/libcblite.so diff --git a/libcblite-3.0.3/lib/x86_64-linux-android/libcblite.stripped.so b/libcblite/lib/x86_64-linux-android/libcblite.stripped.so similarity index 100% rename from libcblite-3.0.3/lib/x86_64-linux-android/libcblite.stripped.so rename to libcblite/lib/x86_64-linux-android/libcblite.stripped.so diff --git a/libcblite-3.0.3/lib/x86_64-pc-windows-gnu/cblite.dll b/libcblite/lib/x86_64-pc-windows-gnu/cblite.dll similarity index 100% rename from libcblite-3.0.3/lib/x86_64-pc-windows-gnu/cblite.dll rename to libcblite/lib/x86_64-pc-windows-gnu/cblite.dll diff --git a/libcblite-3.0.3/lib/x86_64-pc-windows-gnu/cblite.lib b/libcblite/lib/x86_64-pc-windows-gnu/cblite.lib similarity index 100% rename from libcblite-3.0.3/lib/x86_64-pc-windows-gnu/cblite.lib rename to libcblite/lib/x86_64-pc-windows-gnu/cblite.lib diff --git a/libcblite-3.0.3/lib/x86_64-pc-windows-gnu/cblite.stripped.dll b/libcblite/lib/x86_64-pc-windows-gnu/cblite.stripped.dll similarity index 100% rename from libcblite-3.0.3/lib/x86_64-pc-windows-gnu/cblite.stripped.dll rename to libcblite/lib/x86_64-pc-windows-gnu/cblite.stripped.dll diff --git a/libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/libcblite.so.3 b/libcblite/lib/x86_64-unknown-linux-gnu/libcblite.so.3 similarity index 100% rename from libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/libcblite.so.3 rename to libcblite/lib/x86_64-unknown-linux-gnu/libcblite.so.3 diff --git a/libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/libicudata.so.66 b/libcblite/lib/x86_64-unknown-linux-gnu/libicudata.so.66 similarity index 100% rename from libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/libicudata.so.66 rename to libcblite/lib/x86_64-unknown-linux-gnu/libicudata.so.66 diff --git a/libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/libicui18n.so.66 b/libcblite/lib/x86_64-unknown-linux-gnu/libicui18n.so.66 similarity index 100% rename from libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/libicui18n.so.66 rename to libcblite/lib/x86_64-unknown-linux-gnu/libicui18n.so.66 diff --git a/libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/libicuio.so.66 b/libcblite/lib/x86_64-unknown-linux-gnu/libicuio.so.66 similarity index 100% rename from libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/libicuio.so.66 rename to libcblite/lib/x86_64-unknown-linux-gnu/libicuio.so.66 diff --git a/libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/libicutu.so.66 b/libcblite/lib/x86_64-unknown-linux-gnu/libicutu.so.66 similarity index 100% rename from libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/libicutu.so.66 rename to libcblite/lib/x86_64-unknown-linux-gnu/libicutu.so.66 diff --git a/libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/libicuuc.so.66 b/libcblite/lib/x86_64-unknown-linux-gnu/libicuuc.so.66 similarity index 100% rename from libcblite-3.0.3/lib/x86_64-unknown-linux-gnu/libicuuc.so.66 rename to libcblite/lib/x86_64-unknown-linux-gnu/libicuuc.so.66 diff --git a/src/replicator.rs b/src/replicator.rs index 61effe0..c2bc0ac 100644 --- a/src/replicator.rs +++ b/src/replicator.rs @@ -259,9 +259,7 @@ unsafe extern "C" fn c_replication_push_filter( (*repl_conf_context) .push_filter .as_ref() - .map_or(false, |callback| { - callback(&document, is_deleted, is_access_removed) - }) + .is_some_and(|callback| callback(&document, is_deleted, is_access_removed)) } unsafe extern "C" fn c_replication_pull_filter( context: *mut ::std::os::raw::c_void, @@ -275,9 +273,7 @@ unsafe extern "C" fn c_replication_pull_filter( (*repl_conf_context) .pull_filter .as_ref() - .map_or(false, |callback| { - callback(&document, is_deleted, is_access_removed) - }) + .is_some_and(|callback| callback(&document, is_deleted, is_access_removed)) } fn read_document_flags(flags: CBLDocumentFlags) -> (bool, bool) { (flags & DELETED != 0, flags & ACCESS_REMOVED != 0) diff --git a/update_cblite_c.sh b/update_cblite_c.sh new file mode 100755 index 0000000..d8fdea7 --- /dev/null +++ b/update_cblite_c.sh @@ -0,0 +1,249 @@ +#!/usr/bin/env bash + +set -e + +RED="\e[31m" +GREEN="\e[32m" +ENDCOLOR="\e[0m" + +function echoGreen() { + echo -e "${GREEN}$1${ENDCOLOR}" +} + +function echoRed() { + echo -e "${RED}$1${ENDCOLOR}" +} + +scriptDir=$(dirname "$0") +echo "Script directory: $scriptDir" + +# ####### # +# Options # +# ####### # + +function help() { + echo "Download & Setup new CBlite packages" + echo + echo " -v CBlite version (ie. 3.2.1)" + echo " -h print this help" +} + +while getopts ":v:h" option +do + case $option in + v) + version="$OPTARG" + ;; + h) + help + exit + ;; + \?) + >&2 echo "Invalid option." + help + exit 1 + ;; + esac +done + +if [[ -z "$version" ]] +then + >&2 echoRed "All required parameters are not set" + help + exit 1 +else + echoGreen "All good, let's start with CBlite $version :-)" +fi + +tmpFolder=$(mktemp -d) +echo "Temporary directory ${tmpFolder}" + +# ################################## # +# Download couchbase-lite-C packages # +# ################################## # + +echoGreen "Start downloading" + +tmpDownloadFolder="${tmpFolder}/download" +mkdir $tmpDownloadFolder +echo "Temporary download directory ${tmpFolder}" + +declare -A platforms=( + [linux]=linux-x86_64.tar.gz + [windows]=windows-x86_64.zip + [macos]=macos.zip + [android]=android.zip + [ios]=ios.zip +) + +function download() { + local suffix="$1" + + local url="https://packages.couchbase.com/releases/couchbase-lite-c/${version}/couchbase-lite-c-enterprise-${version}-${suffix}" + local file="${tmpDownloadFolder}/${suffix}" + + wget --quiet --show-progress --output-document "${file}" "${url}" +} + +for platform in "${!platforms[@]}" +do + echo "Downloading ${platform} package" + + fileName=${platforms[$platform]} + download $fileName +done + +echoGreen "Downloading successful" + +# ############## # +# Unzip packages # +# ############## # + +echoGreen "Start unzipping" + +tmpUnzipFolder="${tmpFolder}/unzip" +mkdir $tmpUnzipFolder +echo "Temporary unzip directory ${tmpUnzipFolder}" + +for platform in "${!platforms[@]}" +do + echo "Unzipping ${platform} package" + + fileName=${platforms[$platform]} + zippedPath="$tmpDownloadFolder/$fileName" + + unzipPlatformFolder="${tmpUnzipFolder}/$platform" + mkdir $unzipPlatformFolder + + tar -x -f $zippedPath --directory $unzipPlatformFolder +done + +echoGreen "Unzipping successful" + +# ######################## # +# Package libcblite folder # +# ######################## # + +echoGreen "Package libcblite" + +tmpLibcbliteFolder="${tmpFolder}/libcblite" +mkdir $tmpLibcbliteFolder +echo "Temporary libcblite directory ${tmpLibcbliteFolder}" + +libFolder="${tmpLibcbliteFolder}/lib" +mkdir $libFolder + +for platform in "${!platforms[@]}" +do + echo "Packaging ${platform}" + + unzipPlatformFolder="${tmpUnzipFolder}/$platform" + + case $platform in + + linux) + platformFolder="${libFolder}/x86_64-unknown-linux-gnu" + mkdir $platformFolder + + libFile="${unzipPlatformFolder}/libcblite-${version}/lib/x86_64-linux-gnu/libcblite.so.${version}" + libDestinationFile="${platformFolder}/libcblite.so.3" + cp $libFile $libDestinationFile + + # There are required ICU libs already present in the existing package + cp $scriptDir/libcblite/lib/x86_64-unknown-linux-gnu/libicu* $platformFolder + + ;; + + windows) + platformFolder="${libFolder}/x86_64-pc-windows-gnu" + mkdir $platformFolder + + libFile="${unzipPlatformFolder}/libcblite-${version}/lib/cblite.lib" + cp $libFile $platformFolder + + binFile="${unzipPlatformFolder}/libcblite-${version}/bin/cblite.dll" + cp $binFile $platformFolder + + ;; + + macos) + platformFolder="${libFolder}/macos" + mkdir $platformFolder + + libFile="${unzipPlatformFolder}/libcblite-${version}/lib/libcblite.${version}.dylib" + libDestinationFile="${platformFolder}/libcblite.3.dylib" + cp $libFile $libDestinationFile + + ;; + + android) + # aarch64 + platformFolder="${libFolder}/aarch64-linux-android" + mkdir $platformFolder + + libFile="${unzipPlatformFolder}/libcblite-${version}/lib/aarch64-linux-android/libcblite.so" + cp $libFile $platformFolder + + # arm + platformFolder="${libFolder}/arm-linux-androideabi" + mkdir $platformFolder + + libFile="${unzipPlatformFolder}/libcblite-${version}/lib/arm-linux-androideabi/libcblite.so" + cp $libFile $platformFolder + + # i686 + platformFolder="${libFolder}/i686-linux-android" + mkdir $platformFolder + + libFile="${unzipPlatformFolder}/libcblite-${version}/lib/i686-linux-android/libcblite.so" + cp $libFile $platformFolder + + # x86_64 + platformFolder="${libFolder}/x86_64-linux-android" + mkdir $platformFolder + + libFile="${unzipPlatformFolder}/libcblite-${version}/lib/x86_64-linux-android/libcblite.so" + cp $libFile $platformFolder + + # Some files/directories must be moved only once for all platforms: include directory & LICENSE.txt + cp -R "${unzipPlatformFolder}/libcblite-${version}/include" $tmpLibcbliteFolder + + cp "${unzipPlatformFolder}/libcblite-${version}/LICENSE.txt" $tmpLibcbliteFolder + + ;; + + ios) + platformFolder="${libFolder}/ios" + mkdir $platformFolder + + cp -R "${unzipPlatformFolder}/CouchbaseLite.xcframework" $platformFolder + + ;; + esac +done + +echoGreen "Packaging libcblite successful" + +# ######################## # +# Replace libcblite folder # +# ######################## # + +echoGreen "Replace libcblite directory by newly package one" + +rm -rf $scriptDir/libcblite + +cp -R $tmpLibcbliteFolder $scriptDir + +rm -rf $tmpFolder + +echoGreen "Replacing libcblite successful" + +# ################### # +# Strip the libraries # +# ################### # + +echoGreen "Strip libraries" + +DOCKER_BUILDKIT=1 docker build --file $scriptDir/Dockerfile -t strip --output $scriptDir/libcblite $scriptDir + +echoGreen "Stripping libcblite successful"