Skip to content

Commit 53bb582

Browse files
nVxxramses-tech-userbojackHaasmansmirko-devviolinyanev
authored
Oss release 28.0.0-rc5 created 2023-12-08-13-59 (#116)
see CHANGELOG.md for details Original commit sha: ccbdc29b52328cf97262bfcdd3495471c9622ddf Co-authored-by: Ramses Tech User <[email protected]> Co-authored-by: Daniel Haas <[email protected]> Co-authored-by: Mirko Sova <[email protected]> Co-authored-by: Violin Yanev <[email protected]> Co-authored-by: Carsten Rohn <[email protected]> Co-authored-by: Tobias Hammer <[email protected]> Co-authored-by: Bernhard Kisslinger <[email protected]> Co-authored-by: Martin Veith <[email protected]> Co-authored-by: Jonathan Conrad <[email protected]> Co-authored-by: Mohamed Sharaf-El-Deen <[email protected]> Co-authored-by: Markus Keppler <[email protected]> Co-authored-by: Chan Tong Yan <[email protected]>
1 parent 02d9cd5 commit 53bb582

File tree

29 files changed

+100
-43
lines changed

29 files changed

+100
-43
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Ramses Changelog
22

3+
28.0.0-rc5
4+
-------------------
5+
### Fixed <a name=28.0.0-rc5.Fixed></a>
6+
- Fixed renderer logging configuration caused by 2 logger instances
7+
38
28.0.0-rc4
49
-------------------
510
### Changed <a name=28.0.0-rc4.Changed></a>

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.13)
1111
set(RAMSES_VERSION_MAJOR 28)
1212
set(RAMSES_VERSION_MINOR 0)
1313
set(RAMSES_VERSION_PATCH 0)
14-
set(RAMSES_VERSION_POSTFIX "-rc4")
14+
set(RAMSES_VERSION_POSTFIX "-rc5")
1515
set(RAMSES_VERSION "${RAMSES_VERSION_MAJOR}.${RAMSES_VERSION_MINOR}.${RAMSES_VERSION_PATCH}${RAMSES_VERSION_POSTFIX}")
1616

