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

Feature/fix repository name #2

Open
wants to merge 55 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
b6979c3
Added caught exception logging to PLCrashReporter (#277)
jasminlapalme Apr 27, 2023
72e3cdf
ignore it in prefix header file
MikhailSuendukov May 5, 2023
7f21b03
Bump project version to 1.11.1
AnatolyPristensky May 30, 2023
1aed8f7
Merge pull request #281 from microsoft/release/1.11.1
AnatolyPristensky May 30, 2023
2f1c4ab
move private vars from interfaces to implementations
MikhailSuendukov Jul 7, 2023
6c2de3f
Merge branch 'master' into fix-interface-ivars-warnings
MikhailSuendukov Jul 7, 2023
fb6255c
disable CLANG_WARN_OBJC_INTERFACE_IVARS warning for project
MikhailSuendukov Jul 10, 2023
f59cca4
update Changelog
MikhailSuendukov Jul 18, 2023
03a27a6
revert OBJC_INTERFACE_IVARS flags
MikhailSuendukov Jul 18, 2023
dd3e868
remove redundant @private
MikhailSuendukov Jul 19, 2023
4c4061a
Merge pull request #280 from microsoft/fix-interface-ivars-warnings
MikhailSuendukov Jul 24, 2023
b5420fd
Add privacy manifest
AnatolyPristensky Jan 17, 2024
74d65f2
Update Changelog
AnatolyPristensky Jan 17, 2024
01e9fa8
Add NSPrivacyAccessedAPITypeReasons
AnatolyPristensky Jan 22, 2024
bf1b447
Update privacy manifest
AnatolyPristensky Jan 22, 2024
db2fb99
Update NSPrivacyTracking
AnatolyPristensky Jan 25, 2024
016b0e1
Remove Filestamp API
AnatolyPristensky Jan 25, 2024
892caae
Update PrivacyInfo.xcprivacy
AnatolyPristensky Jan 26, 2024
c071a07
Merge pull request #296 from microsoft/add-privacy-manifest
AnatolyPristensky Jan 29, 2024
a7d1c74
Initial template
AnatolyPristensky Mar 1, 2024
c4be013
Update path and template
AnatolyPristensky Mar 1, 2024
7cccea6
Update Pool and condition
AnatolyPristensky Mar 1, 2024
32113b3
Test
AnatolyPristensky Mar 1, 2024
37666ae
Update build-plcrashreporter-1ES.yml
AnatolyPristensky Mar 4, 2024
4e6b660
Test Image Name
AnatolyPristensky Mar 4, 2024
0e75b6c
Add path
AnatolyPristensky Mar 4, 2024
7ec83e7
Test SBOM enabled
AnatolyPristensky Mar 4, 2024
f42b529
Test moving SBOM
AnatolyPristensky Mar 4, 2024
63162f1
Add SBOM path
AnatolyPristensky Mar 4, 2024
c497e9b
Correct typo
AnatolyPristensky Mar 4, 2024
5165bed
Correct SBOM
AnatolyPristensky Mar 4, 2024
1528069
Correct SBOM path
AnatolyPristensky Mar 4, 2024
e3e2e77
Update build-plcrashreporter-1ES.yml
AnatolyPristensky Mar 4, 2024
34a4620
Remove SBOM folder
AnatolyPristensky Mar 4, 2024
b7afdfa
Remove automated comments
AnatolyPristensky Mar 4, 2024
e1decbe
Fix SBOM
AnatolyPristensky Mar 5, 2024
4acf73f
Fix SBOM
AnatolyPristensky Mar 5, 2024
e03524e
Fix SBOM
AnatolyPristensky Mar 5, 2024
e2ae4bc
Fix SBOM
AnatolyPristensky Mar 5, 2024
c330974
Merge pull request #301 from microsoft/migrate-to-1es
AnatolyPristensky Mar 5, 2024
1ac2c82
Add APIScan task (#300)
DmitriyKirakosyan Mar 22, 2024
b1416a2
Add privacy manifest into PLCrashreporter package (#299)
AnatolyPristensky Apr 8, 2024
26cd02a
Update build-plcrashreporter-1ES.yml to use protobuf v25.3
MikhailSuendukov Apr 15, 2024
d369f23
use local formula
MikhailSuendukov Apr 16, 2024
cf13382
Merge pull request #307 from microsoft/freeze-protobuf-version
MikhailSuendukov Apr 16, 2024
d5a2525
Increased MAX_REPORT_BYTES to 1M. (#308)
grigorye Apr 17, 2024
db45746
Prepare for 1.11.2 (#303)
MikhailSuendukov Apr 17, 2024
3430be2
exclude CrashViewer
MikhailSuendukov Apr 19, 2024
a7f5a17
Merge pull request #310 from microsoft/fix-spm
MikhailSuendukov Apr 19, 2024
24245e0
copy PrivacyInfo to static xcframework
MikhailSuendukov Apr 24, 2024
e53918b
Merge pull request #312 from microsoft/privacy-fix
MikhailSuendukov Apr 24, 2024
bd4ac79
Save CHANGELOG.md to Release artifact (#313)
MikhailSuendukov Apr 25, 2024
6752f71
save podspec to info artifact (#314)
MikhailSuendukov Apr 25, 2024
c9a389d
Merge remote-tracking branch 'base/master' into feature/fix-repositor…
harukitosa Jun 5, 2024
80a737a
fix
harukitosa Jun 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions .azure-pipelines/analyze-and-test-1ES-template.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
parameters:
- name: platforms
type: object

jobs:
- ${{ each platform in parameters.platforms }}:
- job: ''
displayName: ${{ format('CrashReporter {0} Analyze and Test', platform) }}
variables:
XCODE_PATH: '/Applications/Xcode_14.0.1.app/Contents/Developer'
templateContext:
outputs:
- output: pipelineArtifact
displayName: 'Publish Diagnostic Reports'
condition: failed()
targetPath: /Users/runner/Library/Logs/DiagnosticReports
artifactName: 'Test Diagnostic Reports'
sbomEnabled: false

steps:
- checkout: self
submodules: recursive
- task: Xcode@5
displayName: Analyze
inputs:
actions: analyze
configuration: Debug
xcodeVersion: specifyPath
xcodeDeveloperDir: '$(XCODE_PATH)'
xcWorkspacePath: CrashReporter.xcodeproj
${{ if eq(platform, 'MacCatalyst') }}:
scheme: 'CrashReporter iOS'
destinationPlatformOption: macOS
${{ if ne(platform, 'MacCatalyst') }}:
scheme: 'CrashReporter ${{ platform }}'
destinationPlatformOption: ${{ platform }}
${{ if eq(platform, 'iOS') }}:
destinationSimulators: 'iPhone 11'
${{ if eq(platform, 'tvOS') }}:
destinationSimulators: 'Apple TV'

- task: Xcode@5
displayName: Test
inputs:
actions: test
configuration: Debug
xcodeVersion: specifyPath
xcodeDeveloperDir: '$(XCODE_PATH)'
xcWorkspacePath: CrashReporter.xcodeproj
${{ if eq(platform, 'MacCatalyst') }}:
scheme: 'CrashReporter iOS'
destinationPlatformOption: macOS
${{ if ne(platform, 'MacCatalyst') }}:
scheme: 'CrashReporter ${{ platform }}'
destinationPlatformOption: ${{ platform }}
${{ if eq(platform, 'iOS') }}:
destinationSimulators: 'iPhone 11'
${{ if eq(platform, 'tvOS') }}:
destinationSimulators: 'Apple TV'
publishJUnitResults: true
timeoutInMinutes: 10
137 changes: 137 additions & 0 deletions .azure-pipelines/build-plcrashreporter-1ES.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
trigger:
- master
pr:
- master

variables:
Configuration: Release
SDK: ''
XCODE_PATH: '/Applications/Xcode_13.2.1.app/Contents/Developer'

resources:
repositories:
- repository: 1ESPipelineTemplates
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release

extends:
${{ if eq(variables['Build.SourceBranch'], 'refs/heads/master') }}:
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates
${{ else }}:
template: v1/1ES.Unofficial.PipelineTemplate.yml@1ESPipelineTemplates
parameters:
pool:
name: Azure Pipelines
image: macos-latest
os: macOS
customBuildTags:
- ES365AIMigrationTooling-BulkMigrated
sdl:
sourceAnalysisPool: 1ES-PT-Windows-2022
stages:
- stage: stage
jobs:
- job: HostJob
displayName: Build SDK for All Platforms
templateContext:
outputs:
- output: pipelineArtifact
displayName: 'Publish Artifacts'
path: '$(Build.ArtifactStagingDirectory)/Release'
artifactName: Release
sbomBuildDropPath: '$(Build.SourcesDirectory)'
- output: pipelineArtifact
displayName: 'Publish Version Information'
path: '$(Build.ArtifactStagingDirectory)/Info'
artifactName: Info
sbomEnabled: false
steps:
- checkout: self
- bash: |
brew install wget doxygen graphviz protobuf-c
brew unlink protobuf
brew install ./Dependencies/protobuf.rb
displayName: 'Install dependencies'
- task: Xcode@5
displayName: 'Build Crash Reporter'
inputs:
xcWorkspacePath: CrashReporter.xcodeproj
scheme: 'CrashReporter'
xcodeVersion: specifyPath
xcodeDeveloperDir: '$(XCODE_PATH)'
args: 'SYMROOT="$(Build.BinariesDirectory)" GCC_TREAT_WARNINGS_AS_ERRORS=YES SWIFT_TREAT_WARNINGS_AS_ERRORS=YES'

- bash: |
cp -f "Release-macosx/libCrashReporter.a" "Release/Static/libCrashReporter-MacOSX-Static.a"
lipo -info "Release/Static/libCrashReporter-MacOSX-Static.a"
rm -rf "Release/Mac OS X Framework/CrashReporter.framework" "Release/Mac OS X Framework/CrashReporter.framework.dSYM"
cp -R "Release-macosx/CrashReporter.framework" "Release-macosx/CrashReporter.framework.dSYM" "Release/Mac OS X Framework"
lipo -info "Release/Mac OS X Framework/CrashReporter.framework/CrashReporter"
cp -f "Release-macosx/plcrashutil" "Release/Tools"
lipo -info "Release/Tools/plcrashutil"
displayName: 'Prepare macOS Framework and Tools'
workingDirectory: '$(Build.BinariesDirectory)'

- bash: |
VERSION="$(cd $BUILD_SOURCESDIRECTORY && agvtool vers -terse)"
[[ $BUILD_SOURCEBRANCH != 'refs/heads/master' ]] && VERSION="$VERSION+$(cd $BUILD_SOURCESDIRECTORY && git rev-parse --short $BUILD_SOURCEVERSION)"
"$BUILD_SOURCESDIRECTORY/Scripts/create-archive.sh" "PLCrashReporter-$VERSION" "iOS Framework" "tvOS Framework" "Mac OS X Framework" "Tools"
"$BUILD_SOURCESDIRECTORY/Scripts/create-archive.sh" "PLCrashReporter-Static-$VERSION" Static/* "Tools"
"$BUILD_SOURCESDIRECTORY/Scripts/create-archive.sh" "PLCrashReporter-XCFramework-$VERSION" "CrashReporter.xcframework" "Tools"
"$BUILD_SOURCESDIRECTORY/Scripts/create-archive.sh" "PLCrashReporter-Static-$VERSION.xcframework" "XCFrameworkStatic/CrashReporter.xcframework" "Tools"
displayName: 'Create Archives'
workingDirectory: '$(Build.BinariesDirectory)/Release'
- task: CopyFiles@2
displayName: 'Copy Archives to Staging Directory'
inputs:
SourceFolder: '$(Build.BinariesDirectory)/Release'
Contents: '*.zip'
TargetFolder: '$(Build.ArtifactStagingDirectory)/Release'

- bash: |
mkdir -p $(Build.ArtifactStagingDirectory)/Info
echo $BUILD_SOURCEVERSION > $(Build.ArtifactStagingDirectory)/Info/COMMIT
VERSION="$(cd $BUILD_SOURCESDIRECTORY && agvtool vers -terse)"
echo $VERSION > $(Build.ArtifactStagingDirectory)/Info/VERSION
cp $BUILD_SOURCESDIRECTORY/CHANGELOG.md $(Build.ArtifactStagingDirectory)/Info/CHANGELOG.md
cp $BUILD_SOURCESDIRECTORY/PLCrashReporter.podspec $(Build.ArtifactStagingDirectory)/Info/PLCrashReporter.podspec
displayName: 'Collect Version Information'

- template: /.azure-pipelines/analyze-and-test-1ES-template.yml@self
parameters:
platforms: [iOS, macOS, tvOS, MacCatalyst]

- stage: APIScan
dependsOn: Stage
pool:
name: 1ES-PT-Windows-2022
os: windows
variables:
"agent.source.skip": true
jobs:
- job: APIScan
steps:
- task: DownloadPipelineArtifact@2
displayName: Download Pipeline Artifacts for APIScan
inputs:
artifactName: Release
targetPath: '$(Agent.BuildDirectory)/Release'
- task: AzureKeyVault@2
inputs:
azureSubscription: 'AC - Dev Infra & Build Pool'
KeyVaultName: 'mobile-center-sdk'
SecretsFilter: 'appcenter-sdk-managed-identity-clientid'
RunAsPreJob: false
- task: APIScan@2
displayName: 'Run APIScan'
inputs:
softwareFolder: '$(Agent.BuildDirectory)\Release'
softwareName: 'plcrashreporter'
softwareVersionNum: '$(Build.BuildId)'
isLargeApp: false
toolVersion: 'Latest'
verbosityLevel: verbose
condition: and(succeeded(), ne(variables['DisableAPIScan'], 'true'))
env:
AzureServicesAuthConnectionString: 'runAs=App;AppId=$(appcenter-sdk-managed-identity-clientid)'
13 changes: 12 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
# PLCrashReporter Change Log

## Version 1.11.1 (Under development)
## Version 1.11.2

* **[Improvement]** Update PLCrashReporter to include privacy manifest.
* **[Improvement]** Increase the maximum report size to 1MB.

___

## Version 1.11.1

* **[Improvement]** Disable treating warnings as errors in code to avoid blockers when new Xcode warnings are introduced.
* **[Improvement]** Add caught exception logging to PLCrashReporter to generate reports from specific exception.
* **[Improvement]** Fix Interface declarations of instance variables (OBJC_INTERFACE_IVARS) warnings.

___

## Version 1.11.0

Expand Down
48 changes: 45 additions & 3 deletions CrashReporter.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 53;
objectVersion = 54;
objects = {

/* Begin PBXAggregateTarget section */
Expand Down Expand Up @@ -755,6 +755,10 @@
C2F7F2B72451FC76002BD8BF /* PLCrashFrameCompactUnwind.h in Headers */ = {isa = PBXBuildFile; fileRef = 05F3CD6416DD6A58007911FB /* PLCrashFrameCompactUnwind.h */; };
C2F7F2B92451FC78002BD8BF /* PLCrashFrameCompactUnwind.h in Headers */ = {isa = PBXBuildFile; fileRef = 05F3CD6416DD6A58007911FB /* PLCrashFrameCompactUnwind.h */; };
C2F7F2BA2451FC78002BD8BF /* PLCrashFrameCompactUnwind.h in Headers */ = {isa = PBXBuildFile; fileRef = 05F3CD6416DD6A58007911FB /* PLCrashFrameCompactUnwind.h */; };
D8160D8A2B7B7FAF0081EBA2 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = D8389D722B57FC7F0061D8EF /* PrivacyInfo.xcprivacy */; };
D8160D8C2B7B7FC00081EBA2 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = D8389D722B57FC7F0061D8EF /* PrivacyInfo.xcprivacy */; };
D8160D8E2B7B7FD30081EBA2 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = D8389D722B57FC7F0061D8EF /* PrivacyInfo.xcprivacy */; };
D8160D902B7B7FE10081EBA2 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = D8389D722B57FC7F0061D8EF /* PrivacyInfo.xcprivacy */; };
FCE4550BA74D9DF923CFCD5A /* PLCrashFrameStackUnwind.c in Sources */ = {isa = PBXBuildFile; fileRef = FCE45837C8C773EFFD15C52B /* PLCrashFrameStackUnwind.c */; };
FCE4586A7041D332D1025F37 /* PLCrashFrameStackUnwind.h in Headers */ = {isa = PBXBuildFile; fileRef = FCE4522F86AC61C08E9DCC17 /* PLCrashFrameStackUnwind.h */; };
FCE45962BDFEEEFAF00DA7E4 /* PLCrashFrameStackUnwind.c in Sources */ = {isa = PBXBuildFile; fileRef = FCE45837C8C773EFFD15C52B /* PLCrashFrameStackUnwind.c */; };
Expand Down Expand Up @@ -1261,6 +1265,7 @@
C2F7F2302451F081002BD8BF /* DemoCrash-iOS-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "DemoCrash-iOS-Info.plist"; sourceTree = "<group>"; };
C2F7F26A2451F796002BD8BF /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "[email protected]"; sourceTree = "<group>"; };
C2F7F2BB2451FE1F002BD8BF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS13.4.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
D8389D722B57FC7F0061D8EF /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
FCE4522F86AC61C08E9DCC17 /* PLCrashFrameStackUnwind.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PLCrashFrameStackUnwind.h; sourceTree = "<group>"; };
FCE45837C8C773EFFD15C52B /* PLCrashFrameStackUnwind.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = PLCrashFrameStackUnwind.c; sourceTree = "<group>"; };
/* End PBXFileReference section */
Expand Down Expand Up @@ -1898,6 +1903,7 @@
C2F7F22F2451F081002BD8BF /* DemoCrash-tvOS-Info.plist */,
C2DCD87724657B24007322C5 /* DemoCrash-iOS.entitlements */,
050DE28D0F61BB1D00152ED3 /* fuzz_report.plcrash */,
D8389D722B57FC7F0061D8EF /* PrivacyInfo.xcprivacy */,
8DC2EF5A0486A6940098B216 /* Info.plist */,
05F3CD6C16DE7625007911FB /* Tests */,
05CD32AF0EE94086000FDE88 /* Tests-Info.plist */,
Expand Down Expand Up @@ -2433,6 +2439,7 @@
058812B41040582D009128FB /* Headers */,
058812B61040582D009128FB /* Sources */,
058812B71040582D009128FB /* Frameworks */,
D8160D8D2B7B7FC80081EBA2 /* Resources */,
);
buildRules = (
);
Expand Down Expand Up @@ -2562,6 +2569,7 @@
32CF776126DFBB080087748A /* Headers */,
32CF777826DFBB080087748A /* Sources */,
32CF777A26DFBB080087748A /* Frameworks */,
D8160D8B2B7B7FB60081EBA2 /* Resources */,
);
buildRules = (
);
Expand Down Expand Up @@ -2600,6 +2608,7 @@
8064D8901C4D22E5005A8B4C /* Headers */,
8064D8B51C4D22E5005A8B4C /* Sources */,
8064D8B61C4D22E5005A8B4C /* Frameworks */,
D8160D8F2B7B7FD90081EBA2 /* Resources */,
);
buildRules = (
);
Expand Down Expand Up @@ -2655,6 +2664,7 @@
8DC2EF500486A6940098B216 /* Headers */,
8DC2EF540486A6940098B216 /* Sources */,
8DC2EF560486A6940098B216 /* Frameworks */,
D8160D892B7B7FA50081EBA2 /* Resources */,
);
buildRules = (
);
Expand Down Expand Up @@ -2792,6 +2802,38 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
D8160D892B7B7FA50081EBA2 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D8160D8A2B7B7FAF0081EBA2 /* PrivacyInfo.xcprivacy in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D8160D8B2B7B7FB60081EBA2 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D8160D8C2B7B7FC00081EBA2 /* PrivacyInfo.xcprivacy in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D8160D8D2B7B7FC80081EBA2 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D8160D8E2B7B7FD30081EBA2 /* PrivacyInfo.xcprivacy in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D8160D8F2B7B7FD90081EBA2 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D8160D902B7B7FE10081EBA2 /* PrivacyInfo.xcprivacy in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
Expand Down Expand Up @@ -4075,7 +4117,7 @@
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1.11.0;
CURRENT_PROJECT_VERSION = 1.11.2;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
Expand Down Expand Up @@ -4143,7 +4185,7 @@
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1.11.0;
CURRENT_PROJECT_VERSION = 1.11.2;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
Expand Down
Loading