From b668a6da9622a0ba91bed06affc8d4c468bc5496 Mon Sep 17 00:00:00 2001 From: Edward Chen <18449977+edgchen1@users.noreply.github.com> Date: Fri, 9 Jun 2023 08:51:49 -0700 Subject: [PATCH] Treat Objective-C static analysis warnings as errors (#16293) - Update Objective-C static analysis check to fail on warnings. - Address warning. - Clean up build definition. --- objectivec/include/ort_env.h | 2 +- objectivec/ort_env.mm | 5 ++--- tools/ci_build/build.py | 7 ++++--- .../objectivec/static_analysis/requirements.txt | 1 - .../mac-objc-static-analysis-ci-pipeline.yml | 13 +++++++------ 5 files changed, 14 insertions(+), 14 deletions(-) delete mode 100644 tools/ci_build/github/apple/objectivec/static_analysis/requirements.txt diff --git a/objectivec/include/ort_env.h b/objectivec/include/ort_env.h index 8c4184c26e..8456b57bfa 100644 --- a/objectivec/include/ort_env.h +++ b/objectivec/include/ort_env.h @@ -16,7 +16,7 @@ extern "C" { * * Available since 1.15. */ -NSString* ORTVersion(void); +NSString* _Nullable ORTVersion(void); #ifdef __cplusplus } diff --git a/objectivec/ort_env.mm b/objectivec/ort_env.mm index cd83ac5a85..7043785563 100644 --- a/objectivec/ort_env.mm +++ b/objectivec/ort_env.mm @@ -12,9 +12,8 @@ NS_ASSUME_NONNULL_BEGIN -NSString* ORTVersion(void) { - std::string result = OrtGetApiBase()->GetVersionString(); - return [NSString stringWithUTF8String:result.c_str()]; +NSString* _Nullable ORTVersion(void) { + return [NSString stringWithUTF8String:OrtGetApiBase()->GetVersionString()]; } @implementation ORTEnv { diff --git a/tools/ci_build/build.py b/tools/ci_build/build.py index ec057fa483..8a7c109f69 100644 --- a/tools/ci_build/build.py +++ b/tools/ci_build/build.py @@ -542,11 +542,12 @@ def parse_arguments(): parser.add_argument( "--cmake_generator", choices=[ + "MinGW Makefiles", + "Ninja", + "NMake Makefiles", + "Unix Makefiles", "Visual Studio 16 2019", "Visual Studio 17 2022", - "Ninja", - "MinGW Makefiles", - "NMake Makefiles", "Xcode", ], default=None, diff --git a/tools/ci_build/github/apple/objectivec/static_analysis/requirements.txt b/tools/ci_build/github/apple/objectivec/static_analysis/requirements.txt deleted file mode 100644 index 528bdbbe90..0000000000 --- a/tools/ci_build/github/apple/objectivec/static_analysis/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -ninja==1.10.2 diff --git a/tools/ci_build/github/azure-pipelines/mac-objc-static-analysis-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/mac-objc-static-analysis-ci-pipeline.yml index e5c0583a3d..020ae1c58c 100644 --- a/tools/ci_build/github/azure-pipelines/mac-objc-static-analysis-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/mac-objc-static-analysis-ci-pipeline.yml @@ -17,14 +17,10 @@ jobs: addToPath: true architecture: "x64" - - script: | - pip install -r tools/ci_build/github/apple/objectivec/static_analysis/requirements.txt - displayName: Install tools - - script: | python tools/ci_build/build.py \ --build_dir "$(Build.BinariesDirectory)" \ - --cmake_generator "Ninja" \ + --cmake_generator "Unix Makefiles" \ --config Debug \ --build_shared_lib --use_coreml --build_objc \ --cmake_extra_defines CMAKE_EXPORT_COMPILE_COMMANDS=ON \ @@ -33,9 +29,14 @@ jobs: displayName: Generate compile_commands.json and ONNX protobuf files - script: | + set -e + + CLANG_TIDY_CHECKS="-*,clang-analyzer-*" + "$(brew --prefix llvm@15)/bin/clang-tidy" \ -p="$(Build.BinariesDirectory)/Debug" \ - --checks="-*,clang-analyzer-*" \ + --checks="${CLANG_TIDY_CHECKS}" \ + --warnings-as-errors="${CLANG_TIDY_CHECKS}" \ --header-filter="objectivec/include|objectivec|onnxruntime/core" \ ./objectivec/*.mm \ ./onnxruntime/core/platform/apple/logging/apple_log_sink.mm \