1717
project(ramses-sdk

scripts/ci/installation-check/check-build-with-install-shared-lib.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ cd test-cmake.config
4141

4242
SET PATH=%INSTALL_DIR%/bin;%PATH%
4343

44-
cmake -G%CMAKE_GENERATOR% -DCMAKE_PREFIX_PATH="%INSTALL_DIR%/lib" --build test-cmake.config %SCRIPT_DIR%/shared-lib-check/
44+
cmake -G%CMAKE_GENERATOR% -DCMAKE_PREFIX_PATH="%INSTALL_DIR%/lib" %SCRIPT_DIR%/shared-lib-check/
4545
cmake --build . --config %BUILD_CONFIG% --target run-all
4646

4747
::check for errors

scripts/ci/installation-check/check-shared-lib-symbols.py

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ def file_to_symbols(lib_file, is_shared_lib):
4040
# run c++filt to demangle output from nm
4141
cppfilt_command = ['c++filt', '-r']
4242
cppfilt_process_result = subprocess.run(cppfilt_command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, input=nm_process_result.stdout)
43-
cppfilt_process_output_std = cppfilt_process_result.stdout.decode('utf-8')
43+
return cppfilt_process_result.stdout.decode('utf-8')
4444

45+
def find_api_symbols(symbols):
4546
ignore_list = [
4647
# ignore ramses internal and Impl
4748
r'ramses::internal::',
@@ -53,22 +54,44 @@ def file_to_symbols(lib_file, is_shared_lib):
5354
# 0000000000001d30 T ramses::Appearance::unbindInput(ramses::UniformInput const&)
5455
symbol_regex = re.compile(rf"^([0-9A-Fa-f]+)(\s+)[TB](\s+)({ignore_regex}.*)", re.MULTILINE)
5556

56-
lib_symbols = [s.group(4) for s in re.finditer(symbol_regex, cppfilt_process_output_std)]
57+
return [s.group(4) for s in re.finditer(symbol_regex, symbols)]
58+
59+
def check_missing_api_symbols(static_lib_symbols, shared_lib_symbols):
60+
static_lib_symbols = find_api_symbols(static_lib_symbols)
61+
shared_lib_symbols = find_api_symbols(shared_lib_symbols)
62+
missing_symbols = [s for s in static_lib_symbols if s not in shared_lib_symbols]
63+
if len(static_lib_symbols) == 0:
64+
raise Exception("No API symbols found in static lib (internal error)")
65+
if len(shared_lib_symbols) == 0:
66+
raise Exception("No API symbols found in shared lib (internal error)")
67+
if len(missing_symbols) > 0:
68+
raise Exception(f"FOUND MISSING SYMBOLS: {missing_symbols}")
69+
70+
def check_unique_exports(headless, full):
71+
# check interface between headless and full shared lib
72+
symbols = [
73+
'ramses::internal::ErrorReporting',
74+
'ramses::internal::FrameworkFactoryRegistry',
75+
'ramses::internal::RamsesFrameworkImpl',
76+
'ramses::internal::GetRamsesLogger',
77+
]
78+
for s in symbols:
79+
if s not in headless:
80+
raise Exception(f"Symbol missing in headless-shared-lib: {s}")
81+
if s in full:
82+
raise Exception(f"Unexpected symbol in full-shared-lib:: {s}")
5783

58-
return lib_symbols
84+
static_lib_headless_symbols = file_to_symbols(client_static_lib_dir, False)
85+
static_lib_headless_symbols += file_to_symbols(framework_static_lib_dir, False)
86+
shared_lib_headless_symbols = file_to_symbols(headless_shared_lib_dir, True)
5987

60-
static_lib_symbols = file_to_symbols(client_static_lib_dir, False)
61-
static_lib_symbols += file_to_symbols(framework_static_lib_dir, False)
62-
if not headless_only:
63-
static_lib_symbols += file_to_symbols(renderer_static_lib_dir, False)
88+
check_missing_api_symbols(static_lib_headless_symbols, shared_lib_headless_symbols)
6489

65-
shared_lib_symbols = file_to_symbols(headless_shared_lib_dir, True)
6690
if not headless_only:
67-
shared_lib_symbols += file_to_symbols(full_shared_lib_dir, True)
68-
69-
missing_symbols = [s for s in static_lib_symbols if s not in shared_lib_symbols]
70-
if len(missing_symbols) > 0:
71-
raise Exception(f"FOUND MISSING SYMBOLS: {missing_symbols}")
91+
static_lib_symbols = file_to_symbols(renderer_static_lib_dir, False)
92+
shared_lib_symbols = file_to_symbols(full_shared_lib_dir, True)
93+
check_missing_api_symbols(static_lib_symbols, shared_lib_symbols)
94+
check_unique_exports(shared_lib_headless_symbols, shared_lib_symbols)
7295

7396

7497
if __name__ == "__main__":

src/client/impl/RamsesClientImpl.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
#include "internal/PlatformAbstraction/Collections/HashMap.h"
4848
#include "internal/PlatformAbstraction/PlatformTime.h"
4949
#include "internal/Core/Utils/LogMacros.h"
50-
#include "internal/Core/Utils/RamsesLogger.h"
5150
#include "ClientFactory.h"
5251
#include "impl/FrameworkFactoryRegistry.h"
5352
#include "internal/Ramsh/Ramsh.h"

src/framework/impl/RamsesFrameworkConfigImpl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#pragma once
1010

1111
#include "TCPConfig.h"
12-
#include "internal/Core/Utils/RamsesLogger.h"
12+
#include "impl/RamsesLoggerImpl.h"
1313
#include "ramses/framework/IThreadWatchdogNotification.h"
1414
#include "ramses/framework/EFeatureLevel.h"
1515
#include "impl/ThreadWatchdogConfig.h"

src/framework/impl/RamsesFrameworkImpl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#include "ramses-sdk-build-config.h"
1414
#include "internal/Communication/TransportCommon/CommunicationSystemFactory.h"
1515
#include "internal/Communication/TransportCommon/ICommunicationSystem.h"
16-
#include "internal/Core/Utils/RamsesLogger.h"
16+
#include "impl/RamsesLoggerImpl.h"
1717
#include "impl/RamsesFrameworkConfigImpl.h"
1818
#include "ramses/framework/RamsesFrameworkConfig.h"
1919
#include "internal/Ramsh/RamshStandardSetup.h"
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// -------------------------------------------------------------------------
2+
// Copyright (C) 2023 BMW AG
3+
// -------------------------------------------------------------------------
4+
// This Source Code Form is subject to the terms of the Mozilla Public
5+
// License, v. 2.0. If a copy of the MPL was not distributed with this
6+
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
7+
// -------------------------------------------------------------------------
8+
9+
#include "impl/RamsesLoggerImpl.h"
10+
11+
namespace ramses::internal
12+
{
13+
RamsesLogger& GetRamsesLogger()
14+
{
15+
static RamsesLogger logger;
16+
return logger;
17+
}
18+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// -------------------------------------------------------------------------
2+
// Copyright (C) 2023 BMW AG
3+
// -------------------------------------------------------------------------
4+
// This Source Code Form is subject to the terms of the Mozilla Public
5+
// License, v. 2.0. If a copy of the MPL was not distributed with this
6+
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
7+
// -------------------------------------------------------------------------
8+
9+
#pragma once
10+
11+
#include "ramses/framework/APIExport.h"
12+
#include "internal/Core/Utils/RamsesLogger.h"
13+
14+
namespace ramses::internal
15+
{
16+
class RamsesLogger;
17+
18+
RAMSES_IMPL_EXPORT RamsesLogger& GetRamsesLogger();
19+
}

src/framework/internal/Core/Utils/AndroidLogger/AndroidLogAppender.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include "internal/Core/Utils/AndroidLogger/AndroidLogAppender.h"
1010
#include "internal/Core/Utils/LogMessage.h"
1111
#include "internal/Core/Utils/LogContext.h"
12-
#include "internal/Core/Utils/RamsesLogger.h"
12+
#include "impl/RamsesLoggerImpl.h"
1313
#include "internal/Core/Utils/InplaceStringTokenizer.h"
1414
#include <string>
1515

0 commit comments

Comments
 (0)