Skip to content

Commit 483d381

Browse files
Merge the updates from 0.7.0 release branch
2 parents d76c4fa + c802ffa commit 483d381

File tree

7 files changed

+42
-10
lines changed

7 files changed

+42
-10
lines changed

ROADMAP.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ Below are the features we intend to work on:
66
* More example projects to hack with.
77
* Full support of Exonum proofs, including block proofs
88
for [blockchain clients](https://exonum.com/doc/version/latest/architecture/clients/).
9-
* Easier testing with JUnit 5 extension for automatic life cycle management,
10-
dependency injection and Exonum test kit [functionality](https://exonum.com/doc/version/latest/advanced/service-testing/).
119

1210
Feedback on this roadmap, the features you’d like to see is welcome 
1311
[open](https://github.com/exonum/exonum-java-binding/issues/new)

exonum-java-binding/CHANGELOG.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
1515

1616
## [Unreleased]
1717

18+
## [0.7.0] - 2019-07-17
19+
20+
### Overview
21+
22+
This release brings support of Exonum TestKit, massive performance improvements,
23+
and various other fixes and improvements. It is based on Exonum 0.11.
24+
25+
*If you are upgrading an existing Java service, consult
26+
the [migration guide](https://github.com/exonum/exonum-java-binding/blob/ejb/v0.7.0/exonum-java-binding/doc/Migration_guide_0.7.md).*
27+
1828
### Added
1929
- A new `exonum-testkit` module that allows to emulate blockchain network and test transaction
2030
execution in the synchronous environment (that is, without consensus algorithm and network
@@ -33,6 +43,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
3343
[testkit-documentation]: https://exonum.com/doc/version/0.11/get-started/java-binding/#testing
3444

3545
### Changed
46+
- Improved the throughput of transaction processing twofold. Java services on Exonum Java 0.7.0
47+
handle transactions about 15–20% slower than equivalent Rust ones, according to our system
48+
benchmarks. (#917, #996)
3649
- `BinaryTransactionMessage#toString` to include some fields in human-readable
3750
format instead of the whole message in binary form.
3851
- `Node#submitTransaction` to throw _unchecked_ `TransactionSubmissionException` instead
@@ -57,7 +70,7 @@ by default, but can be overridden with 'package' property.
5770
- Application packaging issue that might have resulted in several versions of Java artifacts
5871
on the application classpath. (#968)
5972

60-
[tx-info-07]: https://exonum.com/doc/api/java-binding-core/0.7.0/com/exonum/binding/core/transaction/Transaction.html#info()
73+
[tx-info-07]: https://exonum.com/doc/api/java-binding/0.7.0/com/exonum/binding/core/transaction/Transaction.html#info()
6174

6275
## [0.6.0] - 2019-05-08
6376

@@ -260,7 +273,8 @@ Parent module and BOM module were released as they are required dependencies to
260273

261274
The first release of Exonum Java Binding.
262275

263-
[Unreleased]: https://github.com/exonum/exonum-java-binding/compare/ejb/v0.6.0...HEAD
276+
[Unreleased]: https://github.com/exonum/exonum-java-binding/compare/ejb/v0.7.0...HEAD
277+
[0.7.0]: https://github.com/exonum/exonum-java-binding/compare/ejb/v0.6.0...ejb/v0.7.0
264278
[0.6.0]: https://github.com/exonum/exonum-java-binding/compare/ejb/v0.5.0...ejb/v0.6.0
265279
[0.5.0]: https://github.com/exonum/exonum-java-binding/compare/v0.4...ejb/v0.5.0
266280
[0.4]: https://github.com/exonum/exonum-java-binding/compare/v0.3...v0.4

exonum-java-binding/core/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<packaging.native>${rust.build.directory}/${build.mode}/lib/native</packaging.native>
3737
<auto-value.version>1.6.5</auto-value.version>
3838
<!-- Skip building Rust library for tests -->
39-
<doNotBuildRustLib>false</doNotBuildRustLib>
39+
<skipRustLibBuild>false</skipRustLibBuild>
4040
<!-- This flag is empty for debug builds and equals to `release` otherwise -->
4141
<build.cargoFlag></build.cargoFlag>
4242
</properties>
@@ -221,7 +221,7 @@
221221
<argument>--color</argument>
222222
<argument>always</argument>
223223
</arguments>
224-
<skip>${doNotBuildRustLib}</skip>
224+
<skip>${skipRustLibBuild}</skip>
225225
</configuration>
226226
<goals>
227227
<goal>exec</goal>

exonum-java-binding/doc/Migration_guide_0.7.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@ Find: (com.exonum.binding)(.)(annotations|blockchain|proxy|runtime|service|stora
1313
Replace: $1$2core$2$3
1414
```
1515

16-
<!-- TODO: ## Explore the New Features -->
16+
## Explore the New Features
17+
18+
0.7.0 brings Exonum Testkit, which allows to test service operations in an emulated blockchain
19+
network. See the [documentation][testkit-documentation] for more information and examples.
20+
21+
## See Also
22+
23+
The 0.7.0 [release page][release-page] for the changelog and pre-built binaries.
1724

1825
[release-page]: https://github.com/exonum/exonum-java-binding/releases/tag/ejb/v0.7.0
26+
[testkit-documentation]: https://exonum.com/doc/version/0.11/get-started/java-binding/#testing

exonum-java-binding/generate-javadocs.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,12 @@
55
# Fail immediately in case of errors and/or unset variables
66
set -eu -o pipefail
77

8-
# Build the Javadocs
9-
mvn clean javadoc:aggregate -Dmaven.javadoc.skip=false \
8+
# Clean the project and install the artifacts in the local repository,
9+
# so that Javadocs can be generated for a subset of the modules — the published ones
10+
mvn clean install -DskipTests -DskipRustLibBuild
11+
12+
# Generate the aggregated Javadocs for the published modules
13+
mvn javadoc:aggregate -Dmaven.javadoc.skip=false \
1014
`# Include only the published artifacts. As package filtering wildcards are rather limited,\
1115
it is more convenient to specify the list of projects:` \
1216
--projects com.exonum.binding:exonum-java-binding-parent,common,core,testkit,time-oracle

exonum-java-binding/integration-tests/pom.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,14 @@
106106
<skip>true</skip>
107107
</configuration>
108108
</plugin>
109+
<!-- Skip the signing as there is no artifact -->
110+
<plugin>
111+
<groupId>org.apache.maven.plugins</groupId>
112+
<artifactId>maven-gpg-plugin</artifactId>
113+
<configuration>
114+
<skip>true</skip>
115+
</configuration>
116+
</plugin>
109117
</plugins>
110118
</build>
111119
</project>

exonum-java-binding/package_app.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ function build-exonum-java() {
2222
-DskipTests \
2323
-Dbuild.mode=${BUILD_MODE} \
2424
-Dbuild.cargoFlag=${BUILD_CARGO_FLAG} \
25-
-DdoNotBuildRustLib \
25+
-DskipRustLibBuild \
2626
-Drust.libraryPath="${RUST_LIBRARY_PATH}"
2727
}
2828

0 commit comments

Comments
 (0)