You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by na...@apache.org on 2019/12/05 15:47:11 UTC

[plc4x] 02/02: Merge remote-tracking branch 'origin/develop' into develop

This is an automated email from the ASF dual-hosted git repository.

nalim2 pushed a commit to branch PLC4X-157OPC-UADisablediscovery
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 7c276221446e04f89691b3dc8ac1c73572a0f23e
Merge: ef3c530 deb7aa6
Author: Matthias Strljic <ma...@isw.uni-stuttgart.de>
AuthorDate: Thu Dec 5 11:33:13 2019 +0100

    Merge remote-tracking branch 'origin/develop' into develop

 Dockerfile                                         |  11 +-
 Jenkinsfile                                        |  16 +-
 LICENSE                                            |  11 +-
 README.md                                          | 122 ++++++-------
 RELEASE_NOTES                                      |   4 +-
 build-reproducible.sh                              |  68 ++++++++
 .../language/mspec/expression/Expression.g4        |  36 +++-
 .../src/remote-resources/LICENSE                   |   4 +-
 .../env/development => compare-reproducible.sh     |  27 ++-
 licenses/UNLICENSE                                 |  24 +++
 .../org/apache/plc4x/java/abeth/AbEthDriver.java   |   8 +-
 .../java/abeth/connection/AbEthPlcConnection.java  |  40 ++++-
 .../apache/plc4x/java/abeth/model/AbEthField.java  |   7 +-
 .../plc4x/java/abeth/protocol/AbEthProtocol.java   |   5 +
 .../java/abeth/protocol/Plc4xAbEthProtocol.java    |  12 +-
 plc4j/examples/hello-cloud-azure/pom.xml           |   2 +-
 plc4j/examples/hello-cloud-google/pom.xml          |   2 +-
 .../pom.xml                                        |  43 +++--
 .../examples/integration/iotdb/CliOptions.java     | 188 +++++++++++++++++++++
 .../java/examples/integration/iotdb/PlcLogger.java | 139 +++++++++++++++
 .../src/main/resources/logback.xml                 |  36 ++++
 plc4j/examples/hello-world-plc4x/pom.xml           |   7 +
 plc4j/examples/pom.xml                             |   1 +
 plc4j/integrations/apache-kafka/README.md          |   2 +-
 .../apache-kafka/config/plc4x-source.properties    |  48 +++---
 plc4j/integrations/logstash-plugin/README.md       |   4 +-
 .../src/gem/lib/logstash-input-plc4x_jars.rb       |   2 +-
 .../java/org/apache/plc4x/karaf/FeatureIT.java     |   2 +-
 .../karaf-features/s7/src/main/feature/feature.xml |   2 +-
 plc4j/pom.xml                                      |   1 +
 .../java/isoontcp/protocol/IsoOnTcpProtocol.java   |  10 ++
 plc4j/utils/interop/pom.xml                        |   2 +-
 pom.xml                                            | 136 ++++++++-------
 {plc4cpp => sandbox/plc4cpp}/CMakeLists.txt        |   0
 {plc4cpp => sandbox/plc4cpp}/README.md             |   0
 {plc4cpp => sandbox/plc4cpp}/api/CMakeLists.txt    |   0
 .../cpp/org/apache/plc4x/cpp/PlcConnection.cpp     |   0
 .../main/cpp/org/apache/plc4x/cpp/PlcConnection.h  |   0
 .../cpp/org/apache/plc4x/cpp/PlcDriverManager.cpp  |   0
 .../cpp/org/apache/plc4x/cpp/PlcDriverManager.h    |   0
 .../cpp/org/apache/plc4x/cpp/api/PlcConnection.cpp |   0
 .../cpp/org/apache/plc4x/cpp/api/PlcConnection.h   |   0
 .../cpp/api/authentication/PlcAuthentication.cpp   |   0
 .../cpp/api/authentication/PlcAuthentication.h     |   0
 .../PlcUsernamePasswordAuthentication.cpp          |   0
 .../PlcUsernamePasswordAuthentication.h            |   0
 .../cpp/api/exceptions/PlcConnectionException.cpp  |   0
 .../cpp/api/exceptions/PlcConnectionException.h    |   0
 .../plc4x/cpp/api/exceptions/PlcException.cpp      |   0
 .../apache/plc4x/cpp/api/exceptions/PlcException.h |   0
 .../cpp/api/exceptions/PlcFieldRangeException.cpp  |   0
 .../cpp/api/exceptions/PlcFieldRangeException.h    |   0
 .../PlcIncompatibleDatatypeException.cpp           |   0
 .../exceptions/PlcIncompatibleDatatypeException.h  |   0
 .../api/exceptions/PlcInvalidFieldException.cpp    |   0
 .../cpp/api/exceptions/PlcInvalidFieldException.h  |   0
 .../plc4x/cpp/api/exceptions/PlcIoException.cpp    |   0
 .../plc4x/cpp/api/exceptions/PlcIoException.h      |   0
 .../api/exceptions/PlcNotImplementedException.cpp  |   0
 .../api/exceptions/PlcNotImplementedException.h    |   0
 .../cpp/api/exceptions/PlcProtocolException.cpp    |   0
 .../cpp/api/exceptions/PlcProtocolException.h      |   0
 .../PlcProtocolPayloadTooBigException.cpp          |   0
 .../exceptions/PlcProtocolPayloadTooBigException.h |   0
 .../cpp/api/exceptions/PlcRuntimeException.cpp     |   0
 .../plc4x/cpp/api/exceptions/PlcRuntimeException.h |   0
 .../cpp/api/exceptions/PlcTimeoutException.cpp     |   0
 .../plc4x/cpp/api/exceptions/PlcTimeoutException.h |   0
 .../exceptions/PlcUnsupportedDataTypeException.cpp |   0
 .../exceptions/PlcUnsupportedDataTypeException.h   |   0
 .../PlcUnsupportedOperationException.cpp           |   0
 .../exceptions/PlcUnsupportedOperationException.h  |   0
 .../plc4x/cpp/api/messages/PlcFieldRequest.cpp     |   0
 .../plc4x/cpp/api/messages/PlcFieldRequest.h       |   0
 .../plc4x/cpp/api/messages/PlcFieldResponse.cpp    |   0
 .../plc4x/cpp/api/messages/PlcFieldResponse.h      |   0
 .../apache/plc4x/cpp/api/messages/PlcMessage.cpp   |   0
 .../org/apache/plc4x/cpp/api/messages/PlcMessage.h |   0
 .../plc4x/cpp/api/messages/PlcReadRequest.cpp      |   0
 .../apache/plc4x/cpp/api/messages/PlcReadRequest.h |   0
 .../cpp/api/messages/PlcReadRequestBuilder.cpp     |   0
 .../plc4x/cpp/api/messages/PlcReadRequestBuilder.h |   0
 .../plc4x/cpp/api/messages/PlcReadResponse.cpp     |   0
 .../plc4x/cpp/api/messages/PlcReadResponse.h       |   0
 .../apache/plc4x/cpp/api/messages/PlcRequest.cpp   |   0
 .../org/apache/plc4x/cpp/api/messages/PlcRequest.h |   0
 .../plc4x/cpp/api/messages/PlcRequestBuilder.cpp   |   0
 .../plc4x/cpp/api/messages/PlcRequestBuilder.h     |   0
 .../apache/plc4x/cpp/api/messages/PlcResponse.cpp  |   0
 .../apache/plc4x/cpp/api/messages/PlcResponse.h    |   0
 .../cpp/api/messages/PlcSubscriptionEvent.cpp      |   0
 .../plc4x/cpp/api/messages/PlcSubscriptionEvent.h  |   0
 .../cpp/api/messages/PlcSubscriptionRequest.cpp    |   0
 .../cpp/api/messages/PlcSubscriptionRequest.h      |   0
 .../cpp/api/messages/PlcSubscriptionResponse.cpp   |   0
 .../cpp/api/messages/PlcSubscriptionResponse.h     |   0
 .../cpp/api/messages/PlcUnsubscriptionRequest.cpp  |   0
 .../cpp/api/messages/PlcUnsubscriptionRequest.h    |   0
 .../cpp/api/messages/PlcUnsubscriptionResponse.cpp |   0
 .../cpp/api/messages/PlcUnsubscriptionResponse.h   |   0
 .../plc4x/cpp/api/messages/PlcWriteRequest.cpp     |   0
 .../plc4x/cpp/api/messages/PlcWriteRequest.h       |   0
 .../plc4x/cpp/api/messages/PlcWriteResponse.cpp    |   0
 .../plc4x/cpp/api/messages/PlcWriteResponse.h      |   0
 .../org/apache/plc4x/cpp/api/messages/REQUEST.cpp  |   0
 .../org/apache/plc4x/cpp/api/messages/REQUEST.h    |   0
 .../org/apache/plc4x/cpp/api/messages/RESPONSE.cpp |   0
 .../org/apache/plc4x/cpp/api/messages/RESPONSE.h   |   0
 .../plc4x/cpp/api/messages/RequestTemplate.cpp     |   0
 .../plc4x/cpp/api/messages/RequestTemplate.h       |   0
 .../plc4x/cpp/api/messages/ResponseTemplate.cpp    |   0
 .../plc4x/cpp/api/messages/ResponseTemplate.h      |   0
 .../cpp/api/metadata/PlcConnectionMetadata.cpp     |   0
 .../plc4x/cpp/api/metadata/PlcConnectionMetadata.h |   0
 .../org/apache/plc4x/cpp/api/model/Consumer.cpp    |   0
 .../cpp/org/apache/plc4x/cpp/api/model/Consumer.h  |   0
 .../cpp/api/model/PlcConsumerRegistration.cpp      |   0
 .../plc4x/cpp/api/model/PlcConsumerRegistration.h  |   0
 .../org/apache/plc4x/cpp/api/model/PlcField.cpp    |   0
 .../cpp/org/apache/plc4x/cpp/api/model/PlcField.h  |   0
 .../plc4x/cpp/api/model/PlcSubscriptionHandle.cpp  |   0
 .../plc4x/cpp/api/model/PlcSubscriptionHandle.h    |   0
 .../plc4x/cpp/api/types/PlcClientDataType.cpp      |   0
 .../apache/plc4x/cpp/api/types/PlcClientDataType.h |   0
 .../apache/plc4x/cpp/api/types/PlcResponseCode.cpp |   0
 .../apache/plc4x/cpp/api/types/PlcResponseCode.h   |   0
 .../plc4x/cpp/api/types/PlcSubscriptionType.cpp    |   0
 .../plc4x/cpp/api/types/PlcSubscriptionType.h      |   0
 .../apache/plc4x/cpp/api/types/ValueTypeObject.cpp |   0
 .../apache/plc4x/cpp/api/types/ValueTypeObject.h   |   0
 .../cpp/org/apache/plc4x/cpp/spi/PlcDriver.cpp     |   0
 .../main/cpp/org/apache/plc4x/cpp/spi/PlcDriver.h  |   0
 .../plc4cpp}/drivers/CMakeLists.txt                |   0
 .../plc4cpp}/drivers/proxy/CMakeLists.txt          |   0
 .../cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.cpp |   0
 .../cpp/org/apache/plc4x/cpp/proxy/ProxyDriver.h   |   0
 .../plc4x/cpp/proxy/connection/ProxyConnection.cpp |   0
 .../plc4x/cpp/proxy/connection/ProxyConnection.h   |   0
 .../cpp/org/apache/plc4x/cpp/proxy/dllexports.cpp  |   0
 .../cpp/org/apache/plc4x/cpp/proxy}/dllexports.h   |   0
 .../plc4cpp}/drivers/s7/CMakeLists.txt             |   0
 .../cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.cpp    |   0
 .../main/cpp/org/apache/plc4x/cpp/s7/S7PlcDriver.h |   0
 .../plc4x/cpp/s7/connection/S7PlcConnection.cpp    |   0
 .../plc4x/cpp/s7/connection/S7PlcConnection.h      |   0
 .../cpp/org/apache/plc4x/cpp/s7/dllexports.cpp     |   0
 .../main/cpp/org/apache/plc4x/cpp/s7}/dllexports.h |   0
 .../plc4cpp}/examples/CMakeLists.txt               |   0
 .../examples/hello-world-plc4x/CMakeLists.txt      |   0
 .../plc4x/cpp/examples/helloplc4x/helloplc4x.cpp   |   0
 .../plc4cpp}/integrations/CMakeLists.txt           |   0
 .../integrations/apache-mynewt}/CMakeLists.txt     |   0
 .../integrations/edgex-foundry}/CMakeLists.txt     |   0
 {plc4cpp => sandbox/plc4cpp}/pom.xml               |   6 +-
 .../plc4cpp}/protocols/CMakeLists.txt              |   0
 .../plc4cpp}/protocols/driver-bases/CMakeLists.txt |   0
 .../protocols/driver-bases/base/CMakeLists.txt     |   0
 .../cpp/base/connection/AbstractPlcConnection.cpp  |   0
 .../cpp/base/connection/AbstractPlcConnection.h    |   0
 .../plc4x/cpp/base/connection/BoostConnection.cpp  |   0
 .../plc4x/cpp/base/connection/BoostConnection.h    |   0
 .../plc4x/cpp/base/connection/ChannelFactory.cpp   |   0
 .../plc4x/cpp/base/connection/ChannelFactory.h     |   0
 .../cpp/base/connection/DefaultPlcFieldHandler.cpp |   0
 .../cpp/base/connection/DefaultPlcFieldHandler.h   |   0
 .../plc4x/cpp/base/connection/PlcFieldHandler.cpp  |   0
 .../plc4x/cpp/base/connection/PlcFieldHandler.h    |   0
 .../apache/plc4x/cpp/base/events/ConnectEvent.cpp  |   0
 .../apache/plc4x/cpp/base/events/ConnectEvent.h    |   0
 .../plc4x/cpp/base/events/ConnectedEvent.cpp       |   0
 .../apache/plc4x/cpp/base/events/ConnectedEvent.h  |   0
 .../cpp/base/messages/DefaultPlcReadRequest.cpp    |   0
 .../cpp/base/messages/DefaultPlcReadRequest.h      |   0
 .../cpp/base/messages/DefaultPlcWriteRequest.cpp   |   0
 .../cpp/base/messages/DefaultPlcWriteRequest.h     |   0
 .../cpp/base/messages/InternalPlcFieldRequest.cpp  |   0
 .../cpp/base/messages/InternalPlcFieldRequest.h    |   0
 .../cpp/base/messages/InternalPlcFieldResponse.cpp |   0
 .../cpp/base/messages/InternalPlcFieldResponse.h   |   0
 .../messages/InternalPlcProprietaryRequest.cpp     |   0
 .../base/messages/InternalPlcProprietaryRequest.h  |   0
 .../messages/InternalPlcProprietaryResponse.cpp    |   0
 .../base/messages/InternalPlcProprietaryResponse.h |   0
 .../cpp/base/messages/InternalPlcReadRequest.cpp   |   0
 .../cpp/base/messages/InternalPlcReadRequest.h     |   0
 .../plc4x/cpp/base/messages/InternalPlcRequest.cpp |   0
 .../plc4x/cpp/base/messages/InternalPlcRequest.h   |   0
 .../cpp/base/messages/InternalPlcResponse.cpp      |   0
 .../plc4x/cpp/base/messages/InternalPlcResponse.h  |   0
 .../cpp/base/messages/InternalPlcWriteRequest.cpp  |   0
 .../cpp/base/messages/InternalPlcWriteRequest.h    |   0
 .../cpp/base/messages/PlcProprietaryRequest.cpp    |   0
 .../cpp/base/messages/PlcProprietaryRequest.h      |   0
 .../cpp/base/messages/PlcProprietaryResponse.cpp   |   0
 .../cpp/base/messages/PlcProprietaryResponse.h     |   0
 .../apache/plc4x/cpp/base/messages/PlcReader.cpp   |   0
 .../org/apache/plc4x/cpp/base/messages/PlcReader.h |   0
 .../apache/plc4x/cpp/base/messages/PlcWriter.cpp   |   0
 .../org/apache/plc4x/cpp/base/messages/PlcWriter.h |   0
 .../base/messages/items/BaseDefaultFieldItem.cpp   |   0
 .../cpp/base/messages/items/BaseDefaultFieldItem.h |   0
 .../messages/items/DefaultBigDecimalFieldItem.cpp  |   0
 .../messages/items/DefaultBigDecimalFieldItem.h    |   0
 .../messages/items/DefaultBigIntegerFieldItem.cpp  |   0
 .../messages/items/DefaultBigIntegerFieldItem.h    |   0
 .../messages/items/DefaultBooleanFieldItem.cpp     |   0
 .../base/messages/items/DefaultBooleanFieldItem.h  |   0
 .../messages/items/DefaultByteArrayFieldItem.cpp   |   0
 .../messages/items/DefaultByteArrayFieldItem.h     |   0
 .../base/messages/items/DefaultByteFieldItem.cpp   |   0
 .../cpp/base/messages/items/DefaultByteFieldItem.h |   0
 .../base/messages/items/DefaultDoubleFieldItem.cpp |   0
 .../base/messages/items/DefaultDoubleFieldItem.h   |   0
 .../base/messages/items/DefaultFloatFieldItem.cpp  |   0
 .../base/messages/items/DefaultFloatFieldItem.h    |   0
 .../messages/items/DefaultIntegerFieldItem.cpp     |   0
 .../base/messages/items/DefaultIntegerFieldItem.h  |   0
 .../messages/items/DefaultLocalDateFieldItem.cpp   |   0
 .../messages/items/DefaultLocalDateFieldItem.h     |   0
 .../items/DefaultLocalDateTimeFieldItem.cpp        |   0
 .../messages/items/DefaultLocalDateTimeFieldItem.h |   0
 .../messages/items/DefaultLocalTimeFieldItem.cpp   |   0
 .../messages/items/DefaultLocalTimeFieldItem.h     |   0
 .../base/messages/items/DefaultLongFieldItem.cpp   |   0
 .../cpp/base/messages/items/DefaultLongFieldItem.h |   0
 .../base/messages/items/DefaultShortFieldItem.cpp  |   0
 .../base/messages/items/DefaultShortFieldItem.h    |   0
 .../base/messages/items/DefaultStringFieldItem.cpp |   0
 .../base/messages/items/DefaultStringFieldItem.h   |   0
 .../apache/plc4x/cpp/s7/types/S7ControllerType.h   |   0
 {plc4cpp => sandbox/plc4cpp}/utils/CMakeLists.txt  |   0
 .../plc4cpp}/utils/logger/CMakeLists.txt           |   0
 .../org/apache/plc4x/cpp/utils/logger/BLogger.cpp  |   0
 .../org/apache/plc4x/cpp/utils/logger/BLogger.h    |   0
 .../org/apache/plc4x/cpp/utils/logger/DatDmp.cpp   |   0
 .../cpp/org/apache/plc4x/cpp/utils/logger/DatDmp.h |   0
 .../org/apache/plc4x/cpp/utils/logger/DbgTrace.cpp |   0
 .../org/apache/plc4x/cpp/utils/logger/DbgTrace.h   |   0
 .../plc4x/cpp/utils/logger/ErrorCategory.cpp       |   0
 .../apache/plc4x/cpp/utils/logger/ErrorCategory.h  |   0
 .../plc4x/cpp/utils/logger/ErrorInfoException.cpp  |   0
 .../plc4x/cpp/utils/logger/ErrorInfoException.h    |   0
 .../org/apache/plc4x/cpp/utils/logger/ExLog.cpp    |   0
 .../cpp/org/apache/plc4x/cpp/utils/logger/ExLog.h  |   0
 .../plc4cpp}/utils/systemconfig/CMakeLists.txt     |   0
 .../cpp/utils/systemconfig/SystemConfiguration.cpp |   0
 .../cpp/utils/systemconfig/SystemConfiguration.h   |   0
 {plc4net => sandbox/plc4net}/.gitignore            |   0
 .../plc4net}/api/PlcDriverManager.cs               |   0
 {plc4net => sandbox/plc4net}/api/api.csproj        |   0
 .../plc4net}/api/api/IPlcConnection.cs             |   0
 {plc4net => sandbox/plc4net}/api/api/IPlcDriver.cs |   0
 .../api/api/authentication/IPlcAuthentication.cs   |   0
 .../PlcUsernamePasswordAuthentication.cs           |   0
 .../api/api/metadata/IPlcConnectionMetadata.cs     |   0
 .../api/exceptions/PlcConnectionException.cs       |   0
 .../plc4net}/api/exceptions/PlcException.cs        |   0
 .../api/exceptions/PlcInvalidFieldException.cs     |   0
 .../plc4net}/api/messages/IPlcFieldRequest.cs      |   0
 .../plc4net}/api/messages/IPlcFieldResponse.cs     |   0
 .../plc4net}/api/messages/IPlcMessage.cs           |   0
 .../plc4net}/api/messages/IPlcReadRequest.cs       |   0
 .../api/messages/IPlcReadRequestBuilder.cs         |   0
 .../plc4net}/api/messages/IPlcReadResponse.cs      |   0
 .../plc4net}/api/messages/IPlcRequest.cs           |   0
 .../plc4net}/api/messages/IPlcRequestBuilder.cs    |   0
 .../plc4net}/api/messages/IPlcResponse.cs          |   0
 .../api/messages/IPlcSubscriptionEventArgs.cs      |   0
 .../api/messages/IPlcSubscriptionRequest.cs        |   0
 .../api/messages/IPlcSubscriptionRequestBuilder.cs |   0
 .../api/messages/IPlcSubscriptionResponse.cs       |   0
 .../api/messages/IPlcUnsubscriptionRequest.cs      |   0
 .../messages/IPlcUnsubscriptionRequestBuilder.cs   |   0
 .../api/messages/IPlcUnsubscriptionResponse.cs     |   0
 .../plc4net}/api/messages/IPlcWriteRequest.cs      |   0
 .../api/messages/IPlcWriteRequestBuilder.cs        |   0
 .../plc4net}/api/model/IPlcField.cs                |   0
 .../plc4net}/api/model/IPlcSubscriptionHandle.cs   |   0
 {plc4net => sandbox/plc4net}/api/pom.xml           |   0
 .../plc4net}/api/types/PlcResponseCode.cs          |   0
 .../plc4net}/plc4net.driver/plc4net.driver.csproj  |   0
 .../plc4net}/plc4net.driver/pom.xml                |   0
 {plc4net => sandbox/plc4net}/plc4net.sln           |   0
 {plc4net => sandbox/plc4net}/pom.xml               |   6 +-
 {plc4py => sandbox/plc4py}/README.md               |   0
 {plc4py => sandbox/plc4py}/pom.xml                 |   6 +-
 {plc4py => sandbox/plc4py}/setup.py                |   0
 {plc4py => sandbox/plc4py}/src/assembly/python.xml |   0
 .../plc4py/src/main/python}/__init__.py            |   0
 .../plc4py/src/main/python/org}/__init__.py        |   0
 .../plc4py}/src/main/python/org/apache/__init__.py |   0
 .../main/python/org/apache/plc4x/InteropClient.py  |   0
 .../main/python/org/apache/plc4x/PlcConnection.py  |   0
 .../python/org/apache/plc4x/PlcDriverManager.py    |   0
 .../src/main/python/org/apache/plc4x}/__init__.py  |   0
 .../plc4py}/src/main/resources/lib/log4j2.xml      |   0
 .../plc4py/src/test/python}/__init__.py            |   0
 .../plc4py}/src/test/python/org/__init__.py        |   0
 .../plc4py/src/test/python/org/apache}/__init__.py |   0
 .../src/test/python/org/apache/plc4x}/__init__.py  |   0
 .../org/apache/plc4x/test_PlcDriverManager.py      |   0
 sandbox/pom.xml                                    |  27 +++
 sandbox/streampipes-connectors/READMME.adoc        |  15 +-
 sandbox/streampipes-connectors/env/development     |   5 +-
 .../java/streampipes/bacnetip/BacNetIpAdapter.java |  37 +++-
 .../streampipes/bacnetip/config/ConfigKeys.java    |   1 +
 .../bacnetip/config/ConnectWorkerConfig.java       |   1 -
 sandbox/test-java-df1-driver/README.adoc           |   2 +-
 src/main/script/prerequisiteCheck.groovy           |  38 +++--
 src/site/asciidoc/developers/building.adoc         |  18 +-
 src/site/asciidoc/developers/ci.adoc               |  32 ++--
 src/site/asciidoc/developers/code-gen/index.adoc   |  14 +-
 .../developers/code-gen/protocol/mspec.adoc        | 157 ++++++++++++++---
 src/site/asciidoc/developers/contributing.adoc     |  12 +-
 src/site/asciidoc/developers/preparing.adoc        |  13 +-
 src/site/asciidoc/developers/release.adoc          |  14 +-
 src/site/asciidoc/protocols/ab-eth/index.adoc      |   2 +-
 src/site/asciidoc/protocols/features.adoc          |   8 +
 src/site/asciidoc/users/download.adoc              |  40 ++++-
 src/site/site.xml                                  |   1 +
 tools/thrift/pom.xml                               |   2 +
 321 files changed, 1162 insertions(+), 317 deletions(-)