Skip to content

Commit

Permalink
Update submodule imports
Browse files Browse the repository at this point in the history
  • Loading branch information
MisterTea committed May 5, 2022
1 parent aaeb85e commit 0b92c47
Show file tree
Hide file tree
Showing 3,450 changed files with 47,032 additions and 20,741 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
8 changes: 6 additions & 2 deletions external_imported/sentry-native/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,18 +62,21 @@ jobs:
- name: macOS (xcode llvm)
os: macOs-latest
ERROR_ON_WARNINGS: 1
SYSTEM_VERSION_COMPAT: 0
- name: macOS (xcode llvm + universal)
os: macOs-latest
ERROR_ON_WARNINGS: 1
SYSTEM_VERSION_COMPAT: 0
CMAKE_DEFINES: -DCMAKE_OSX_ARCHITECTURES=arm64;x86_64
- name: macOS (clang 11 + asan + llvm-cov)
os: macOs-latest
CC: clang
CXX: clang++
ERROR_ON_WARNINGS: 1
SYSTEM_VERSION_COMPAT: 0
RUN_ANALYZER: asan,llvm-cov
- name: Windows (VS2017, 32bit)
os: vs2017-win2016
- name: Windows (VS2019)
os: windows-2019
TEST_X86: 1
- name: Windows (latest)
os: windows-latest
Expand All @@ -98,6 +101,7 @@ jobs:
ANDROID_API: ${{ matrix.ANDROID_API }}
ANDROID_NDK: ${{ matrix.ANDROID_NDK }}
CMAKE_DEFINES: ${{ matrix.CMAKE_DEFINES }}
SYSTEM_VERSION_COMPAT: ${{ matrix.SYSTEM_VERSION_COMPAT }}

steps:
- uses: actions/checkout@v2
Expand Down
1 change: 1 addition & 0 deletions external_imported/sentry-native/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ CMakeSettings.json
/build
/build*
leak-build
unit-build

# Run files
.sentry-native
Expand Down
72 changes: 70 additions & 2 deletions external_imported/sentry-native/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,82 @@
# Changelog

## 0.4.17

**Fixes**:

- sentry-native now successfully builds when examples aren't included. ([#702](https://github.com/getsentry/sentry-native/pull/702))

**Thank you**:

Features, fixes and improvements in this release have been contributed by:

