Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.8.0 [5287] #518

Merged
merged 48 commits into from
May 14, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
eef9983
Feature/tcp secure [4658] (#410)
LuisGP Mar 5, 2019
622ff1a
Refs #4500. Fixed regression after TLS.
richiware Mar 5, 2019
9cc646a
Merge remote-tracking branch 'origin/master' into develop
richiware Mar 14, 2019
32ec755
Merge remote-tracking branch 'origin/master' into develop
richiware Mar 27, 2019
b3fbb55
Refs #4968 Removed "error:" string from log message. (#466)
LuisGP Mar 28, 2019
30021b7
Make mutationTries configurable (#467)
LuisGP Mar 29, 2019
a5c29d7
Refs #5056. Fixing dependencies on OpenSSL (#478)
MiguelCompany Apr 4, 2019
d155904
First features for safety critical systems (#486)
richiware Apr 11, 2019
fdf1c9d
Making lossy tests deterministic [5073] (#481)
MiguelCompany Apr 12, 2019
7f0665d
Liveliness QoS API [5106] (#487)
raquelalvarezbanos Apr 12, 2019
ab6fdd0
Lifespan QoS [4992] (#459)
raquelalvarezbanos Apr 12, 2019
b833d4e
Deadline QoS [4993] (#446)
raquelalvarezbanos Apr 15, 2019
8c1dccc
Refs #5021 Fixed compilation issues with asio < 1.12 and lack of thre…
LuisGP Apr 22, 2019
459a4c1
Refs #5142 Fixing WAN and added GTEST check on compiling TMutexTests …
LuisGP Apr 24, 2019
2e8ae32
Refs #4962. Correctly sending GAP on matched_reader_add. (#502)
MiguelCompany Apr 24, 2019
f809cdf
Disable positive ACKs QoS [5042] (#477)
raquelalvarezbanos Apr 24, 2019
d6add0c
Maximum Domain ID limitation [5151] (#496)
Apr 25, 2019
f9523bd
Merge remote-tracking branch 'origin/master' into develop
richiware Apr 25, 2019
6986e28
Feature IDL 4.2 [4975] (#460)
Apr 25, 2019
a547f6d
Feature/time t nanosec [5108] (#488)
Apr 25, 2019
ef1b397
Feature/update doxygen [5013] (#465)
Apr 26, 2019
daf4b9a
Making UDP send_to calls non-blocking [5219] (#509)
MiguelCompany Apr 29, 2019
db427e8
Remove Realloc and DynMem from memory check. (#510)
richiware Apr 29, 2019
5a20583
Filter non-local addresses on whitelist [5041] (#476)
MiguelCompany Apr 29, 2019
cb4f5b1
Refs #4770. Adding .bat to GRADLE_EXE on windows. (#507)
MiguelCompany Apr 29, 2019
11af676
Refs #5204 Check if reader has disable_positive_acks enabled. [5218] …
LuisGP Apr 30, 2019
938f771
Refs #4971 Fix #457. Added Blackbox for it and modified SimpleCommuni…
Apr 30, 2019
1d77408
Refs:#5068 Bugfix/callback issue (#480)
MiguelBarro Apr 30, 2019
59e296e
RTPS Domain hostid part of the GUID match first interface IP (#458)
guillaumeautran Apr 30, 2019
9e13428
Well-known port calculation on endpoint locators [5040] (#475)
MiguelCompany Apr 30, 2019
333462c
Fix Resource Generation on windows (#513)
ThadHouse May 3, 2019
3da0062
Fix for StatefulWriter.check_acked_status [5270] (#515)
MiguelCompany May 3, 2019
8ea439c
Refs #5272. Fix build when TLS_FOUND is false. (#516)
MiguelCompany May 6, 2019
e3371cc
Refs #5287. Updated submodules.
MiguelCompany May 7, 2019
705c120
Refs #5287. Bump version to 1.8.0
MiguelCompany May 7, 2019
9d4b4b7
Refs #5020 Static data now allows different sizes between tests. [502…
May 9, 2019
1c5636b
Support create windows installer with VS2019 [5363] (#522)
richiware May 10, 2019
1225b43
StatelessReader: losing fragments causes not removing old changes fro…
richiware May 10, 2019
cb44b6b
Refs #5362. Making UDP non-blocking send optional. (#523)
MiguelCompany May 13, 2019
d3dc620
Documentation updates [5372] (#519)
raquelalvarezbanos May 13, 2019
e3e6728
Fixing some data races and lock ordering [5361] (#520)
MiguelCompany May 13, 2019
6410c62
Win installer -now OPENSSL's ssl libraries are needed (#524)
richiware May 13, 2019
df02738
Fixing XMLParser not parsing non-blocking send correctly (#526)
raquelalvarezbanos May 14, 2019
b11da63
Whitelist XSD (#527)
May 14, 2019
a1833ec
Final documentation updates (#528)
raquelalvarezbanos May 14, 2019
d2ce654
Fixing serialization of DisablePositiveAcks QoS (#525)
MiguelCompany May 14, 2019
12dbe3f
Whitelist parsing checks. (#530)
May 14, 2019
3368020
Fixed error creating linux installer. [5392] (#529)
richiware May 14, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
24 changes: 23 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -224,12 +224,28 @@ option(SECURITY "Activate security" OFF)

if(SECURITY)
find_package(OpenSSL REQUIRED)
else()
find_package(OpenSSL)
endif()

option(NO_TLS "Disables TLS Support" OFF)
if(OpenSSL_FOUND AND NOT NO_TLS)
set(TLS_FOUND 1)
else()
set(TLS_FOUND 0)
endif()

if(SECURITY OR TLS_FOUND)
set(LINK_SSL 1)
else()
set(LINK_SSL 0)
endif()

###############################################################################
# Java application
###############################################################################
option(BUILD_JAVA "Activate the compilation of the Java application" OFF)
option(TEST_JAVA "Perform testing when compile the Java application" OFF)

if(EPROSIMA_INSTALLER)
set(BUILD_JAVA ON)
Expand All @@ -238,7 +254,13 @@ endif()
if(BUILD_JAVA)
include(${PROJECT_SOURCE_DIR}/cmake/dev/java_support.cmake)

gradle_build(${PROJECT_SOURCE_DIR}/${PROJECT_NAME}gen
if(TEST_JAVA)
set(CMD_JAVA "build")
else()
set(CMD_JAVA "assemble")
endif()

gradle_build(${PROJECT_SOURCE_DIR}/${PROJECT_NAME}gen ${CMD_JAVA}
THIRDPARTY_DEPENDENCY idl
THIRDPARTY_DEPENDENCY fastcdr
)
Expand Down
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
[![Stars](https://img.shields.io/github/stars/eProsima/Fast-RTPS.svg)](https://github.com/eProsima/Fast-RTPS/stargazers)

<a href="http://www.eprosima.com"><img src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSd0PDlVz1U_7MgdTe0FRIWD0Jc9_YH-gGi0ZpLkr-qgCI6ZEoJZ5GBqQ" align="left" hspace="8" vspace="2" width="100" height="100" ></a>

*eprosima Fast RTPS* is a C++ implementation of the RTPS (Real Time Publish Subscribe) protocol, which provides publisher-subscriber communications over unreliable transports such as UDP,
as defined and maintained by the Object Management Group (OMG) consortium. RTPS is also the wire interoperability protocol defined for the Data Distribution
Service (DDS) standard, again by the OMG. *eProsima Fast RTPS* holds the benefit of being standalone and up-to-date, as most vendor solutions either implement RTPS as a tool to implement
Expand All @@ -24,7 +25,7 @@ network.
system input/output channel combination for each deployment.
* Two API Layers: a high-level Publisher-Subscriber one focused on usability and a lower-level Writer-Reader one that provides finer access to the inner workings of the RTPS protocol.

eProsima Fast RTPS has been adopted by multiple organizations in many sectors including these important cases:
*eProsima Fast RTPS* has been adopted by multiple organizations in many sectors including these important cases:

* Robotics: ROS (Robotic Operating System) as their default middleware for ROS2.
* EU R&D: FIWARE Incubated GE.
Expand Down Expand Up @@ -52,13 +53,13 @@ Clone the project from GitHub:

If you are on Linux, execute:

$ cmake -DTHIRDPARTY=ON ..
$ cmake ../ -DTHIRDPARTY=ON
$ make
$ make install

If you are on Windows, choose your version of Visual Studio:

> cmake -G "Visual Studio 14 2015 Win64" -DTHIRDPARTY=ON ..
> cmake ../ -G "Visual Studio 14 2015 Win64" -DTHIRDPARTY=ON
> cmake --build . --target install

If you want to compile the performance tests, you will need to add the argument `-DPERFORMANCE_TESTS=ON` when calling Cmake.
Expand All @@ -71,7 +72,7 @@ You can access the documentation online, which is hosted on [Read the Docs](http
* [Installation manual](http://eprosima-fast-rtps.readthedocs.io/en/latest/requirements.html)
* [User manual](http://eprosima-fast-rtps.readthedocs.io/en/latest/introduction.html)
* [FastRTPSGen manual](http://eprosima-fast-rtps.readthedocs.io/en/latest/geninfo.html)
* [Release notes](http://eprosima-fast-rtps.readthedocs.io/notes.html)
* [Release notes](http://eprosima-fast-rtps.readthedocs.io/en/latest/notes.html)

## Getting Help

Expand Down
4 changes: 0 additions & 4 deletions ReleaseNotes.txt

This file was deleted.

51 changes: 35 additions & 16 deletions cmake/common/gtest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -74,15 +74,28 @@ macro(check_gmock)
endif()
endmacro()

macro(add_gtest test)
macro(add_gtest)
# Parse arguments
set(multiValueArgs SOURCES ENVIRONMENTS DEPENDENCIES)
cmake_parse_arguments(GTEST "" "" "${multiValueArgs}" ${ARGN})
if("${ARGV0}" STREQUAL "NAME")
set(uniValueArgs NAME COMMAND)
unset(test)
unset(command)
else()
set(test "${ARGV0}")
set(command "${test}")
endif()
set(multiValueArgs SOURCES ENVIRONMENTS DEPENDENCIES LABELS)
cmake_parse_arguments(GTEST "" "${uniValueArgs}" "${multiValueArgs}" ${ARGN})

if(GTEST_NAME)
set(test ${GTEST_NAME})
set(command ${GTEST_COMMAND})
endif()

if(GTEST_INDIVIDUAL)
if(WIN32)
set(WIN_PATH "$ENV{PATH}")
get_target_property(LINK_LIBRARIES_ ${test} LINK_LIBRARIES)
get_target_property(LINK_LIBRARIES_ ${command} LINK_LIBRARIES)
if(NOT "${LINK_LIBRARIES_}" STREQUAL "LINK_LIBRARIES_-NOTFOUND")
foreach(LIBRARY_LINKED ${LINK_LIBRARIES_})
if(TARGET ${LIBRARY_LINKED})
Expand All @@ -97,32 +110,35 @@ macro(add_gtest test)
endif()

foreach(GTEST_SOURCE_FILE ${GTEST_SOURCES})
file(STRINGS ${GTEST_SOURCE_FILE} GTEST_NAMES REGEX ^TEST)
foreach(GTEST_NAME ${GTEST_NAMES})
string(REGEX REPLACE ["\) \(,"] ";" GTEST_NAME ${GTEST_NAME})
list(GET GTEST_NAME 1 GTEST_GROUP_NAME)
list(GET GTEST_NAME 3 GTEST_NAME)
add_test(NAME ${GTEST_GROUP_NAME}.${GTEST_NAME}
COMMAND ${test}
--gtest_filter=${GTEST_GROUP_NAME}.${GTEST_NAME})
file(STRINGS ${GTEST_SOURCE_FILE} GTEST_TEST_NAMES REGEX ^TEST)
foreach(GTEST_TEST_NAME ${GTEST_TEST_NAMES})
string(REGEX REPLACE ["\) \(,"] ";" GTEST_TEST_NAME ${GTEST_TEST_NAME})
list(GET GTEST_TEST_NAME 1 GTEST_GROUP_NAME)
list(GET GTEST_TEST_NAME 3 GTEST_TEST_NAME)
add_test(NAME ${GTEST_GROUP_NAME}.${GTEST_TEST_NAME}
COMMAND ${command} --gtest_filter=${GTEST_GROUP_NAME}.${GTEST_TEST_NAME})

# Add environment
if(WIN32)
set_property(TEST ${GTEST_GROUP_NAME}.${GTEST_NAME} APPEND PROPERTY ENVIRONMENT "PATH=${WIN_PATH}")
set_property(TEST ${GTEST_GROUP_NAME}.${GTEST_TEST_NAME} APPEND PROPERTY ENVIRONMENT "PATH=${WIN_PATH}")
endif()

foreach(property ${GTEST_ENVIRONMENTS})
set_property(TEST ${GTEST_GROUP_NAME}.${GTEST_NAME} APPEND PROPERTY ENVIRONMENT "${property}")
set_property(TEST ${GTEST_GROUP_NAME}.${GTEST_TEST_NAME} APPEND PROPERTY ENVIRONMENT "${property}")
endforeach()

# Add labels
set_property(TEST ${GTEST_GROUP_NAME}.${GTEST_TEST_NAME} PROPERTY LABELS "${GTEST_LABELS}")

endforeach()
endforeach()
else()
add_test(NAME ${test} COMMAND ${test})
add_test(NAME ${test} COMMAND ${command})

# Add environment
if(WIN32)
set(WIN_PATH "$ENV{PATH}")
get_target_property(LINK_LIBRARIES_ ${test} LINK_LIBRARIES)
get_target_property(LINK_LIBRARIES_ ${command} LINK_LIBRARIES)
if(NOT "${LINK_LIBRARIES_}" STREQUAL "LINK_LIBRARIES_-NOTFOUND")
foreach(LIBRARY_LINKED ${LINK_LIBRARIES_})
if(TARGET ${LIBRARY_LINKED})
Expand All @@ -140,5 +156,8 @@ macro(add_gtest test)
foreach(property ${GTEST_ENVIRONMENTS})
set_property(TEST ${test} APPEND PROPERTY ENVIRONMENT "${property}")
endforeach()

# Add labels
set_property(TEST ${test} PROPERTY LABELS "${GTEST_LABELS}")
endif()
endmacro()
16 changes: 13 additions & 3 deletions cmake/dev/generate_msvc_libraries.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,17 @@ macro(generate_msvc_libraries platform)
file(TO_CMAKE_PATH $ENV{EPROSIMA_OPENSSL_ROOT}/${platform} OPENSSL_ROOT_)

if(IS_X64)
set(generator_ "${generator_} Win64")
if("${CMAKE_GENERATOR}" STREQUAL "Visual Studio 16 2019")
set(carch_def_ "-A")
set(carch_arg_ "x64")
else()
set(generator_ "${generator_} Win64")
endif()
else()
if("${CMAKE_GENERATOR}" STREQUAL "Visual Studio 16 2019")
set(carch_def_ "-A")
set(carch_arg_ "Win32")
endif()
endif()

if(IS_VS2013)
Expand All @@ -44,14 +54,14 @@ macro(generate_msvc_libraries platform)
COMMAND ${CMAKE_COMMAND} -E make_directory "${PROJECT_BINARY_DIR}/eprosima_installer/${platform}_static")

add_custom_target(${PROJECT_NAME}_${platform} ALL
COMMAND ${CMAKE_COMMAND} -G "${generator_}" -T "${toolset_}" -DEPROSIMA_BUILD=ON -DEPROSIMA_INSTALLER_MINION=ON -DOPENSSL_ROOT_DIR=${OPENSSL_ROOT_} -DSECURITY=ON -DCMAKE_INSTALL_PREFIX:PATH=${PROJECT_BINARY_DIR}/eprosima_installer/${platform}/install ${PROJECT_SOURCE_DIR}
COMMAND ${CMAKE_COMMAND} -G "${generator_}" -T "${toolset_}" ${carch_def_} ${carch_arg_} -DEPROSIMA_BUILD=ON -DEPROSIMA_INSTALLER_MINION=ON -DOPENSSL_ROOT_DIR=${OPENSSL_ROOT_} -DSECURITY=ON -DCMAKE_INSTALL_PREFIX:PATH=${PROJECT_BINARY_DIR}/eprosima_installer/${platform}/install ${PROJECT_SOURCE_DIR}
COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
COMMAND ${CMAKE_COMMAND} --build . --target install --config Debug
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/eprosima_installer/${platform}
)

add_custom_target(${PROJECT_NAME}_${platform}_static ALL
COMMAND ${CMAKE_COMMAND} -G "${generator_}" -T "${toolset_}" -DBUILD_SHARED_LIBS=OFF -DEPROSIMA_BUILD=ON -DEPROSIMA_INSTALLER_MINION=ON -DOPENSSL_ROOT_DIR=${OPENSSL_ROOT_} -DSECURITY=ON -DCMAKE_INSTALL_PREFIX:PATH=${PROJECT_BINARY_DIR}/eprosima_installer/${platform}/install ${PROJECT_SOURCE_DIR}
COMMAND ${CMAKE_COMMAND} -G "${generator_}" -T "${toolset_}" ${carch_def_} ${carch_arg_} -DBUILD_SHARED_LIBS=OFF -DEPROSIMA_BUILD=ON -DEPROSIMA_INSTALLER_MINION=ON -DOPENSSL_ROOT_DIR=${OPENSSL_ROOT_} -DSECURITY=ON -DCMAKE_INSTALL_PREFIX:PATH=${PROJECT_BINARY_DIR}/eprosima_installer/${platform}/install ${PROJECT_SOURCE_DIR}
COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
COMMAND ${CMAKE_COMMAND} --build . --target install --config Debug
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/eprosima_installer/${platform}_static
Expand Down
10 changes: 7 additions & 3 deletions cmake/dev/java_support.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,14 @@
# See the License for the specific language governing permissions and
# limitations under the License.

macro(gradle_build directory)
macro(gradle_build directory command_build)
find_package(Java 1.6 COMPONENTS Runtime REQUIRED)
if(WIN32)
find_program(GRADLE_EXE NAMES gradle gradle.exe gradle.bat)
get_filename_component(GRADLE_EXE_EXTENSION ${GRADLE_EXE} EXT)
if(NOT GRADLE_EXE_EXTENSION)
set(GRADLE_EXE ${GRADLE_EXE}.bat)
endif()
else()
find_program(GRADLE_EXE gradle)
endif()
Expand All @@ -29,7 +33,7 @@ macro(gradle_build directory)

if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} VERSION_LESS 3.1.3)
add_custom_target(java ALL
COMMAND "${GRADLE_EXE}" -Pcustomversion=${PROJECT_VERSION} build
COMMAND "${GRADLE_EXE}" -Pcustomversion=${PROJECT_VERSION} ${command_build}
WORKING_DIRECTORY ${directory}
COMMENT "Generating Java application" VERBATIM)
else()
Expand All @@ -46,7 +50,7 @@ macro(gradle_build directory)
COMMAND ${CMAKE_COMMAND} -E env
--unset=JAVA_HOME
"PATH=${Java_JAVA_EXECUTABLE_DIR_NATIVE}${delimiter_}$<JOIN:$ENV{PATH},${delimiter_}>"
"${GRADLE_EXE}" -Pcustomversion=${PROJECT_VERSION} build
"${GRADLE_EXE}" -Pcustomversion=${PROJECT_VERSION} ${command_build}
WORKING_DIRECTORY ${directory}
COMMENT "Generating Java application" VERBATIM)
endif()
Expand Down
21 changes: 14 additions & 7 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
# Define variables for the FastRTPS version number.
#
m4_define([version_major],[1])
m4_define([version_minor],[7])
m4_define([version_micro],[2])
m4_define([version_minor],[8])
m4_define([version_micro],[0])

AC_INIT([fastrtps], [version_major.version_minor.version_micro], [support@eprosima.com], [eProsima FastRTPS], [http://eprosima.com/])
CONFIG_ARGS="$*"
Expand Down Expand Up @@ -57,18 +57,25 @@ AC_C_BIGENDIAN(
AC_MSG_ERROR(universial endianess not supported)
)

# OpenSSL
AX_CHECK_OPENSSL(ac_openssl_found=yes,
ac_openssl_found=no)

AS_IF([test "$ac_openssl_found" = yes],
AC_DEFINE([TLS_FOUND], [1], [Defined if TLS support is enable]),
AC_DEFINE([TLS_FOUND], [0], [Defined if TLS support is enable]))

# Security
AC_ARG_ENABLE([security],
AS_HELP_STRING([--enable-security], [Enables security support]),
ac_enable_security=$enableval,
ac_enable_security=no
)
AS_IF([test "$ac_enable_security" = yes],
[
AC_DEFINE([HAVE_SECURITY], [1], [Defined if security support is enable])
AX_CHECK_OPENSSL([AC_MSG_NOTICE([Found OpenSSL])], [AC_MSG_ERROR([Could not find OpenSSL])])
],
[AC_DEFINE([HAVE_SECURITY], [0], [Defined if security support is enable])])
AS_IF([test "$ac_openssl_found" = yes],
AC_DEFINE([HAVE_SECURITY], [1], [Defined if security support is enable]),
AC_MSG_ERROR([To support security you need OpenSSL libraries])),
AC_DEFINE([HAVE_SECURITY], [0], [Defined if security support is enable]))
AM_CONDITIONAL(SECURITY, test $ac_enable_security = yes)

# Check for libraries used in the main build process
Expand Down
2 changes: 1 addition & 1 deletion doc/README.html.in
Original file line number Diff line number Diff line change
Expand Up @@ -1269,7 +1269,7 @@
</ul>
<p class="western" style="margin-bottom: 0in"><br/></p>
<p class="western" style="margin-bottom: 0in; border-top: none; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding-top: 0in; padding-bottom: 0.03in; padding-left: 0in; padding-right: 0in"><br/></p>
<p class="western" style="margin-bottom: 0in"><font face="Arial, sans-serif" size="2" style="font-size: 11pt"><b>Copyright&copy; 2017 eProsima. All rights reserved.</b></font></p>
<p class="western" style="margin-bottom: 0in"><font face="Arial, sans-serif" size="2" style="font-size: 11pt"><b>Copyright&copy; 2019 eProsima. All rights reserved.</b></font></p>
<p class="western" style="margin-bottom: 0in"><font face="Arial, sans-serif" size="2" style="font-size: 11pt">This copy of <i>eProsima Fast RTPS</i> is licensed to you under the terms described in the LICENSE file included in this distribution.</font></p>
</body>
</html>
Loading