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

Commit 661640f

Browse files
authored
doc: consolidate and update README.md, INSTALL.md (#1026)
* chore: remove subdir README.md * doc: remove broken install links for this release
1 parent 99bf734 commit 661640f

File tree

6 files changed

+211
-100
lines changed

6 files changed

+211
-100
lines changed

INSTALL.md

+84
Original file line numberDiff line numberDiff line change
@@ -143,3 +143,87 @@ these dependencies.
143143
- [Fedora 30](#fedora-30)
144144

145145
### Fedora (30)
146+
147+
Install the minimal development tools:
148+
149+
```bash
150+
sudo dnf makecache && \
151+
sudo dnf install -y cmake gcc-c++ git make openssl-devel pkgconfig \
152+
zlib-devel
153+
```
154+
155+
Fedora 30 includes packages for gRPC, libcurl, and OpenSSL that are recent
156+
enough for the project. Install these packages and additional development
157+
tools to compile the dependencies:
158+
159+
```bash
160+
sudo dnf makecache && \
161+
sudo dnf install -y grpc-devel grpc-plugins \
162+
libcurl-devel protobuf-compiler tar wget zlib-devel
163+
```
164+
165+
#### googleapis
166+
167+
We need a recent version of the Google Cloud Platform proto C++ libraries:
168+
169+
```bash
170+
cd $HOME/Downloads
171+
wget -q https://github.com/googleapis/cpp-cmakefiles/archive/v0.1.5.tar.gz
172+
tar -xf v0.1.5.tar.gz
173+
cd $HOME/Downloads/cpp-cmakefiles-0.1.5
174+
cmake \
175+
-DBUILD_SHARED_LIBS=YES \
176+
-H. -Bcmake-out
177+
sudo cmake --build cmake-out --target install -- -j ${NCPU:-4}
178+
sudo ldconfig
179+
```
180+
181+
#### googletest
182+
183+
We need a recent version of GoogleTest to compile the unit and integration
184+
tests.
185+
186+
```bash
187+
cd $HOME/Downloads
188+
wget -q https://github.com/google/googletest/archive/release-1.10.0.tar.gz
189+
tar -xf release-1.10.0.tar.gz
190+
cd $HOME/Downloads/googletest-release-1.10.0
191+
cmake \
192+
-DCMAKE_BUILD_TYPE="Release" \
193+
-DBUILD_SHARED_LIBS=yes \
194+
-H. -Bcmake-out
195+
sudo cmake --build cmake-out --target install -- -j ${NCPU:-4}
196+
sudo ldconfig
197+
```
198+
199+
#### google-cloud-cpp-common
200+
201+
The project also depends on google-cloud-cpp-common, the libraries shared by
202+
all the Google Cloud C++ client libraries:
203+
204+
```bash
205+
cd $HOME/Downloads
206+
wget -q https://github.com/googleapis/google-cloud-cpp-common/archive/v0.13.0.tar.gz
207+
tar -xf v0.13.0.tar.gz
208+
cd $HOME/Downloads/google-cloud-cpp-common-0.13.0
209+
cmake -H. -Bcmake-out \
210+
-DBUILD_TESTING=OFF \
211+
-DGOOGLE_CLOUD_CPP_TESTING_UTIL_ENABLE_INSTALL=ON
212+
sudo cmake --build cmake-out --target install -- -j ${NCPU:-4}
213+
sudo ldconfig
214+
```
215+
216+
#### Compile and install the main project
217+
218+
We can now compile, test, and install `google-cloud-cpp-spanner`.
219+
220+
```bash
221+
cd $HOME/project
222+
cmake -H. -B/o
223+
cmake --build /o -- -j "${NCPU:-4}"
224+
cd /o
225+
ctest -LE integration-tests --output-on-failure
226+
cd $HOME/project
227+
sudo cmake --build /o --target install
228+
```
229+

README.md

+63-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,69 @@ Apache 2.0; see [`LICENSE`](LICENSE) for details.
123123

124124
## Release Notes
125125

126-
### v0.2.x - 2019-XX
126+
### v0.4.x - TBD
127+
128+
### v0.3.x - 2019-11
129+
130+
* **Breaking Changes**
131+
* feat!: class templates removed from keys.h (#936)
132+
* feat!: change result return types (#942)
133+
* refactor!: replaced Row<...> with std::tuple<...> (#967)
134+
* feat!: support for select-star queries (#976)
135+
* feat!: replace RunTransaction() with Client::Commit(functor) (#975)
136+
* chore!: renamed QueryResult to RowStream (#978)
137+
* chore!: renamed ExecuteSqlParams to SqlParams (#986)
138+
* cleanup: depend on google-cloud-cpp-common (#940)
139+
140+
* feat: configurable strategy for background threads (#955)
141+
* feat: add Profile and Analyze methods (#961)
142+
* feat: adds efficient move to support to Value:get<string>() (#980)
143+
* feat: add efficient move support to mutation builder temporaries (#989)
144+
* bug: only install the required headers (#993)
145+
* bug: install the headers for mocking (#997)
146+
147+
### v0.2.x - 2019-10
148+
* **Breaking Changes**
149+
* refactor `Read` to return `ReadResult`; remove `ResultSet` (#935)
150+
* removed `Row<>` from mutations API (#938). Removes the `AddRow(Row<Ts...>)`
151+
member function on the `WriteMutation` API. In place of this method there
152+
is now an `AddRow(std::vector<Value>)` method.
153+
* Change `Value::Bytes` to `google::cloud::spanner::Bytes` (#920)
154+
* implement `CreateInstanceRequestBuilder` (#933). Changed the function
155+
signature of `InstanceAdminClient::CreateInstance()`.
156+
* Replace `ExecuteSql` with `ExecuteQuery` and `ExecuteDml` (#927)
157+
* Changed `RowParser` to require a `Row<Ts...>` template param (#653).
158+
`ResultSet::Rows` used to be a variadic template that took the individual
159+
C++ types for each row. With this change that function is now a template
160+
with one parameter, which must be a `Row<...>` type.
161+
* Implements `Database` in terms of `Instance` (#652). This PR removes
162+
renames some accessors like `InstanceId` -> `instance_id` due to their
163+
trivial nature now (style guide). It also removes some methods like
164+
`Database::ParentName()`, which is now replaced by `Database::instance()`.
165+
* Fixes inconsistent naming of the Batch DML params struct. (#650). This
166+
struct has been renamed, so any code using this struct will need to be
167+
updated.
168+
169+
* **Feature changes**
170+
* implement `InstanceAdminClient` methods `CreateInstance`, `UpdateInstance`,
171+
`DeleteInstance`, `ListInstanceConfigs`, `GetInstanceConfig`,
172+
`SetIamPolicy`.
173+
* implement `DatabaseAdminClient` methods `TestIamPermissions`,
174+
`SetIamPolicy`, `GetIamPolicy`.
175+
* implement retries for `Commit()`, `PartitionRead`, `PartitionQuery`,
176+
`ExecuteBatchDml`, `CreateSession`, `Rollback`.
177+
* implement `PartialResultSetRead` with resumes (#693)
178+
* use separate policies for retry vs. rerun (#667)
179+
* implement `DatabaseAdminConnection` (#638)
180+
* implement overloads on `UpdateInstanceRequestBuilder` (#921)
181+
* implement metadata decorator for `InstanceAdminStub`. (#678)
182+
* implement logging wrapper for `InstanceAdminStub`. (#676)
183+
* support install components for the library (#659)
184+
185+
* **Bug fixes**
186+
* fix runtime install directory (#658)
187+
* give sample programs a long timeout time. (#622)
188+
* use RunTransaction for read write transaction sample (#654)
127189

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

ci/test-readme/README.md.in

+63-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,68 @@
11
## Release Notes
22

3-
### v0.2.x - 2019-XX
3+
### v0.4.x - TBD
4+
5+
### v0.3.x - 2019-11
6+
7+
* **Breaking Changes**
8+
* feat!: class templates removed from keys.h (#936)
9+
* feat!: change result return types (#942)
10+
* refactor!: replaced Row<...> with std::tuple<...> (#967)
11+
* feat!: support for select-star queries (#976)
12+
* feat!: replace RunTransaction() with Client::Commit(functor) (#975)
13+
* chore!: renamed QueryResult to RowStream (#978)
14+
* chore!: renamed ExecuteSqlParams to SqlParams (#986)
15+
* cleanup: depend on google-cloud-cpp-common (#940)
16+
17+
* feat: configurable strategy for background threads (#955)
18+
* feat: add Profile and Analyze methods (#961)
19+
* feat: adds efficient move to support to Value:get<string>() (#980)
20+
* feat: add efficient move support to mutation builder temporaries (#989)
21+
* bug: only install the required headers (#993)
22+
* bug: install the headers for mocking (#997)
23+
24+
### v0.2.x - 2019-10
25+
* **Breaking Changes**
26+
* refactor `Read` to return `ReadResult`; remove `ResultSet` (#935)
27+
* removed `Row<>` from mutations API (#938). Removes the `AddRow(Row<Ts...>)`
28+
member function on the `WriteMutation` API. In place of this method there
29+
is now an `AddRow(std::vector<Value>)` method.
30+
* Change `Value::Bytes` to `google::cloud::spanner::Bytes` (#920)
31+
* implement `CreateInstanceRequestBuilder` (#933). Changed the function
32+
signature of `InstanceAdminClient::CreateInstance()`.
33+
* Replace `ExecuteSql` with `ExecuteQuery` and `ExecuteDml` (#927)
34+
* Changed `RowParser` to require a `Row<Ts...>` template param (#653).
35+
`ResultSet::Rows` used to be a variadic template that took the individual
36+
C++ types for each row. With this change that function is now a template
37+
with one parameter, which must be a `Row<...>` type.
38+
* Implements `Database` in terms of `Instance` (#652). This PR removes
39+
renames some accessors like `InstanceId` -> `instance_id` due to their
40+
trivial nature now (style guide). It also removes some methods like
41+
`Database::ParentName()`, which is now replaced by `Database::instance()`.
42+
* Fixes inconsistent naming of the Batch DML params struct. (#650). This
43+
struct has been renamed, so any code using this struct will need to be
44+
updated.
45+
46+
* **Feature changes**
47+
* implement `InstanceAdminClient` methods `CreateInstance`, `UpdateInstance`,
48+
`DeleteInstance`, `ListInstanceConfigs`, `GetInstanceConfig`,
49+
`SetIamPolicy`.
50+
* implement `DatabaseAdminClient` methods `TestIamPermissions`,
51+
`SetIamPolicy`, `GetIamPolicy`.
52+
* implement retries for `Commit()`, `PartitionRead`, `PartitionQuery`,
53+
`ExecuteBatchDml`, `CreateSession`, `Rollback`.
54+
* implement `PartialResultSetRead` with resumes (#693)
55+
* use separate policies for retry vs. rerun (#667)
56+
* implement `DatabaseAdminConnection` (#638)
57+
* implement overloads on `UpdateInstanceRequestBuilder` (#921)
58+
* implement metadata decorator for `InstanceAdminStub`. (#678)
59+
* implement logging wrapper for `InstanceAdminStub`. (#676)
60+
* support install components for the library (#659)
61+
62+
* **Bug fixes**
63+
* fix runtime install directory (#658)
64+
* give sample programs a long timeout time. (#622)
65+
* use RunTransaction for read write transaction sample (#654)
466

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

ci/test-readme/generate-readme.sh

+1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ properly format your code.
9191
## Licensing
9292
9393
Apache 2.0; see [`LICENSE`](LICENSE) for details.
94+
9495
_EOF_
9596

9697
cat "${BINDIR}"/README.md.in

doc/cutting-a-release.md

-6
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,6 @@ Update the instructions to install the library:
4545
./ci/test-readme/generate-install.sh >INSTALL.md
4646
```
4747

48-
49-
```bash
50-
# Summarize the output of this into google/cloud/spanner/README.md
51-
git log upstream/master
52-
```
53-
5448
It is not recommended that you create the release branch before this PR is
5549
ready, but in some circumstances it might be needed, for example, if a large
5650
change that could destabilize the release is about to be merged, or if we want

google/cloud/spanner/README.md

-92
This file was deleted.

0 commit comments

Comments
 (0)