- [@AenBleidd](https://github.com/AenBleidd)

## 0.4.16

**Features**:

- Removed the `SENTRY_PERFORMANCE_MONITORING` compile flag requirement to access performance monitoring in the Sentry SDK. Performance monitoring is now available to everybody who has opted into the experimental API.
- New API to check whether the application has crashed in the previous run: `sentry_get_crashed_last_run()` and `sentry_clear_crashed_last_run()` ([#685](https://github.com/getsentry/sentry-native/pull/685)).
- Allow overriding the SDK name at build time - set the `SENTRY_SDK_NAME` CMake cache variable.
- More aggressively prune the Crashpad database. ([#698](https://github.com/getsentry/sentry-native/pull/698))

**Internal**:

- Project IDs are now treated as opaque strings instead of integer values. ([#690](https://github.com/getsentry/sentry-native/pull/690))
- Updated Breakpad and Crashpad backends to 2022-04-12. ([#696](https://github.com/getsentry/sentry-native/pull/696))

**Fixes**:

- Updated CI as well as list of supported platforms to reflect Windows Server 2016, and therefore MSVC 2017 losing active support.
- Correctly free Windows Mutexes in Crashpad backend.

**Thank you**:

Features, fixes and improvements in this release have been contributed by:

- [@zhaowq32](https://github.com/zhaowq32)

## 0.4.15

**Fixes**:

- Fix contexts from the scope not being attached to events correctly.
- Improve performance of event serialization.

## 0.4.14

**Features**:

- The Sentry SDK now has experimental support for performance monitoring.
The performance monitoring API allows manually creating transactions and instrumenting spans, and offers APIs for distributed tracing.
The API is currently disabled by default and needs to be enabled via a compile-time `SENTRY_PERFORMANCE_MONITORING` flag.
For more information, take a look at the more detailed [documentation of performance monitoring](https://docs.sentry.io/platforms/native/performance/).
- Sentry now has an explicit `sentry_flush` method that blocks the calling thread for the given time, waiting for the transport queue to be flushed. Custom transports need to implement a new `flush_hook` for this to work.

**Fixes**:

- Fix Sentry API deadlocking when the SDK was not initialized (or `sentry_init` failed).
- The rate limit handling of the default transports was updated to match the expected behavior.
- The Windows OS version is now read from the Registry and is more accurate.
- The `SENTRY_LIBRARY_TYPE` CMake option is now correctly honored.
- The Linux Modulefinder was once again improved to increase its memory safety and reliability.

**Thank you**:

Features, fixes and improvements in this release have been contributed by:

- [@Mixaill](https://github.com/Mixaill)

## 0.4.13

**Features**
**Features**:

- Add client-side stackwalking on Linux, Windows, and macOS (disabled by default).
- CMake: add ability to set solution folder name.
- Add AIX support.

**Fixes**
**Fixes**:

- CMake: check whether libcurl was already found.
- Increment CXX standard version to 14 to allow crashpad to build.
Expand Down
21 changes: 14 additions & 7 deletions external_imported/sentry-native/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ if(NOT CMAKE_C_STANDARD)
endif()

if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD 17)
endif()

include(GNUInstallDirs)
Expand Down Expand Up @@ -151,9 +151,12 @@ if(SENTRY_BACKEND_CRASHPAD AND ANDROID)
message(FATAL_ERROR "The Crashpad backend is not currently supported on Android")
endif()

set(SENTRY_SDK_NAME "" CACHE STRING "The SDK name to report when sending events.")

message(STATUS "SENTRY_TRANSPORT=${SENTRY_TRANSPORT}")
message(STATUS "SENTRY_BACKEND=${SENTRY_BACKEND}")
message(STATUS "SENTRY_LIBRARY_TYPE=${SENTRY_LIBRARY_TYPE}")
message(STATUS "SENTRY_SDK_NAME=${SENTRY_SDK_NAME}")

if(ANDROID)
set(SENTRY_WITH_LIBUNWINDSTACK TRUE)
Expand Down Expand Up @@ -221,6 +224,10 @@ target_sources(sentry PRIVATE "${PROJECT_SOURCE_DIR}/include/sentry.h")
add_library(sentry::sentry ALIAS sentry)
add_subdirectory(src)

if (NOT SENTRY_SDK_NAME STREQUAL "")
target_compile_definitions(sentry PRIVATE SENTRY_SDK_NAME="${SENTRY_SDK_NAME}")
endif()

# we do not need this on android, only linux
if(LINUX)
target_sources(sentry PRIVATE
Expand All @@ -233,7 +240,7 @@ set_target_properties(sentry PROPERTIES PUBLIC_HEADER "include/sentry.h")

if(DEFINED SENTRY_FOLDER)
set_target_properties(sentry PROPERTIES FOLDER ${SENTRY_FOLDER})
endif()
endif()

# check size type
include(CheckTypeSize)
Expand Down Expand Up @@ -384,7 +391,7 @@ if(SENTRY_LINK_PTHREAD)
endif()

# apply platform libraries to sentry library
if(SENTRY_LIBRARY_TYPE STREQUAL "static")
if(SENTRY_LIBRARY_TYPE STREQUAL "STATIC")
target_link_libraries(sentry PUBLIC ${_SENTRY_PLATFORM_LIBS})
else()
target_link_libraries(sentry PRIVATE ${_SENTRY_PLATFORM_LIBS})
Expand Down Expand Up @@ -457,7 +464,7 @@ if(SENTRY_BACKEND_CRASHPAD)
set_target_properties(crashpad_util PROPERTIES FOLDER ${SENTRY_FOLDER})
set_target_properties(crashpad_zlib PROPERTIES FOLDER ${SENTRY_FOLDER})
set_target_properties(mini_chromium PROPERTIES FOLDER ${SENTRY_FOLDER})
endif()
endif()

target_link_libraries(sentry PRIVATE
$<BUILD_INTERFACE:crashpad::client>
Expand Down Expand Up @@ -490,8 +497,8 @@ elseif(SENTRY_BACKEND_BREAKPAD)

if(DEFINED SENTRY_FOLDER)
set_target_properties(breakpad_client PROPERTIES FOLDER ${SENTRY_FOLDER})
endif()
endif()

if(NOT SENTRY_BUILD_SHARED_LIBS)
sentry_install(TARGETS breakpad_client EXPORT sentry
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
Expand Down Expand Up @@ -570,7 +577,7 @@ if(SENTRY_BUILD_EXAMPLES)

if(DEFINED SENTRY_FOLDER)
set_target_properties(sentry_example PROPERTIES FOLDER ${SENTRY_FOLDER})
endif()
endif()

add_test(NAME sentry_example COMMAND sentry_example)
endif()
1 change: 1 addition & 0 deletions external_imported/sentry-native/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Building and testing `sentry-native` currently requires the following tools:
- **CMake** and a supported C/C++ compiler, to actually build the code.
- **python** and **pytest**, to run integration tests.
- **clang-format** and **black**, to format the C/C++ and python code respectively.
- **curl** and **zlib** libraries (e.g. on Ubuntu: libcurl4-openssl-dev, libz-dev)

`pytest` and `black` are installed as virtualenv dependencies automatically.

Expand Down
13 changes: 8 additions & 5 deletions external_imported/sentry-native/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,17 @@ build: build/Makefile
@cmake --build build --parallel
.PHONY: build

build/sentry_test_unit: build
@cmake --build build --target sentry_test_unit --parallel

test: update-test-discovery test-integration
.PHONY: test

test-unit: update-test-discovery build/sentry_test_unit
./build/sentry_test_unit
test-unit: update-test-discovery CMakeLists.txt
@mkdir -p unit-build
@cd unit-build; cmake \
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=$(PWD)/unit-build \
-DSENTRY_BACKEND=none \
..
@cmake --build unit-build --target sentry_test_unit --parallel
./unit-build/sentry_test_unit
.PHONY: test-unit

test-integration: setup-venv
Expand Down
10 changes: 7 additions & 3 deletions external_imported/sentry-native/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ The SDK currently supports and is tested on the following OS/Compiler variations
- 64bit Linux with GCC 9
- 64bit Linux with clang 9
- 32bit Linux with GCC 7 (cross compiled from 64bit host)
- 64bit Windows with MSVC 2019
- 32bit Windows with MSVC 2017
- 32bit Windows with MSVC 2019
- 64bit Windows with MSVC 2022
- macOS Catalina with most recent Compiler toolchain
- Android API29 built by NDK21 toolchain
- Android API16 built by NDK19 toolchain
Expand Down Expand Up @@ -264,13 +264,17 @@ Legend:

- `SENTRY_FOLDER` (Default: not defined):
Sets the sentry-native projects folder name for generators which support project hierarchy (like Microsoft Visual Studio).
To use this feature you need to enable hierarchy via [`USE_FOLDERS` property](https://cmake.org/cmake/help/latest/prop_gbl/USE_FOLDERS.html)
To use this feature you need to enable hierarchy via [`USE_FOLDERS` property](https://cmake.org/cmake/help/latest/prop_gbl/USE_FOLDERS.html)

- `CRASHPAD_ENABLE_STACKTRACE` (Default: OFF):
This enables client-side stackwalking when using the crashpad backend. Stack unwinding will happen on the client's machine
and the result will be submitted to Sentry attached to the generated minidump.
Note that this feature is still experimental.

- `SENTRY_SDK_NAME` (Default: sentry.native or sentry.native.android):
Sets the SDK name that should be included in the reported events. If you're overriding this, make sure to also define
the same value using `target_compile_definitions()` on your own targets that include `sentry.h`.

### Build Targets

- `sentry`: This is the main library and the only default build target.
Expand Down
43 changes: 43 additions & 0 deletions external_imported/sentry-native/examples/example.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,14 @@ main(int argc, char **argv)
options, sentry_transport_new(print_envelope));
}

if (has_arg(argc, argv, "capture-transaction")) {
sentry_options_set_traces_sample_rate(options, 1.0);
}

if (has_arg(argc, argv, "child-spans")) {
sentry_options_set_max_spans(options, 5);
}

sentry_init(options);

if (!has_arg(argc, argv, "no-setup")) {
Expand Down Expand Up @@ -208,6 +216,41 @@ main(int argc, char **argv)
sentry_capture_event(event);
}

if (has_arg(argc, argv, "capture-transaction")) {
sentry_transaction_context_t *tx_ctx
= sentry_transaction_context_new("little.teapot",
"Short and stout here is my handle and here is my spout");

if (has_arg(argc, argv, "unsample-tx")) {
sentry_transaction_context_set_sampled(tx_ctx, 0);
}
sentry_transaction_t *tx
= sentry_transaction_start(tx_ctx, sentry_value_new_null());

if (has_arg(argc, argv, "error-status")) {
sentry_transaction_set_status(
tx, SENTRY_SPAN_STATUS_INTERNAL_ERROR);
}

if (has_arg(argc, argv, "child-spans")) {
sentry_span_t *child
= sentry_transaction_start_child(tx, "littler.teapot", NULL);
sentry_span_t *grandchild
= sentry_span_start_child(child, "littlest.teapot", NULL);

if (has_arg(argc, argv, "error-status")) {
sentry_span_set_status(child, SENTRY_SPAN_STATUS_NOT_FOUND);
sentry_span_set_status(
grandchild, SENTRY_SPAN_STATUS_ALREADY_EXISTS);
}

sentry_span_finish(grandchild);
sentry_span_finish(child);
}

sentry_transaction_finish(tx);
}

// make sure everything flushes
sentry_close();

Expand Down
4 changes: 2 additions & 2 deletions external_imported/sentry-native/external/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,13 @@ set(BREAKPAD_SOURCES_CLIENT_APPLE
breakpad/src/client/mac/handler/breakpad_nlist_64.h
breakpad/src/client/mac/handler/dynamic_images.cc
breakpad/src/client/mac/handler/dynamic_images.h
breakpad/src/client/mac/handler/exception_handler.cc
breakpad/src/client/mac/handler/exception_handler.h
breakpad/src/client/mac/handler/minidump_generator.cc
breakpad/src/client/mac/handler/minidump_generator.h
)

set(BREAKPAD_SOURCES_CLIENT_MAC
breakpad/src/client/mac/handler/exception_handler.cc
breakpad/src/client/mac/handler/exception_handler.h
breakpad/src/client/mac/crash_generation/crash_generation_client.cc
breakpad/src/client/mac/crash_generation/crash_generation_client.h
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# GitHub actions workflow.
# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions

# https://scan.coverity.com/projects/gentoo-pax-utils
# https://scan.coverity.com/projects/google-breakpad
name: Coverity Scan

on:
Expand Down Expand Up @@ -36,9 +36,8 @@ jobs:
- run: ./configure --disable-silent-rules
working-directory: src

- uses: vapier/coverity-scan-action@v0
- uses: vapier/coverity-scan-action@v1
with:
project: google%2Fbreakpad
command: make -C src -O -j$(getconf _NPROCESSORS_CONF)
email: [email protected]
email: ${{ secrets.COVERITY_SCAN_EMAIL }}
token: ${{ secrets.COVERITY_SCAN_TOKEN }}
Loading

1 comment on commit 0b92c47

@notDavid
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MisterTea Hi there, just curious;

I'm only seeing the 6.2.0 release on the Ubuntu 20.04 focal repo, not on 22.04 jammy. Is this as expected?

  • https://ppa.launchpadcontent.net/jgmath2000/
  • amd64

Please sign in to comment.