Skip to content
This repository has been archived by the owner on Dec 8, 2021. It is now read-only.

Commit

Permalink
doc: consolidate and update README.md, INSTALL.md (#1026)
Browse files Browse the repository at this point in the history
* chore: remove subdir README.md
* doc: remove broken install links for this release
  • Loading branch information
scotthart authored Nov 6, 2019
1 parent 99bf734 commit 661640f
Show file tree
Hide file tree
Showing 6 changed files with 211 additions and 100 deletions.
84 changes: 84 additions & 0 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,87 @@ these dependencies.
- [Fedora 30](#fedora-30)

### Fedora (30)

Install the minimal development tools:

```bash
sudo dnf makecache && \
sudo dnf install -y cmake gcc-c++ git make openssl-devel pkgconfig \
zlib-devel
```

Fedora 30 includes packages for gRPC, libcurl, and OpenSSL that are recent
enough for the project. Install these packages and additional development
tools to compile the dependencies:

```bash
sudo dnf makecache && \
sudo dnf install -y grpc-devel grpc-plugins \
libcurl-devel protobuf-compiler tar wget zlib-devel
```

#### googleapis

We need a recent version of the Google Cloud Platform proto C++ libraries:

```bash
cd $HOME/Downloads
wget -q https://github.com/googleapis/cpp-cmakefiles/archive/v0.1.5.tar.gz
tar -xf v0.1.5.tar.gz
cd $HOME/Downloads/cpp-cmakefiles-0.1.5
cmake \
-DBUILD_SHARED_LIBS=YES \
-H. -Bcmake-out
sudo cmake --build cmake-out --target install -- -j ${NCPU:-4}
sudo ldconfig
```

#### googletest

We need a recent version of GoogleTest to compile the unit and integration
tests.

```bash
cd $HOME/Downloads
wget -q https://github.com/google/googletest/archive/release-1.10.0.tar.gz
tar -xf release-1.10.0.tar.gz
cd $HOME/Downloads/googletest-release-1.10.0
cmake \
-DCMAKE_BUILD_TYPE="Release" \
-DBUILD_SHARED_LIBS=yes \
-H. -Bcmake-out
sudo cmake --build cmake-out --target install -- -j ${NCPU:-4}
sudo ldconfig
```

#### google-cloud-cpp-common

The project also depends on google-cloud-cpp-common, the libraries shared by
all the Google Cloud C++ client libraries:

```bash
cd $HOME/Downloads
wget -q https://github.com/googleapis/google-cloud-cpp-common/archive/v0.13.0.tar.gz
tar -xf v0.13.0.tar.gz
cd $HOME/Downloads/google-cloud-cpp-common-0.13.0
cmake -H. -Bcmake-out \
-DBUILD_TESTING=OFF \
-DGOOGLE_CLOUD_CPP_TESTING_UTIL_ENABLE_INSTALL=ON
sudo cmake --build cmake-out --target install -- -j ${NCPU:-4}
sudo ldconfig
```

#### Compile and install the main project

We can now compile, test, and install `google-cloud-cpp-spanner`.

```bash
cd $HOME/project
cmake -H. -B/o
cmake --build /o -- -j "${NCPU:-4}"
cd /o
ctest -LE integration-tests --output-on-failure
cd $HOME/project
sudo cmake --build /o --target install
```

64 changes: 63 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,69 @@ Apache 2.0; see [`LICENSE`](LICENSE) for details.

## Release Notes

### v0.2.x - 2019-XX
### v0.4.x - TBD

### v0.3.x - 2019-11

* **Breaking Changes**
* feat!: class templates removed from keys.h (#936)
* feat!: change result return types (#942)
* refactor!: replaced Row<...> with std::tuple<...> (#967)
* feat!: support for select-star queries (#976)
* feat!: replace RunTransaction() with Client::Commit(functor) (#975)
* chore!: renamed QueryResult to RowStream (#978)
* chore!: renamed ExecuteSqlParams to SqlParams (#986)
* cleanup: depend on google-cloud-cpp-common (#940)

* feat: configurable strategy for background threads (#955)
* feat: add Profile and Analyze methods (#961)
* feat: adds efficient move to support to Value:get<string>() (#980)
* feat: add efficient move support to mutation builder temporaries (#989)
* bug: only install the required headers (#993)
* bug: install the headers for mocking (#997)

### v0.2.x - 2019-10
* **Breaking Changes**
* refactor `Read` to return `ReadResult`; remove `ResultSet` (#935)
* removed `Row<>` from mutations API (#938). Removes the `AddRow(Row<Ts...>)`
member function on the `WriteMutation` API. In place of this method there
is now an `AddRow(std::vector<Value>)` method.
* Change `Value::Bytes` to `google::cloud::spanner::Bytes` (#920)
* implement `CreateInstanceRequestBuilder` (#933). Changed the function
signature of `InstanceAdminClient::CreateInstance()`.
* Replace `ExecuteSql` with `ExecuteQuery` and `ExecuteDml` (#927)
* Changed `RowParser` to require a `Row<Ts...>` template param (#653).
`ResultSet::Rows` used to be a variadic template that took the individual
C++ types for each row. With this change that function is now a template
with one parameter, which must be a `Row<...>` type.
* Implements `Database` in terms of `Instance` (#652). This PR removes
renames some accessors like `InstanceId` -> `instance_id` due to their
trivial nature now (style guide). It also removes some methods like
`Database::ParentName()`, which is now replaced by `Database::instance()`.
* Fixes inconsistent naming of the Batch DML params struct. (#650). This
struct has been renamed, so any code using this struct will need to be
updated.

* **Feature changes**
* implement `InstanceAdminClient` methods `CreateInstance`, `UpdateInstance`,
`DeleteInstance`, `ListInstanceConfigs`, `GetInstanceConfig`,
`SetIamPolicy`.
* implement `DatabaseAdminClient` methods `TestIamPermissions`,
`SetIamPolicy`, `GetIamPolicy`.
* implement retries for `Commit()`, `PartitionRead`, `PartitionQuery`,
`ExecuteBatchDml`, `CreateSession`, `Rollback`.
* implement `PartialResultSetRead` with resumes (#693)
* use separate policies for retry vs. rerun (#667)
* implement `DatabaseAdminConnection` (#638)
* implement overloads on `UpdateInstanceRequestBuilder` (#921)
* implement metadata decorator for `InstanceAdminStub`. (#678)
* implement logging wrapper for `InstanceAdminStub`. (#676)
* support install components for the library (#659)

* **Bug fixes**
* fix runtime install directory (#658)
* give sample programs a long timeout time. (#622)
* use RunTransaction for read write transaction sample (#654)

### v0.1.x - 2019-09

Expand Down
64 changes: 63 additions & 1 deletion ci/test-readme/README.md.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,68 @@
## Release Notes

### v0.2.x - 2019-XX
### v0.4.x - TBD

### v0.3.x - 2019-11

* **Breaking Changes**
* feat!: class templates removed from keys.h (#936)
* feat!: change result return types (#942)
* refactor!: replaced Row<...> with std::tuple<...> (#967)
* feat!: support for select-star queries (#976)
* feat!: replace RunTransaction() with Client::Commit(functor) (#975)
* chore!: renamed QueryResult to RowStream (#978)
* chore!: renamed ExecuteSqlParams to SqlParams (#986)
* cleanup: depend on google-cloud-cpp-common (#940)

* feat: configurable strategy for background threads (#955)
* feat: add Profile and Analyze methods (#961)
* feat: adds efficient move to support to Value:get<string>() (#980)
* feat: add efficient move support to mutation builder temporaries (#989)
* bug: only install the required headers (#993)
* bug: install the headers for mocking (#997)

### v0.2.x - 2019-10
* **Breaking Changes**
* refactor `Read` to return `ReadResult`; remove `ResultSet` (#935)
* removed `Row<>` from mutations API (#938). Removes the `AddRow(Row<Ts...>)`
member function on the `WriteMutation` API. In place of this method there
is now an `AddRow(std::vector<Value>)` method.
* Change `Value::Bytes` to `google::cloud::spanner::Bytes` (#920)
* implement `CreateInstanceRequestBuilder` (#933). Changed the function
signature of `InstanceAdminClient::CreateInstance()`.
* Replace `ExecuteSql` with `ExecuteQuery` and `ExecuteDml` (#927)
* Changed `RowParser` to require a `Row<Ts...>` template param (#653).
`ResultSet::Rows` used to be a variadic template that took the individual
C++ types for each row. With this change that function is now a template
with one parameter, which must be a `Row<...>` type.
* Implements `Database` in terms of `Instance` (#652). This PR removes
renames some accessors like `InstanceId` -> `instance_id` due to their
trivial nature now (style guide). It also removes some methods like
`Database::ParentName()`, which is now replaced by `Database::instance()`.
* Fixes inconsistent naming of the Batch DML params struct. (#650). This
struct has been renamed, so any code using this struct will need to be
updated.

* **Feature changes**
* implement `InstanceAdminClient` methods `CreateInstance`, `UpdateInstance`,
`DeleteInstance`, `ListInstanceConfigs`, `GetInstanceConfig`,
`SetIamPolicy`.
* implement `DatabaseAdminClient` methods `TestIamPermissions`,
`SetIamPolicy`, `GetIamPolicy`.
* implement retries for `Commit()`, `PartitionRead`, `PartitionQuery`,
`ExecuteBatchDml`, `CreateSession`, `Rollback`.
* implement `PartialResultSetRead` with resumes (#693)
* use separate policies for retry vs. rerun (#667)
* implement `DatabaseAdminConnection` (#638)
* implement overloads on `UpdateInstanceRequestBuilder` (#921)
* implement metadata decorator for `InstanceAdminStub`. (#678)
* implement logging wrapper for `InstanceAdminStub`. (#676)
* support install components for the library (#659)

* **Bug fixes**
* fix runtime install directory (#658)
* give sample programs a long timeout time. (#622)
* use RunTransaction for read write transaction sample (#654)

### v0.1.x - 2019-09

Expand Down
1 change: 1 addition & 0 deletions ci/test-readme/generate-readme.sh
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ properly format your code.
## Licensing
Apache 2.0; see [`LICENSE`](LICENSE) for details.
_EOF_

cat "${BINDIR}"/README.md.in
Expand Down
6 changes: 0 additions & 6 deletions doc/cutting-a-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,6 @@ Update the instructions to install the library:
./ci/test-readme/generate-install.sh >INSTALL.md
```


```bash
# Summarize the output of this into google/cloud/spanner/README.md
git log upstream/master
```

It is not recommended that you create the release branch before this PR is
ready, but in some circumstances it might be needed, for example, if a large
change that could destabilize the release is about to be merged, or if we want
Expand Down
92 changes: 0 additions & 92 deletions google/cloud/spanner/README.md

This file was deleted.

0 comments on commit 661640f

Please sign in to comment.