https://github.com/davelester/fdb-swift-bindings
https://github.com/davelester/fdb-swift-bindings
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/davelester/fdb-swift-bindings
- Owner: davelester
- License: apache-2.0
- Created: 2018-10-04T20:03:01.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-10-04T20:05:44.000Z (almost 8 years ago)
- Last Synced: 2024-12-31T12:49:01.897Z (over 1 year ago)
- Language: Swift
- Size: 353 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
This package provides a layer for using FoundationDB as a data store for a
Swift application.
# Building
## General
Before you can build this library, you must install the FoundationDB client
libraries and the FoundationDB server from our
[website](https://www.foundationdb.org/download/).
You will also need to set up a local cluster. There should be an fdbserver
process that was started automatically when you installed the server. If it's
not running, you can run:
fdbserver -p auto:4689 -d /usr/local/foundationdb/data/4689 -L /usr/local/foundationdb/logs &
Once it's running, you will need to configure the initial database:
fdbcli --exec "configure new single ssd"
fdbcli --exec status
This currently builds with Swift 4.0.
## Mac Command Line
To build on the Mac, you must manually install the [pkg-config](https://github.com/FoundationDB/fdb-swift-bindings/blob/master/Sources/CFoundationDB/include/CFoundationDB_mac.pc)
file in `/usr/local/lib/pkgconfig/CFoundationDB.pc`.
Then you can run `swift build` to build the library, and `swift test` to run the
test suite.
## Xcode
You can generate an Xcode project for this package by running
`swift package generate-xcodeproj` from the
command-line. You should then be able to build the library and run the test
suite in Xcode.
## Linux
This repository provides a docker image for building the library in Linux. You
can build and run the tests by running:
docker run --rm -v $PWD:/var/code/fdb-swift fdb-swift-build
You can build that Dockerfile by running:
docker build -t fdb-swift-build Resources/docker
When switching from building for Mac and building for Linux or vice-versa, run
`swift build --clean`.
## Updating Versions
This package must be kept synchronized with new versions of FoundationDB. To
update the version for this package:
1. Check out the master branch of the
[C Wrapper](https://github.com/apple/fdbc-swift) project,
and update the versions in the following files:
- CFoundationDB.h
- CFoundationDB_linux.pc
- CFoundationDB_mac.pc
2. Commit those changes and push them to the remote repo
3. Tag the master branch with the new version (e.g. `5.0.5`) and push that tag
to the remote repo.
4. Update the `resources/docker/Dockerfile` file with the new FDB version
5. Build the new docker image:
docker build resources/docker -t fdb-swift-build
6. Update the dependency on fdbc-swift in `Package.swift` in this repo to
specify the new version.
7. Commit those change and push them to the remote repo
8. Tag the master branch with the new version (e.g. `5.0.5`) and push that tag
to the remote repo.