diff --git a/.github/templates/build-packages.yml b/.github/templates/build-packages.yml index c2470842d4..624e396da6 100644 --- a/.github/templates/build-packages.yml +++ b/.github/templates/build-packages.yml @@ -1,5 +1,5 @@ #@ load("@ytt:template", "template") -#@ load("common.lib.yml", "checkoutCode", "fetchWrapperBinaries", "msBuildMultiple", "readVersionFromPackage", "uploadArtifacts", "actionCache", "nugetPackages", "setupDotnet") +#@ load("common.lib.yml", "checkoutCode", "fetchWrapperBinaries", "msBuildMultiple", "readVersionFromPackage", "uploadArtifacts", "actionCache", "nugetPackages", "setupDotnet", "setupWorkloads", "setupAndroid") #@ def buildDocs(): - name: Check Docfx cache @@ -66,6 +66,8 @@ jobs: timeout-minutes: 30 steps: - #@ template.replace(checkoutCode()) + - #@ template.replace(setupAndroid()) + - #@ setupWorkloads('tvos ios maccatalyst android') - name: Set version suffix id: set-version-suffix #! Build suffix is pr-1234.5 for pr builds or alpha.123 for branch builds. diff --git a/.github/templates/build-unity.yml b/.github/templates/build-unity.yml index 010eb61986..789932c070 100644 --- a/.github/templates/build-unity.yml +++ b/.github/templates/build-unity.yml @@ -1,6 +1,5 @@ #@ load("@ytt:template", "template") -#@ load("common.lib.yml", "checkoutCode", "uploadArtifacts", "nugetPackages", "actionDownloadArtifact") -#@ load("test.lib.yml", "fetchPackageArtifacts") +#@ load("common.lib.yml", "checkoutCode", "uploadArtifacts", "nugetPackages", "actionDownloadArtifact", "fetchPackageArtifacts") #@ unityPkgName = "io.realm.unity-${{ inputs.version }}.tgz" diff --git a/.github/templates/codeql.yml b/.github/templates/codeql.yml index 3d0b03e875..efb8df8004 100644 --- a/.github/templates/codeql.yml +++ b/.github/templates/codeql.yml @@ -1,5 +1,5 @@ #@ load("@ytt:template", "template") -#@ load("common.lib.yml", "configuration", "nugetPackages", "checkoutCode", "actionCodeQLInit", "actionCodeQLAnalyze", "actionSetupMSBuild") +#@ load("common.lib.yml", "configuration", "nugetPackages", "checkoutCode", "actionCodeQLInit", "actionCodeQLAnalyze", "actionSetupMSBuild", "setupAndroid", "setupWorkloads") #@ def runCodeQL(language, buildSteps = []): - name: Initialize CodeQL @@ -20,6 +20,8 @@ #@ end #@ def buildPackages(): + - #@ template.replace(setupAndroid()) + - #@ setupWorkloads('tvos ios maccatalyst android') - name: Add msbuild to PATH uses: #@ actionSetupMSBuild #@ for pkgName in nugetPackages: @@ -45,6 +47,9 @@ name: "CodeQL" - '.github/workflows/codeql.yml' env: REALM_DISABLE_ANALYTICS: true +concurrency: + group: ${{ github.head_ref || github.run_id }} + cancel-in-progress: true jobs: analyze-csharp: name: Analyze C# diff --git a/.github/templates/common.lib.yml b/.github/templates/common.lib.yml index d789125ab4..e44f324fb9 100644 --- a/.github/templates/common.lib.yml +++ b/.github/templates/common.lib.yml @@ -1,7 +1,8 @@ #@ load("@ytt:template", "template") #@ configuration = "Release" -#@ nugetPackages = [ 'Realm', 'Realm.UnityUtils', 'Realm.UnityWeaver' ] +#@ publishedPackages = [ 'Realm.PlatformHelpers', 'Realm' ] +#@ nugetPackages = publishedPackages + [ 'Realm.UnityUtils', 'Realm.UnityWeaver' ] #@ actionCheckout = "actions/checkout@v3" #@ actionCache = "nirinchev/cache@29e8e4dd9148ea81f9e188480132072cb6cc92d8" #@ actionUploadArtifact = "actions/upload-artifact@v3" @@ -15,6 +16,7 @@ #@ actionAWSConfigureCredentials = "aws-actions/configure-aws-credentials@v1-node16" #@ actionReleaseToSlack = "realm/ci-actions/release-to-slack@729a80d203351eab7df4eca564daa275e76ec52f" #@ actionSetupXcode = "maxim-lobanov/setup-xcode@9a697e2b393340c3cacd97468baa318e4c883d98" +#@ actionSetupAndroid = "android-actions/setup-android@7c5672355aaa8fde5f97a91aa9a99616d1ace6bc" #@ androidABIs = [ 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' ] #@ windowsArchs = [ 'Win32', 'x64', 'ARM64' ] @@ -132,7 +134,7 @@ with: - name: Install sleet run: dotnet tool install -g sleet - #@ template.replace(configureAWSCredentials("NUGET_S3_ACCESS_KEY", "NUGET_S3_SECRET_KEY")) -#@ for pkg in [ "Realm" ]: +#@ for pkg in publishedPackages: #@ pkg = pkg + ".${{ " + versionExpression + " }}" #@ pkgPath = "" if expectShortPath else pkg + "/" - name: #@ "NuGet Publish " + pkg @@ -215,4 +217,32 @@ with: run: #@ "npm publish ${{ github.workspace }}/Realm/packages/" + pkgPath + package + " --tag " + tag env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} -#@ end \ No newline at end of file +#@ end +--- +#@ def fetchPackageArtifacts(versionExpression = "inputs.version", packages = publishedPackages): +#@ for pkg in packages: + - name: #@ "Fetch " + pkg + uses: #@ actionDownloadArtifact + with: + name: #@ pkg + ".${{ " + versionExpression + " }}" + path: ${{ github.workspace }}/Realm/packages/ +#@ end +#@ end +--- +#@ def setupWorkloads(workloads = 'maui'): +name: Setup workloads +run: #@ "dotnet workload install " + workloads +#@ end +--- +#@ def restoreWorkloads(workingDirectory = 'Realm/Realm.PlatformHelpers'): +name: Restore workloads +run: dotnet workload restore +working-directory: #@ "${{ github.workspace }}/" + workingDirectory +#@ end +--- +#@ def setupAndroid(): + - name: Setup Android + uses: #@ actionSetupAndroid + - name: Install SDK platform 21 + run: sdkmanager --install "platforms;android-21" +#@ end diff --git a/.github/templates/main.yml b/.github/templates/main.yml index f83aadb20e..485eb3bdae 100644 --- a/.github/templates/main.yml +++ b/.github/templates/main.yml @@ -1,17 +1,8 @@ #@ load("@ytt:template", "template") -#@ load("common.lib.yml", "checkoutCode", "uploadArtifacts", "uploadPackagesToSleet", "cleanupWorkspace", "dotnetPublish", "actionDownloadArtifact") +#@ load("common.lib.yml", "checkoutCode", "uploadArtifacts", "uploadPackagesToSleet", "cleanupWorkspace", "dotnetPublish", "actionDownloadArtifact", "fetchPackageArtifacts") #@ load("test.lib.yml", "dotnetBuildTests") #@ load("build.lib.yml", "deployBaas", "cleanupBaas", "runTests", "runNetCoreTests", "ignoreSkippedJobsCondition", "buildUnity") -#@ def fetchPackageArtifacts(): -#@ for pkg in [ "Realm" ]: - - name: #@ "Fetch " + pkg - uses: #@ actionDownloadArtifact - with: - name: #@ pkg + ".${{ needs.build-packages.outputs.package_version }}" - path: ${{ github.workspace }}/Realm/packages/ -#@ end -#@ end --- name: main "on": @@ -49,7 +40,7 @@ jobs: if: #@ ignoreSkippedJobsCondition + " && (github.event_name == 'push' || github.event.inputs.publish-prerelease)" steps: - #@ template.replace(checkoutCode(False, False)) - - #@ template.replace(fetchPackageArtifacts()) + - #@ template.replace(fetchPackageArtifacts("needs.build-packages.outputs.package_version")) - #@ template.replace(uploadPackagesToSleet("needs.build-packages.outputs.package_version", True)) _: #@ template.replace(buildUnity()) _: #@ template.replace(runTests(".NET Framework")) @@ -68,7 +59,7 @@ jobs: if: #@ ignoreSkippedJobsCondition steps: - #@ template.replace(checkoutCode()) - - #@ template.replace(fetchPackageArtifacts()) + - #@ template.replace(fetchPackageArtifacts("needs.build-packages.outputs.package_version")) - #@ template.replace(dotnetPublish("Tests/Tests.XUnit", "net6.0", "win-x64", { "RestoreConfigFile": "Tests/Test.NuGet.Config", "UseRealmNupkgsWithVersion": "${{ needs.build-packages.outputs.package_version }}" })) - name: Run Tests run: dotnet test ${{ steps.dotnet-publish.outputs.executable-path }}/Tests.XUnit.dll --logger GitHubActions @@ -85,7 +76,7 @@ jobs: steps: - #@ template.replace(cleanupWorkspace()) - #@ template.replace(checkoutCode()) - - #@ template.replace(fetchPackageArtifacts()) + - #@ template.replace(fetchPackageArtifacts("needs.build-packages.outputs.package_version")) - #@ template.replace(dotnetBuildTests("Tests/Benchmarks/PerformanceTests", "net6.0", "linux-x64", "needs.build-packages.outputs.package_version")) - name: Run the tests run: #@ "${{ steps.dotnet-publish.outputs.executable-path }}/PerformanceTests -f \"*\" --join" diff --git a/.github/templates/publish-release.yml b/.github/templates/publish-release.yml index 2b896e0510..73c8551e61 100644 --- a/.github/templates/publish-release.yml +++ b/.github/templates/publish-release.yml @@ -94,6 +94,7 @@ jobs: - #@ template.replace(downloadAllArtifacts()) - #@ template.replace(readVersionFromPackage()) - #@ template.replace(uploadDocsToS3()) + - #@ template.replace(uploadToNuget("Realm.PlatformHelpers")) - #@ template.replace(uploadToNuget("Realm")) - #@ template.replace(uploadToNpm()) - #@ template.replace(mergeReleasePR()) diff --git a/.github/templates/test-android.yml b/.github/templates/test-android.yml index 2618ad93f9..10d93348b5 100644 --- a/.github/templates/test-android.yml +++ b/.github/templates/test-android.yml @@ -1,6 +1,6 @@ #@ load("@ytt:template", "template") -#@ load("common.lib.yml", "checkoutCode", "configureAWSCredentials") -#@ load("test.lib.yml", "fetchPackageArtifacts", "baasTestArgs", "publishTestsResults", "testDefinition", "buildTests", "prepareTest") +#@ load("common.lib.yml", "checkoutCode", "configureAWSCredentials", "fetchPackageArtifacts", "setupWorkloads") +#@ load("test.lib.yml", "baasTestArgs", "publishTestsResults", "testDefinition", "buildTests", "prepareTest") --- name: test-android @@ -32,9 +32,7 @@ jobs: steps: - #@ template.replace(checkoutCode()) - #@ template.replace(fetchPackageArtifacts()) - - name: Setup workloads - run: | - dotnet workload install maui + - #@ setupWorkloads() - name: Build the tests run: #@ "dotnet publish Tests/Tests.Maui -c Release -f net6.0-android -p:RestoreConfigFile=Tests/Test.NuGet.Config -p:UseRealmNupkgsWithVersion=${{ inputs.version }}" - #@ template.replace(configureAWSCredentials("AWS_DEVICEFARM_ACCESS_KEY_ID", "AWS_DEVICEFARM_SECRET_ACCESS_KEY", "us-west-2")) diff --git a/.github/templates/test-ios.yml b/.github/templates/test-ios.yml index 3bd433fc64..b06fedfeb5 100644 --- a/.github/templates/test-ios.yml +++ b/.github/templates/test-ios.yml @@ -1,6 +1,6 @@ #@ load("@ytt:template", "template") -#@ load("common.lib.yml", "checkoutCode", "configuration", "actionRuniOSSimulator") -#@ load("test.lib.yml", "fetchPackageArtifacts", "baasTestArgs", "publishTestsResults", "testDefinition", "buildTests", "prepareTest") +#@ load("common.lib.yml", "checkoutCode", "configuration", "actionRuniOSSimulator", "fetchPackageArtifacts", "setupWorkloads") +#@ load("test.lib.yml", "baasTestArgs", "publishTestsResults", "testDefinition", "buildTests", "prepareTest") --- name: test-ios @@ -34,9 +34,7 @@ jobs: run: | sudo xcode-select -s "/Applications/Xcode_14.3.app" echo "MD_APPLE_SDK_ROOT=/Applications/Xcode_14.3.app" >> $GITHUB_ENV - - name: Setup workloads - run: | - dotnet workload install maui + - #@ setupWorkloads() - name: Build the tests run: #@ "dotnet build Tests/Tests.Maui -c " + configuration + " -f net6.0-ios -p:RestoreConfigFile=Tests/Test.NuGet.Config -p:UseRealmNupkgsWithVersion=${{ inputs.version }}" - name: Run the tests diff --git a/.github/templates/test-macos.yml b/.github/templates/test-macos.yml index 38c759e333..2b3cda6266 100644 --- a/.github/templates/test-macos.yml +++ b/.github/templates/test-macos.yml @@ -1,6 +1,6 @@ #@ load("@ytt:template", "template") -#@ load("common.lib.yml", "checkoutCode", "configuration") -#@ load("test.lib.yml", "fetchPackageArtifacts", "baasTestArgs", "publishTestsResults", "testDefinition", "buildTests", "prepareTest") +#@ load("common.lib.yml", "checkoutCode", "configuration", "fetchPackageArtifacts", "setupWorkloads") +#@ load("test.lib.yml", "baasTestArgs", "publishTestsResults", "testDefinition", "buildTests", "prepareTest") --- name: test-macos @@ -23,9 +23,7 @@ jobs: steps: - #@ template.replace(checkoutCode()) - #@ template.replace(fetchPackageArtifacts()) - - name: Setup workloads - run: | - dotnet workload install maui + - #@ setupWorkloads() - name: Build the tests run: #@ "dotnet build Tests/Tests.Maui -c " + configuration + " -f net6.0-maccatalyst -p:RestoreConfigFile=Tests/Test.NuGet.Config -p:UseRealmNupkgsWithVersion=${{ inputs.version }}" - name: Run the tests diff --git a/.github/templates/test-source-generation.yml b/.github/templates/test-source-generation.yml index b070e9cfc1..5938e8536f 100644 --- a/.github/templates/test-source-generation.yml +++ b/.github/templates/test-source-generation.yml @@ -1,5 +1,5 @@ #@ load("@ytt:template", "template") -#@ load("common.lib.yml", "checkoutCode", "dotnetPublish") +#@ load("common.lib.yml", "checkoutCode", "dotnetPublish", "setupWorkloads") #@ load("test.lib.yml", "publishTestsResults") --- @@ -13,6 +13,7 @@ jobs: timeout-minutes: 45 steps: - #@ template.replace(checkoutCode()) + - #@ setupWorkloads('tvos ios maccatalyst android') - #@ template.replace(dotnetPublish("Tests/SourceGenerators/Realm.SourceGenerator.Tests", "net6.0", "win-x64")) - name: Run the tests run: #@ "${{ steps.dotnet-publish.outputs.executable-path }}/Realm.SourceGenerator.Tests --result=TestResults.SourceGeneration.xml" diff --git a/.github/templates/test-tvos.yml b/.github/templates/test-tvos.yml index 50faa8bff4..6a4aea1502 100644 --- a/.github/templates/test-tvos.yml +++ b/.github/templates/test-tvos.yml @@ -1,6 +1,6 @@ #@ load("@ytt:template", "template") #@ load("common.lib.yml", "checkoutCode", "configuration", "actionRuniOSSimulator") -#@ load("test.lib.yml", "fetchPackageArtifacts", "baasTestArgs", "publishTestsResults", "testDefinition", "buildTests", "prepareTest") +#@ load("test.lib.yml", "baasTestArgs", "publishTestsResults", "testDefinition", "buildTests", "prepareTest") --- name: test-tvos diff --git a/.github/templates/test-woven-classes.yml b/.github/templates/test-woven-classes.yml index 0f70b6779f..ab33fb2a12 100644 --- a/.github/templates/test-woven-classes.yml +++ b/.github/templates/test-woven-classes.yml @@ -1,6 +1,6 @@ #@ load("@ytt:template", "template") -#@ load("common.lib.yml", "checkoutCode") -#@ load("test.lib.yml", "fetchPackageArtifacts", "baasTestArgs", "publishTestsResults", "testDefinition", "buildTests", "wovenClassesBuildTests") +#@ load("common.lib.yml", "checkoutCode", "fetchPackageArtifacts") +#@ load("test.lib.yml", "baasTestArgs", "publishTestsResults", "testDefinition", "buildTests", "wovenClassesBuildTests") --- name: test-woven-classes diff --git a/.github/templates/test.lib.yml b/.github/templates/test.lib.yml index ec9fe86f9d..fde049e7ed 100644 --- a/.github/templates/test.lib.yml +++ b/.github/templates/test.lib.yml @@ -1,15 +1,5 @@ #@ load("@ytt:template", "template") -#@ load("common.lib.yml", "actionDownloadArtifact", "msbuild", "dotnetPublish", "fetchWrapperBinaries", "checkoutCode") - -#@ def fetchPackageArtifacts(versionExpression = "inputs.version", packages = [ "Realm" ]): -#@ for pkg in packages: - - name: #@ "Fetch " + pkg - uses: #@ actionDownloadArtifact - with: - name: #@ pkg + ".${{ " + versionExpression + " }}" - path: ${{ github.workspace }}/Realm/packages/ -#@ end -#@ end +#@ load("common.lib.yml", "actionDownloadArtifact", "msbuild", "dotnetPublish", "fetchWrapperBinaries", "checkoutCode", "fetchPackageArtifacts") #@ def baasTestArgs(differentiator): #@ return " --baasurl=${{ inputs.realmUrl }} --baascluster=${{ inputs.clusterName }} --baasapikey=${{ secrets.AtlasPublicKey}} --baasprivateapikey=${{ secrets.AtlasPrivateKey}} --baasprojectid=${{ secrets.AtlasProjectId }} --baasdifferentiator=" + differentiator diff --git a/.github/workflows/build-packages.yml b/.github/workflows/build-packages.yml index fd4b995551..b69cd93f88 100755 --- a/.github/workflows/build-packages.yml +++ b/.github/workflows/build-packages.yml @@ -29,6 +29,12 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Setup Android + uses: android-actions/setup-android@7c5672355aaa8fde5f97a91aa9a99616d1ace6bc + - name: Install SDK platform 21 + run: sdkmanager --install "platforms;android-21" + - name: Setup workloads + run: dotnet workload install tvos ios maccatalyst android - name: Set version suffix id: set-version-suffix run: | @@ -148,6 +154,8 @@ jobs: - name: Add msbuild to PATH uses: microsoft/setup-msbuild@0b44c6745b7e81956596964100aadb92d667c497 if: ${{ runner.os == 'Windows' }} + - name: Build Realm/Realm.PlatformHelpers + run: msbuild Realm/Realm.PlatformHelpers -t:Pack -p:Configuration=Release -restore -p:PackageOutputPath=${{ github.workspace }}/Realm/packages -p:VersionSuffix=${{ steps.set-version-suffix.outputs.build_suffix }} - name: Build Realm/Realm run: msbuild Realm/Realm -t:Pack -p:Configuration=Release -restore -p:PackageOutputPath=${{ github.workspace }}/Realm/packages -p:VersionSuffix=${{ steps.set-version-suffix.outputs.build_suffix }} - name: Build Realm/Realm.UnityUtils @@ -161,6 +169,13 @@ jobs: pkgVersion=$(find . -type f -regex ".*Realm.[1-9].*.nupkg" -exec basename {} \; | sed -n 's/Realm\.\(.*\)\.nupkg$/\1/p') echo "version=$pkgVersion" >> $GITHUB_OUTPUT shell: bash + - name: Store artifacts for Realm.PlatformHelpers.${{ steps.get-version.outputs.version }} + uses: actions/upload-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ steps.get-version.outputs.version }} + path: ${{ github.workspace }}/Realm/packages/Realm.PlatformHelpers.${{ steps.get-version.outputs.version }}.*nupkg + retention-days: ${{ github.event_name != 'pull_request' && 30 || 1 }} + if-no-files-found: error - name: Store artifacts for Realm.${{ steps.get-version.outputs.version }} uses: actions/upload-artifact@v3 with: diff --git a/.github/workflows/build-unity.yml b/.github/workflows/build-unity.yml index 62c08ceb2b..178da4b8a0 100755 --- a/.github/workflows/build-unity.yml +++ b/.github/workflows/build-unity.yml @@ -23,6 +23,11 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ inputs.version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index ce37ddb2b7..6311cad7ab 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -14,6 +14,9 @@ name: CodeQL - .github/workflows/codeql.yml env: REALM_DISABLE_ANALYTICS: true +concurrency: + group: ${{ github.head_ref || github.run_id }} + cancel-in-progress: true jobs: analyze-csharp: name: Analyze C# @@ -38,8 +41,16 @@ jobs: query-filters: - exclude: cs/call-to-unmanaged-code - exclude: cs/unmanaged-code + - name: Setup Android + uses: android-actions/setup-android@7c5672355aaa8fde5f97a91aa9a99616d1ace6bc + - name: Install SDK platform 21 + run: sdkmanager --install "platforms;android-21" + - name: Setup workloads + run: dotnet workload install tvos ios maccatalyst android - name: Add msbuild to PATH uses: microsoft/setup-msbuild@0b44c6745b7e81956596964100aadb92d667c497 + - name: Build Realm.PlatformHelpers + run: msbuild Realm/Realm.PlatformHelpers -p:UseSharedCompilation=false -restore -p:Configuration=Release - name: Build Realm run: msbuild Realm/Realm -p:UseSharedCompilation=false -restore -p:Configuration=Release - name: Build Realm.UnityUtils diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9c6fe31ac3..4f35d9d063 100755 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -47,6 +47,11 @@ jobs: with: submodules: false ref: ${{ github.event.pull_request.head.sha }} + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ needs.build-packages.outputs.package_version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: @@ -64,6 +69,8 @@ jobs: aws-access-key-id: ${{ secrets.NUGET_S3_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.NUGET_S3_SECRET_KEY }} aws-region: us-east-1 + - name: NuGet Publish Realm.PlatformHelpers.${{ needs.build-packages.outputs.package_version }} + run: sleet push ${{ github.workspace }}/Realm/packages/Realm.PlatformHelpers.${{ needs.build-packages.outputs.package_version }}.nupkg --config ${{ github.workspace }}/.github/sleet.json --source NugetSource - name: NuGet Publish Realm.${{ needs.build-packages.outputs.package_version }} run: sleet push ${{ github.workspace }}/Realm/packages/Realm.${{ needs.build-packages.outputs.package_version }}.nupkg --config ${{ github.workspace }}/.github/sleet.json --source NugetSource build-unity: @@ -195,6 +202,11 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ needs.build-packages.outputs.package_version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: @@ -245,6 +257,11 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ needs.build-packages.outputs.package_version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: diff --git a/.github/workflows/publish-prerelease.yml b/.github/workflows/publish-prerelease.yml index 705855fcb1..98b3abf6f8 100644 --- a/.github/workflows/publish-prerelease.yml +++ b/.github/workflows/publish-prerelease.yml @@ -36,6 +36,8 @@ jobs: aws-access-key-id: ${{ secrets.NUGET_S3_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.NUGET_S3_SECRET_KEY }} aws-region: us-east-1 + - name: NuGet Publish Realm.PlatformHelpers.${{ steps.get-version.outputs.version }} + run: sleet push ${{ github.workspace }}/Realm/packages/Realm.PlatformHelpers.${{ steps.get-version.outputs.version }}/Realm.PlatformHelpers.${{ steps.get-version.outputs.version }}.nupkg --config ${{ github.workspace }}/.github/sleet.json --source NugetSource - name: NuGet Publish Realm.${{ steps.get-version.outputs.version }} run: sleet push ${{ github.workspace }}/Realm/packages/Realm.${{ steps.get-version.outputs.version }}/Realm.${{ steps.get-version.outputs.version }}.nupkg --config ${{ github.workspace }}/.github/sleet.json --source NugetSource - uses: actions/setup-node@16352bb09bc672a073e326c2cc1d3d7d2a3e577e diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index 8826c99939..4d8c4db09d 100755 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -38,6 +38,8 @@ jobs: { aws s3 sync --acl public-read "${{ github.workspace }}\Realm\packages\_site" s3://realm-sdks/docs/realm-sdks/dotnet/$ver/ } + - name: NuGet Publish Realm.PlatformHelpers.${{ steps.get-version.outputs.version }} + run: dotnet nuget push ${{ github.workspace }}/Realm/packages/Realm.PlatformHelpers.${{ steps.get-version.outputs.version }}/Realm.PlatformHelpers.${{ steps.get-version.outputs.version }}.nupkg --skip-duplicate --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json - name: NuGet Publish Realm.${{ steps.get-version.outputs.version }} run: dotnet nuget push ${{ github.workspace }}/Realm/packages/Realm.${{ steps.get-version.outputs.version }}/Realm.${{ steps.get-version.outputs.version }}.nupkg --skip-duplicate --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json - uses: actions/setup-node@16352bb09bc672a073e326c2cc1d3d7d2a3e577e diff --git a/.github/workflows/test-android.yml b/.github/workflows/test-android.yml index 834331289c..8e9353c80f 100755 --- a/.github/workflows/test-android.yml +++ b/.github/workflows/test-android.yml @@ -47,6 +47,11 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ inputs.version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: @@ -106,14 +111,18 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ inputs.version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: name: Realm.${{ inputs.version }} path: ${{ github.workspace }}/Realm/packages/ - name: Setup workloads - run: | - dotnet workload install maui + run: dotnet workload install maui - name: Build the tests run: dotnet publish Tests/Tests.Maui -c Release -f net6.0-android -p:RestoreConfigFile=Tests/Test.NuGet.Config -p:UseRealmNupkgsWithVersion=${{ inputs.version }} - name: Configure AWS Credentials diff --git a/.github/workflows/test-ios.yml b/.github/workflows/test-ios.yml index bc55442d54..1f498a3f09 100755 --- a/.github/workflows/test-ios.yml +++ b/.github/workflows/test-ios.yml @@ -39,6 +39,11 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ inputs.version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: @@ -90,6 +95,11 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ inputs.version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: @@ -101,8 +111,7 @@ jobs: sudo xcode-select -s "/Applications/Xcode_14.3.app" echo "MD_APPLE_SDK_ROOT=/Applications/Xcode_14.3.app" >> $GITHUB_ENV - name: Setup workloads - run: | - dotnet workload install maui + run: dotnet workload install maui - name: Build the tests run: dotnet build Tests/Tests.Maui -c Release -f net6.0-ios -p:RestoreConfigFile=Tests/Test.NuGet.Config -p:UseRealmNupkgsWithVersion=${{ inputs.version }} - name: Run the tests diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index a57b467dad..c279d1e753 100755 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -39,6 +39,11 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ inputs.version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: @@ -85,14 +90,18 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ inputs.version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: name: Realm.${{ inputs.version }} path: ${{ github.workspace }}/Realm/packages/ - name: Setup workloads - run: | - dotnet workload install maui + run: dotnet workload install maui - name: Build the tests run: dotnet build Tests/Tests.Maui -c Release -f net6.0-maccatalyst -p:RestoreConfigFile=Tests/Test.NuGet.Config -p:UseRealmNupkgsWithVersion=${{ inputs.version }} - name: Run the tests diff --git a/.github/workflows/test-net-core.yml b/.github/workflows/test-net-core.yml index 1f84c8e847..7c8e704b7d 100755 --- a/.github/workflows/test-net-core.yml +++ b/.github/workflows/test-net-core.yml @@ -64,6 +64,11 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/msvc.json" - name: Cleanup Workspace run: git clean -fdx + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ inputs.version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: diff --git a/.github/workflows/test-net-framework.yml b/.github/workflows/test-net-framework.yml index 7dfe305f7e..dd358438d3 100755 --- a/.github/workflows/test-net-framework.yml +++ b/.github/workflows/test-net-framework.yml @@ -39,6 +39,11 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ inputs.version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: diff --git a/.github/workflows/test-source-generation.yml b/.github/workflows/test-source-generation.yml index 95f33aa68a..32db8b2767 100644 --- a/.github/workflows/test-source-generation.yml +++ b/.github/workflows/test-source-generation.yml @@ -16,6 +16,8 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Setup workloads + run: dotnet workload install tvos ios maccatalyst android - name: Publish Tests/SourceGenerators/Realm.SourceGenerator.Tests run: dotnet publish Tests/SourceGenerators/Realm.SourceGenerator.Tests -c Release -f net6.0 -r win-x64 --no-self-contained - name: Output executable path diff --git a/.github/workflows/test-tvos.yml b/.github/workflows/test-tvos.yml index 3f41f72d37..0702c89d38 100755 --- a/.github/workflows/test-tvos.yml +++ b/.github/workflows/test-tvos.yml @@ -39,6 +39,11 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ inputs.version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: diff --git a/.github/workflows/test-uwp-managed.yml b/.github/workflows/test-uwp-managed.yml index 908e9ae092..0559637d6a 100755 --- a/.github/workflows/test-uwp-managed.yml +++ b/.github/workflows/test-uwp-managed.yml @@ -43,6 +43,11 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ inputs.version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: diff --git a/.github/workflows/test-woven-classes.yml b/.github/workflows/test-woven-classes.yml index 0ed301bdc6..b9670c41c9 100644 --- a/.github/workflows/test-woven-classes.yml +++ b/.github/workflows/test-woven-classes.yml @@ -39,6 +39,11 @@ jobs: run: echo "::add-matcher::.github/problem-matchers/csc.json" - name: Register msvc problem matcher run: echo "::add-matcher::.github/problem-matchers/msvc.json" + - name: Fetch Realm.PlatformHelpers + uses: actions/download-artifact@v3 + with: + name: Realm.PlatformHelpers.${{ inputs.version }} + path: ${{ github.workspace }}/Realm/packages/ - name: Fetch Realm uses: actions/download-artifact@v3 with: diff --git a/Realm - Windows.sln b/Realm - Windows.sln index 677f1d0ffc..24110f6aac 100644 --- a/Realm - Windows.sln +++ b/Realm - Windows.sln @@ -89,6 +89,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tests.Maui", "Tests\Tests.M EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DeployApps", "Tools\DeployApps\DeployApps.csproj", "{10026D09-FC37-48B3-AAEA-B322AA6D89CE}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Realm.PlatformHelpers", "Realm\Realm.PlatformHelpers\Realm.PlatformHelpers.csproj", "{536C3309-F848-4485-ABF3-56DCD9C9F9E8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests.XamarinTVOS", "Tests\Tests.XamarinTVOS\Tests.XamarinTVOS.csproj", "{80B9697D-0C57-40E8-A71A-F5E81C7BF467}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -287,6 +291,7 @@ Global {CDAB5FEE-CC5D-4EFA-807F-F1B974047BE7}.RelWithDebInfo|x86.Build.0 = Release|Any CPU {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|Any CPU.Deploy.0 = Debug|Any CPU {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|ARM.ActiveCfg = Debug|Any CPU {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|ARM.Build.0 = Debug|Any CPU {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|iPhone.ActiveCfg = Debug|Any CPU @@ -1373,6 +1378,102 @@ Global {10026D09-FC37-48B3-AAEA-B322AA6D89CE}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {10026D09-FC37-48B3-AAEA-B322AA6D89CE}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {10026D09-FC37-48B3-AAEA-B322AA6D89CE}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Debug|ARM.ActiveCfg = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Debug|ARM.Build.0 = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Debug|iPhone.Build.0 = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Debug|x64.ActiveCfg = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Debug|x64.Build.0 = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Debug|x86.ActiveCfg = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Debug|x86.Build.0 = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.MinSizeRel|ARM.ActiveCfg = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.MinSizeRel|ARM.Build.0 = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.MinSizeRel|iPhone.ActiveCfg = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.MinSizeRel|iPhone.Build.0 = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.MinSizeRel|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.MinSizeRel|iPhoneSimulator.Build.0 = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.MinSizeRel|x64.Build.0 = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.MinSizeRel|x86.Build.0 = Debug|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Release|Any CPU.Build.0 = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Release|ARM.ActiveCfg = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Release|ARM.Build.0 = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Release|iPhone.ActiveCfg = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Release|iPhone.Build.0 = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Release|x64.ActiveCfg = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Release|x64.Build.0 = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Release|x86.ActiveCfg = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.Release|x86.Build.0 = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.RelWithDebInfo|ARM.ActiveCfg = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.RelWithDebInfo|ARM.Build.0 = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.RelWithDebInfo|iPhone.ActiveCfg = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.RelWithDebInfo|iPhone.Build.0 = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.RelWithDebInfo|iPhoneSimulator.ActiveCfg = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.RelWithDebInfo|iPhoneSimulator.Build.0 = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {536C3309-F848-4485-ABF3-56DCD9C9F9E8}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Debug|ARM.Build.0 = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Debug|iPhone.ActiveCfg = Debug|iPhone + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Debug|iPhone.Build.0 = Debug|iPhone + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Debug|x64.Build.0 = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Debug|x86.Build.0 = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.MinSizeRel|Any CPU.ActiveCfg = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.MinSizeRel|Any CPU.Build.0 = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.MinSizeRel|ARM.ActiveCfg = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.MinSizeRel|ARM.Build.0 = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.MinSizeRel|iPhone.ActiveCfg = Debug|iPhone + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.MinSizeRel|iPhone.Build.0 = Debug|iPhone + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.MinSizeRel|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.MinSizeRel|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.MinSizeRel|x64.ActiveCfg = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.MinSizeRel|x64.Build.0 = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.MinSizeRel|x86.ActiveCfg = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.MinSizeRel|x86.Build.0 = Debug|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Release|Any CPU.Build.0 = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Release|ARM.ActiveCfg = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Release|ARM.Build.0 = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Release|iPhone.ActiveCfg = Release|iPhone + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Release|iPhone.Build.0 = Release|iPhone + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Release|x64.ActiveCfg = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Release|x64.Build.0 = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Release|x86.ActiveCfg = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.Release|x86.Build.0 = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.RelWithDebInfo|Any CPU.ActiveCfg = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.RelWithDebInfo|Any CPU.Build.0 = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.RelWithDebInfo|ARM.ActiveCfg = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.RelWithDebInfo|ARM.Build.0 = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.RelWithDebInfo|iPhone.ActiveCfg = Release|iPhone + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.RelWithDebInfo|iPhone.Build.0 = Release|iPhone + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.RelWithDebInfo|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.RelWithDebInfo|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.RelWithDebInfo|x64.ActiveCfg = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.RelWithDebInfo|x64.Build.0 = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.RelWithDebInfo|x86.ActiveCfg = Release|iPhoneSimulator + {80B9697D-0C57-40E8-A71A-F5E81C7BF467}.RelWithDebInfo|x86.Build.0 = Release|iPhoneSimulator EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1406,6 +1507,8 @@ Global {3C3CEB09-94C5-4FE4-BF75-1CEF4EAF6E47} = {EC97E75C-3A79-4B00-95BD-218D71C58746} {C84EBA8B-5F7F-4519-BB34-EDE93E275D66} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} {10026D09-FC37-48B3-AAEA-B322AA6D89CE} = {073F6C2D-FECB-41E3-BEA3-1685FAA580DB} + {536C3309-F848-4485-ABF3-56DCD9C9F9E8} = {50F058DF-2B41-403C-BB73-8B4180D1CF39} + {80B9697D-0C57-40E8-A71A-F5E81C7BF467} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BE5E0028-B74D-4BE1-B1DA-5FFCC8469C41} diff --git a/Realm.sln b/Realm.sln index 23fa8bdc78..ae84417497 100644 --- a/Realm.sln +++ b/Realm.sln @@ -44,44 +44,46 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SourceGenerators", "SourceG EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests.XamarinTVOS", "Tests\Tests.XamarinTVOS\Tests.XamarinTVOS.csproj", "{80B9697D-0C57-40E8-A71A-F5E81C7BF467}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DeployApps", "Tools\DeployApps\DeployApps.csproj", "{56029D1A-0AF6-4535-9D6A-CD5CD61325C6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DeployApps", "Tools\DeployApps\DeployApps.csproj", "{56029D1A-0AF6-4535-9D6A-CD5CD61325C6}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Realm.Fody", "Realm\Realm.Fody\Realm.Fody.csproj", "{2AC1DA0E-2B6E-4DBA-A73F-6784BA0A7DB4}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Realm.Fody", "Realm\Realm.Fody\Realm.Fody.csproj", "{2AC1DA0E-2B6E-4DBA-A73F-6784BA0A7DB4}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Tests.XamarinMac", "Tests\Tests.XamarinMac\Tests.XamarinMac.csproj", "{EEB44902-3249-4945-8ACA-125912E6F2F5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests.XamarinMac", "Tests\Tests.XamarinMac\Tests.XamarinMac.csproj", "{3A6CC342-40D0-4487-9964-DDAEBA628199}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Realm.FakeForWeaverTests", "Tests\Weaver\Realm.FakeForWeaverTests\Realm.FakeForWeaverTests.csproj", "{7174D68E-E76D-4A4F-9F9A-601F5FB2DB65}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Realm.FakeForWeaverTests", "Tests\Weaver\Realm.FakeForWeaverTests\Realm.FakeForWeaverTests.csproj", "{7174D68E-E76D-4A4F-9F9A-601F5FB2DB65}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "RealmFreeAssemblyToProcess", "Tests\Weaver\RealmFreeAssemblyToProcess\RealmFreeAssemblyToProcess.csproj", "{C04E5F74-83F0-4A2F-981D-A3442B083F40}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RealmFreeAssemblyToProcess", "Tests\Weaver\RealmFreeAssemblyToProcess\RealmFreeAssemblyToProcess.csproj", "{C04E5F74-83F0-4A2F-981D-A3442B083F40}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "AssemblyToProcess", "Tests\Weaver\AssemblyToProcess\AssemblyToProcess.csproj", "{FAD8E779-25DD-4AF1-BEB0-4B8D9696ACAD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AssemblyToProcess", "Tests\Weaver\AssemblyToProcess\AssemblyToProcess.csproj", "{FAD8E779-25DD-4AF1-BEB0-4B8D9696ACAD}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Realm.Fody.Tests", "Tests\Weaver\Realm.Fody.Tests\Realm.Fody.Tests.csproj", "{218C6795-AA18-4861-8613-D022C0C53628}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Realm.Fody.Tests", "Tests\Weaver\Realm.Fody.Tests\Realm.Fody.Tests.csproj", "{218C6795-AA18-4861-8613-D022C0C53628}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "PerformanceTests", "Tests\Benchmarks\PerformanceTests\PerformanceTests.csproj", "{90616AF5-9024-4054-B40B-9A82F8F4DC83}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PerformanceTests", "Tests\Benchmarks\PerformanceTests\PerformanceTests.csproj", "{90616AF5-9024-4054-B40B-9A82F8F4DC83}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Benchmarks", "Tests\Benchmarks\Benchmarks\Benchmarks.csproj", "{BECF4F60-9741-49A6-BD79-D59664C2682E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Benchmarks", "Tests\Benchmarks\Benchmarks\Benchmarks.csproj", "{BECF4F60-9741-49A6-BD79-D59664C2682E}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Benchmarks.Android", "Tests\Benchmarks\Benchmarks.Android\Benchmarks.Android.csproj", "{197FBF65-C978-4FB4-BB6F-F7D76C320218}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Benchmarks.Android", "Tests\Benchmarks\Benchmarks.Android\Benchmarks.Android.csproj", "{907F4283-1EA9-41FE-B482-9BD2A72F0850}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Benchmarks.iOS", "Tests\Benchmarks\Benchmarks.iOS\Benchmarks.iOS.csproj", "{B7340A22-2989-45EE-B05D-0682B5C43897}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Benchmarks.iOS", "Tests\Benchmarks\Benchmarks.iOS\Benchmarks.iOS.csproj", "{CE887906-33F1-4B47-8E8F-C6A7A60D1372}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Tests.Android", "Tests\Tests.Android\Tests.Android.csproj", "{E14C7032-A542-4A5A-AB5B-62E25F2B105C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests.Android", "Tests\Tests.Android\Tests.Android.csproj", "{10725A22-B22F-46AB-B5C4-7BC505A1E74A}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Tests.XUnit", "Tests\Tests.XUnit\Tests.XUnit.csproj", "{12EFED5B-E168-401E-9BCB-4FBB928720AB}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tests.XUnit", "Tests\Tests.XUnit\Tests.XUnit.csproj", "{12EFED5B-E168-401E-9BCB-4FBB928720AB}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Tests.Maui", "Tests\Tests.Maui\Tests.Maui.csproj", "{B4C6AD4A-DA91-4171-90D8-0F46378EAEBE}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tests.Maui", "Tests\Tests.Maui\Tests.Maui.csproj", "{B4C6AD4A-DA91-4171-90D8-0F46378EAEBE}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "SourceGeneratorAssemblyToProcess", "Tests\SourceGenerators\SourceGeneratorAssemblyToProcess\SourceGeneratorAssemblyToProcess.csproj", "{5466EA2B-2810-4E79-8DA4-BE580832B568}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SourceGeneratorAssemblyToProcess", "Tests\SourceGenerators\SourceGeneratorAssemblyToProcess\SourceGeneratorAssemblyToProcess.csproj", "{5466EA2B-2810-4E79-8DA4-BE580832B568}" EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Realm.SourceGenerator.Tests", "Tests\SourceGenerators\Realm.SourceGenerator.Tests\Realm.SourceGenerator.Tests.csproj", "{641367F9-5149-4E5D-9459-B19DAFC426A8}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Realm.SourceGenerator.Tests", "Tests\SourceGenerators\Realm.SourceGenerator.Tests\Realm.SourceGenerator.Tests.csproj", "{641367F9-5149-4E5D-9459-B19DAFC426A8}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests.UWP", "Tests\Tests.UWP\Tests.UWP.csproj", "{7EFF9E5C-5E74-469B-8DB7-C25C9AF0444E}" ProjectSection(ProjectDependencies) = postProject {2AC1DA0E-2B6E-4DBA-A73F-6784BA0A7DB4} = {2AC1DA0E-2B6E-4DBA-A73F-6784BA0A7DB4} EndProjectSection EndProject -Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "SetupUnityPackage", "Tools\SetupUnityPackage\SetupUnityPackage.csproj", "{A9B5E8CA-E1B8-47E4-89D4-8A55327F4121}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SetupUnityPackage", "Tools\SetupUnityPackage\SetupUnityPackage.csproj", "{A9B5E8CA-E1B8-47E4-89D4-8A55327F4121}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Realm.PlatformHelpers", "Realm\Realm.PlatformHelpers\Realm.PlatformHelpers.csproj", "{D08C71CE-0F5B-4855-A77C-58062A5ECB78}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -315,30 +317,30 @@ Global {2AC1DA0E-2B6E-4DBA-A73F-6784BA0A7DB4}.Release|x64.Build.0 = Release|Any CPU {2AC1DA0E-2B6E-4DBA-A73F-6784BA0A7DB4}.Release|x86.ActiveCfg = Release|Any CPU {2AC1DA0E-2B6E-4DBA-A73F-6784BA0A7DB4}.Release|x86.Build.0 = Release|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Debug|ARM.ActiveCfg = Debug|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Debug|ARM.Build.0 = Debug|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Debug|iPhone.Build.0 = Debug|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Debug|x64.ActiveCfg = Debug|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Debug|x64.Build.0 = Debug|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Debug|x86.ActiveCfg = Debug|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Debug|x86.Build.0 = Debug|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Release|Any CPU.Build.0 = Release|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Release|ARM.ActiveCfg = Release|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Release|ARM.Build.0 = Release|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Release|iPhone.ActiveCfg = Release|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Release|iPhone.Build.0 = Release|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Release|x64.ActiveCfg = Release|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Release|x64.Build.0 = Release|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Release|x86.ActiveCfg = Release|Any CPU - {EEB44902-3249-4945-8ACA-125912E6F2F5}.Release|x86.Build.0 = Release|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Debug|ARM.ActiveCfg = Debug|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Debug|ARM.Build.0 = Debug|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Debug|iPhone.Build.0 = Debug|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Debug|x64.ActiveCfg = Debug|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Debug|x64.Build.0 = Debug|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Debug|x86.ActiveCfg = Debug|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Debug|x86.Build.0 = Debug|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Release|Any CPU.Build.0 = Release|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Release|ARM.ActiveCfg = Release|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Release|ARM.Build.0 = Release|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Release|iPhone.ActiveCfg = Release|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Release|iPhone.Build.0 = Release|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Release|x64.ActiveCfg = Release|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Release|x64.Build.0 = Release|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Release|x86.ActiveCfg = Release|Any CPU + {3A6CC342-40D0-4487-9964-DDAEBA628199}.Release|x86.Build.0 = Release|Any CPU {7174D68E-E76D-4A4F-9F9A-601F5FB2DB65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7174D68E-E76D-4A4F-9F9A-601F5FB2DB65}.Debug|Any CPU.Build.0 = Debug|Any CPU {7174D68E-E76D-4A4F-9F9A-601F5FB2DB65}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -483,78 +485,78 @@ Global {BECF4F60-9741-49A6-BD79-D59664C2682E}.Release|x64.Build.0 = Release|Any CPU {BECF4F60-9741-49A6-BD79-D59664C2682E}.Release|x86.ActiveCfg = Release|Any CPU {BECF4F60-9741-49A6-BD79-D59664C2682E}.Release|x86.Build.0 = Release|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Debug|Any CPU.Build.0 = Debug|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Debug|ARM.ActiveCfg = Debug|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Debug|ARM.Build.0 = Debug|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Debug|iPhone.Build.0 = Debug|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Debug|x64.ActiveCfg = Debug|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Debug|x64.Build.0 = Debug|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Debug|x86.ActiveCfg = Debug|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Debug|x86.Build.0 = Debug|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Release|Any CPU.ActiveCfg = Release|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Release|Any CPU.Build.0 = Release|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Release|ARM.ActiveCfg = Release|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Release|ARM.Build.0 = Release|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Release|iPhone.ActiveCfg = Release|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Release|iPhone.Build.0 = Release|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Release|x64.ActiveCfg = Release|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Release|x64.Build.0 = Release|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Release|x86.ActiveCfg = Release|Any CPU - {197FBF65-C978-4FB4-BB6F-F7D76C320218}.Release|x86.Build.0 = Release|Any CPU - {B7340A22-2989-45EE-B05D-0682B5C43897}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Debug|ARM.Build.0 = Debug|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Debug|iPhone.ActiveCfg = Debug|iPhone - {B7340A22-2989-45EE-B05D-0682B5C43897}.Debug|iPhone.Build.0 = Debug|iPhone - {B7340A22-2989-45EE-B05D-0682B5C43897}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Debug|x64.Build.0 = Debug|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Debug|x86.Build.0 = Debug|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Release|Any CPU.Build.0 = Release|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Release|ARM.ActiveCfg = Release|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Release|ARM.Build.0 = Release|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Release|iPhone.ActiveCfg = Release|iPhone - {B7340A22-2989-45EE-B05D-0682B5C43897}.Release|iPhone.Build.0 = Release|iPhone - {B7340A22-2989-45EE-B05D-0682B5C43897}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Release|x64.ActiveCfg = Release|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Release|x64.Build.0 = Release|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Release|x86.ActiveCfg = Release|iPhoneSimulator - {B7340A22-2989-45EE-B05D-0682B5C43897}.Release|x86.Build.0 = Release|iPhoneSimulator - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Debug|ARM.ActiveCfg = Debug|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Debug|ARM.Build.0 = Debug|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Debug|iPhone.Build.0 = Debug|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Debug|x64.ActiveCfg = Debug|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Debug|x64.Build.0 = Debug|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Debug|x86.ActiveCfg = Debug|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Debug|x86.Build.0 = Debug|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Release|Any CPU.Build.0 = Release|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Release|ARM.ActiveCfg = Release|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Release|ARM.Build.0 = Release|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Release|iPhone.ActiveCfg = Release|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Release|iPhone.Build.0 = Release|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Release|x64.ActiveCfg = Release|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Release|x64.Build.0 = Release|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Release|x86.ActiveCfg = Release|Any CPU - {E14C7032-A542-4A5A-AB5B-62E25F2B105C}.Release|x86.Build.0 = Release|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Debug|Any CPU.Build.0 = Debug|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Debug|ARM.ActiveCfg = Debug|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Debug|ARM.Build.0 = Debug|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Debug|iPhone.Build.0 = Debug|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Debug|x64.ActiveCfg = Debug|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Debug|x64.Build.0 = Debug|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Debug|x86.ActiveCfg = Debug|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Debug|x86.Build.0 = Debug|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Release|Any CPU.ActiveCfg = Release|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Release|Any CPU.Build.0 = Release|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Release|ARM.ActiveCfg = Release|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Release|ARM.Build.0 = Release|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Release|iPhone.ActiveCfg = Release|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Release|iPhone.Build.0 = Release|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Release|x64.ActiveCfg = Release|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Release|x64.Build.0 = Release|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Release|x86.ActiveCfg = Release|Any CPU + {907F4283-1EA9-41FE-B482-9BD2A72F0850}.Release|x86.Build.0 = Release|Any CPU + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Debug|ARM.Build.0 = Debug|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Debug|iPhone.ActiveCfg = Debug|iPhone + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Debug|iPhone.Build.0 = Debug|iPhone + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Debug|x64.Build.0 = Debug|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Debug|x86.Build.0 = Debug|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Release|Any CPU.Build.0 = Release|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Release|ARM.ActiveCfg = Release|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Release|ARM.Build.0 = Release|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Release|iPhone.ActiveCfg = Release|iPhone + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Release|iPhone.Build.0 = Release|iPhone + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Release|x64.ActiveCfg = Release|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Release|x64.Build.0 = Release|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Release|x86.ActiveCfg = Release|iPhoneSimulator + {CE887906-33F1-4B47-8E8F-C6A7A60D1372}.Release|x86.Build.0 = Release|iPhoneSimulator + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|ARM.ActiveCfg = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|ARM.Build.0 = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|iPhone.Build.0 = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|x64.ActiveCfg = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|x64.Build.0 = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|x86.ActiveCfg = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Debug|x86.Build.0 = Debug|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Release|Any CPU.Build.0 = Release|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Release|ARM.ActiveCfg = Release|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Release|ARM.Build.0 = Release|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Release|iPhone.ActiveCfg = Release|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Release|iPhone.Build.0 = Release|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Release|x64.ActiveCfg = Release|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Release|x64.Build.0 = Release|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Release|x86.ActiveCfg = Release|Any CPU + {10725A22-B22F-46AB-B5C4-7BC505A1E74A}.Release|x86.Build.0 = Release|Any CPU {12EFED5B-E168-401E-9BCB-4FBB928720AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {12EFED5B-E168-401E-9BCB-4FBB928720AB}.Debug|Any CPU.Build.0 = Debug|Any CPU {12EFED5B-E168-401E-9BCB-4FBB928720AB}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -699,6 +701,30 @@ Global {A9B5E8CA-E1B8-47E4-89D4-8A55327F4121}.Release|x64.Build.0 = Release|Any CPU {A9B5E8CA-E1B8-47E4-89D4-8A55327F4121}.Release|x86.ActiveCfg = Release|Any CPU {A9B5E8CA-E1B8-47E4-89D4-8A55327F4121}.Release|x86.Build.0 = Release|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Debug|ARM.ActiveCfg = Debug|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Debug|ARM.Build.0 = Debug|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Debug|iPhone.Build.0 = Debug|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Debug|x64.ActiveCfg = Debug|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Debug|x64.Build.0 = Debug|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Debug|x86.ActiveCfg = Debug|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Debug|x86.Build.0 = Debug|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Release|Any CPU.Build.0 = Release|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Release|ARM.ActiveCfg = Release|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Release|ARM.Build.0 = Release|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Release|iPhone.ActiveCfg = Release|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Release|iPhone.Build.0 = Release|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Release|x64.ActiveCfg = Release|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Release|x64.Build.0 = Release|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Release|x86.ActiveCfg = Release|Any CPU + {D08C71CE-0F5B-4855-A77C-58062A5ECB78}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -717,29 +743,30 @@ Global {80B9697D-0C57-40E8-A71A-F5E81C7BF467} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} {56029D1A-0AF6-4535-9D6A-CD5CD61325C6} = {A25317DE-BB3A-47CC-8E65-F96C9B6AD984} {2AC1DA0E-2B6E-4DBA-A73F-6784BA0A7DB4} = {50F058DF-2B41-403C-BB73-8B4180D1CF39} - {EEB44902-3249-4945-8ACA-125912E6F2F5} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} - {E14C7032-A542-4A5A-AB5B-62E25F2B105C} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} - {12EFED5B-E168-401E-9BCB-4FBB928720AB} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} - {B4C6AD4A-DA91-4171-90D8-0F46378EAEBE} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} - {7EFF9E5C-5E74-469B-8DB7-C25C9AF0444E} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} + {3A6CC342-40D0-4487-9964-DDAEBA628199} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} {7174D68E-E76D-4A4F-9F9A-601F5FB2DB65} = {4FF9AAE6-210E-41F0-A5E1-8D7C4A864F51} {C04E5F74-83F0-4A2F-981D-A3442B083F40} = {4FF9AAE6-210E-41F0-A5E1-8D7C4A864F51} {FAD8E779-25DD-4AF1-BEB0-4B8D9696ACAD} = {4FF9AAE6-210E-41F0-A5E1-8D7C4A864F51} {218C6795-AA18-4861-8613-D022C0C53628} = {4FF9AAE6-210E-41F0-A5E1-8D7C4A864F51} {90616AF5-9024-4054-B40B-9A82F8F4DC83} = {9F4D5A18-5A85-4031-A73A-472BEF405A18} {BECF4F60-9741-49A6-BD79-D59664C2682E} = {9F4D5A18-5A85-4031-A73A-472BEF405A18} - {197FBF65-C978-4FB4-BB6F-F7D76C320218} = {9F4D5A18-5A85-4031-A73A-472BEF405A18} - {B7340A22-2989-45EE-B05D-0682B5C43897} = {9F4D5A18-5A85-4031-A73A-472BEF405A18} + {907F4283-1EA9-41FE-B482-9BD2A72F0850} = {9F4D5A18-5A85-4031-A73A-472BEF405A18} + {CE887906-33F1-4B47-8E8F-C6A7A60D1372} = {9F4D5A18-5A85-4031-A73A-472BEF405A18} + {10725A22-B22F-46AB-B5C4-7BC505A1E74A} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} + {12EFED5B-E168-401E-9BCB-4FBB928720AB} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} + {B4C6AD4A-DA91-4171-90D8-0F46378EAEBE} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} {5466EA2B-2810-4E79-8DA4-BE580832B568} = {CC933D98-B002-4306-89C4-B1905658D9DE} {641367F9-5149-4E5D-9459-B19DAFC426A8} = {CC933D98-B002-4306-89C4-B1905658D9DE} + {7EFF9E5C-5E74-469B-8DB7-C25C9AF0444E} = {D10BE048-9C20-4B8B-BE5B-48CC55F8BB07} {A9B5E8CA-E1B8-47E4-89D4-8A55327F4121} = {A25317DE-BB3A-47CC-8E65-F96C9B6AD984} + {D08C71CE-0F5B-4855-A77C-58062A5ECB78} = {50F058DF-2B41-403C-BB73-8B4180D1CF39} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BE5E0028-B74D-4BE1-B1DA-5FFCC8469C41} EndGlobalSection GlobalSection(SharedMSBuildProjectFiles) = preSolution + Realm\Realm.Weaver\Realm.Weaver.projitems*{2ac1da0e-2b6e-4dba-a73f-6784ba0a7db4}*SharedItemsImports = 5 Realm\Realm.Weaver\Realm.Weaver.projitems*{89fdb2a1-6fc0-4604-9aeb-8b8dd8a88dec}*SharedItemsImports = 13 Realm\Realm.Weaver\Realm.Weaver.projitems*{9322b1d0-b3f7-4d6a-9947-2fc11d3161a0}*SharedItemsImports = 5 - Realm\Realm.Weaver\Realm.Weaver.projitems*{cdab5fee-cc5d-4efa-807f-f1b974047be7}*SharedItemsImports = 5 EndGlobalSection EndGlobal diff --git a/Realm/AssemblyInfo.props b/Realm/AssemblyInfo.props index 61f9966f5c..e9033fe7f8 100644 --- a/Realm/AssemblyInfo.props +++ b/Realm/AssemblyInfo.props @@ -1,6 +1,6 @@ - Realm .NET + Realm .NET 11.0.0 Realm is a mobile database: a replacement for SQLite Realm Inc. diff --git a/Realm/Realm.PlatformHelpers/Android/DeviceInfo.android.cs b/Realm/Realm.PlatformHelpers/Android/DeviceInfo.android.cs new file mode 100644 index 0000000000..4c8749dc69 --- /dev/null +++ b/Realm/Realm.PlatformHelpers/Android/DeviceInfo.android.cs @@ -0,0 +1,31 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2023 Realm Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////// + +using Android.OS; + +using static Realms.PlatformHelpers.Platform; + +namespace Realms.PlatformHelpers +{ + internal class DeviceInfo : IDeviceInfo + { + public string Name => Build.Manufacturer ?? Unknown; + + public string Version => Build.Model ?? Unknown; + } +} diff --git a/Realm/Realm.PlatformHelpers/Apple/DeviceInfo.ios.cs b/Realm/Realm.PlatformHelpers/Apple/DeviceInfo.ios.cs new file mode 100644 index 0000000000..e972cdfbdb --- /dev/null +++ b/Realm/Realm.PlatformHelpers/Apple/DeviceInfo.ios.cs @@ -0,0 +1,29 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2023 Realm Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////// + +using static Realms.PlatformHelpers.Platform; + +namespace Realms.PlatformHelpers +{ + internal class DeviceInfo : IDeviceInfo + { + public string Name => UIKit.UIDevice.CurrentDevice.Model; + + public string Version => NativeHelpers.GetSysctlProperty("hw.machine") ?? Unknown; + } +} diff --git a/Realm/Realm.PlatformHelpers/Apple/DeviceInfo.mac.cs b/Realm/Realm.PlatformHelpers/Apple/DeviceInfo.mac.cs new file mode 100644 index 0000000000..cd61225353 --- /dev/null +++ b/Realm/Realm.PlatformHelpers/Apple/DeviceInfo.mac.cs @@ -0,0 +1,29 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2023 Realm Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////// + +using static Realms.PlatformHelpers.Platform; + +namespace Realms.PlatformHelpers +{ + internal class DeviceInfo : IDeviceInfo + { + public string Name => "Apple"; + + public string Version => NativeHelpers.GetSysctlProperty("hw.model") ?? Unknown; + } +} diff --git a/Realm/Realm.PlatformHelpers/Apple/NativeHelpers.ios.mac.cs b/Realm/Realm.PlatformHelpers/Apple/NativeHelpers.ios.mac.cs new file mode 100644 index 0000000000..da44c819c3 --- /dev/null +++ b/Realm/Realm.PlatformHelpers/Apple/NativeHelpers.ios.mac.cs @@ -0,0 +1,65 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2023 Realm Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////// + +using System; +using System.Runtime.InteropServices; +using ObjCRuntime; + +namespace Realms.PlatformHelpers +{ + internal static class NativeHelpers + { + [DllImport(Constants.SystemLibrary, EntryPoint = "sysctlbyname")] + internal static extern int SysctlByName([MarshalAs(UnmanagedType.LPStr)] string property, IntPtr output, IntPtr oldLen, IntPtr newp, uint newlen); + + internal static string? GetSysctlProperty(string property) + { + var lengthPtr = Marshal.AllocHGlobal(sizeof(int)); + + IntPtr? valuePtr = null; + try + { + SysctlByName(property, IntPtr.Zero, lengthPtr, IntPtr.Zero, 0); + + var propertyLength = Marshal.ReadInt32(lengthPtr); + + if (propertyLength > 0) + { + valuePtr = Marshal.AllocHGlobal(propertyLength); + SysctlByName(property, valuePtr.Value, lengthPtr, IntPtr.Zero, 0); + + return Marshal.PtrToStringAnsi(valuePtr.Value); + } + } + catch + { + } + finally + { + Marshal.FreeHGlobal(lengthPtr); + + if (valuePtr.HasValue) + { + Marshal.FreeHGlobal(valuePtr.Value); + } + } + + return null; + } + } +} diff --git a/Realm/Realm.PlatformHelpers/AssemblyInfo.shared.cs b/Realm/Realm.PlatformHelpers/AssemblyInfo.shared.cs new file mode 100644 index 0000000000..d73a6b33aa --- /dev/null +++ b/Realm/Realm.PlatformHelpers/AssemblyInfo.shared.cs @@ -0,0 +1,23 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2023 Realm Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////// + +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("Realm")] +[assembly: InternalsVisibleTo("Realm.Tests")] +[assembly: InternalsVisibleTo("Realm.UnityUtils")] diff --git a/Realm/Realm.PlatformHelpers/DeviceInfo.shared.cs b/Realm/Realm.PlatformHelpers/DeviceInfo.shared.cs new file mode 100644 index 0000000000..0080398e05 --- /dev/null +++ b/Realm/Realm.PlatformHelpers/DeviceInfo.shared.cs @@ -0,0 +1,27 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2023 Realm Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////// + +namespace Realms.PlatformHelpers +{ + internal interface IDeviceInfo + { + string Name { get; } + + string Version { get; } + } +} diff --git a/Realm/Realm.PlatformHelpers/Platform.shared.cs b/Realm/Realm.PlatformHelpers/Platform.shared.cs new file mode 100644 index 0000000000..5220c6f2ee --- /dev/null +++ b/Realm/Realm.PlatformHelpers/Platform.shared.cs @@ -0,0 +1,45 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2023 Realm Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////// + +using System; + +namespace Realms.PlatformHelpers +{ + internal static class Platform + { + public const string Unknown = ""; + + private static IDeviceInfo? _deviceInfo; + + private static Lazy _deviceInfoLazy = new(() => _deviceInfo ?? new DeviceInfo()); + + public static IDeviceInfo DeviceInfo + { + get => _deviceInfoLazy.Value; + set + { + if (_deviceInfoLazy.IsValueCreated) + { + throw new Exception("DeviceInfo should only be configured once"); + } + + _deviceInfo = value; + } + } + } +} diff --git a/Realm/Realm.PlatformHelpers/Realm.PlatformHelpers.csproj b/Realm/Realm.PlatformHelpers/Realm.PlatformHelpers.csproj new file mode 100644 index 0000000000..ca5f3f5cce --- /dev/null +++ b/Realm/Realm.PlatformHelpers/Realm.PlatformHelpers.csproj @@ -0,0 +1,59 @@ + + + + Realm Platform Helpers + + A set of platform-specific helpers used in conjunction with Realm. This package is always referenced by the main Realm package + and should never be added directly to your project. + + + netstandard2.0 + + + $(TargetFrameworks);net6.0-ios;net6.0-android;net6.0-maccatalyst;net6.0-tvos + + + + + $(TargetFrameworks);MonoAndroid5;Xamarin.iOS10;Xamarin.TVOS10;Xamarin.Mac20 + + $(TargetFrameworks);uap10.0.19041; + false + 9.0 + enable + + + + + + + + + + + + + Windows Desktop Extensions for the UWP + + + Windows Mobile Extensions for the UWP + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Realm/Realm.PlatformHelpers/UWP/DeviceInfo.uwp.cs b/Realm/Realm.PlatformHelpers/UWP/DeviceInfo.uwp.cs new file mode 100644 index 0000000000..17d78cb480 --- /dev/null +++ b/Realm/Realm.PlatformHelpers/UWP/DeviceInfo.uwp.cs @@ -0,0 +1,31 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2023 Realm Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////// + +using Windows.Security.ExchangeActiveSyncProvisioning; + +namespace Realms.PlatformHelpers +{ + internal class DeviceInfo : IDeviceInfo + { + private static EasClientDeviceInformation deviceInfo = new(); + + public string Name => deviceInfo.SystemManufacturer; + + public string Version => deviceInfo.SystemProductName; + } +} diff --git a/Realm/Realm.PlatformHelpers/fallback/DeviceInfo.netstandard.cs b/Realm/Realm.PlatformHelpers/fallback/DeviceInfo.netstandard.cs new file mode 100644 index 0000000000..8b5a2e9b3d --- /dev/null +++ b/Realm/Realm.PlatformHelpers/fallback/DeviceInfo.netstandard.cs @@ -0,0 +1,29 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2023 Realm Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////// + +using static Realms.PlatformHelpers.Platform; + +namespace Realms.PlatformHelpers +{ + internal class DeviceInfo : IDeviceInfo + { + public string Name => Unknown; + + public string Version => Unknown; + } +} diff --git a/Realm/Realm.Unity/Runtime/Realm.PlatformHelpers.dll.meta b/Realm/Realm.Unity/Runtime/Realm.PlatformHelpers.dll.meta new file mode 100644 index 0000000000..bf3930466c --- /dev/null +++ b/Realm/Realm.Unity/Runtime/Realm.PlatformHelpers.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 0b22610015bc4fa9804e1339dbc21c0e +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Realm/Realm.UnityUtils/DeviceInfo.cs b/Realm/Realm.UnityUtils/DeviceInfo.cs new file mode 100644 index 0000000000..26bfd93334 --- /dev/null +++ b/Realm/Realm.UnityUtils/DeviceInfo.cs @@ -0,0 +1,30 @@ +//////////////////////////////////////////////////////////////////////////// +// +// Copyright 2023 Realm Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License") +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////// + +using Realms.PlatformHelpers; +using UnityEngine; + +namespace Realm.UnityUtils +{ + internal class UnityDeviceInfo : IDeviceInfo + { + public string Name => Platform.Unknown; + + public string Version => SystemInfo.deviceModel; + } +} diff --git a/Realm/Realm.UnityUtils/Initializer.cs b/Realm/Realm.UnityUtils/Initializer.cs index f22df09a95..d33bfa79f1 100644 --- a/Realm/Realm.UnityUtils/Initializer.cs +++ b/Realm/Realm.UnityUtils/Initializer.cs @@ -17,7 +17,9 @@ //////////////////////////////////////////////////////////////////////////// using System.Threading; +using Realm.UnityUtils; using Realms; +using Realms.PlatformHelpers; using UnityEngine; namespace UnityUtils @@ -31,6 +33,7 @@ public static void Initialize() { if (Interlocked.CompareExchange(ref _isInitialized, 1, 0) == 0) { + Platform.DeviceInfo = new UnityDeviceInfo(); InteropConfig.AddPotentialStorageFolder(FileHelper.GetStorageFolder()); Realms.Logging.Logger.Console = new UnityLogger(); Application.quitting += () => diff --git a/Realm/Realm.UnityUtils/Realm.UnityUtils.csproj b/Realm/Realm.UnityUtils/Realm.UnityUtils.csproj index 5da87b19bd..23a71edae0 100644 --- a/Realm/Realm.UnityUtils/Realm.UnityUtils.csproj +++ b/Realm/Realm.UnityUtils/Realm.UnityUtils.csproj @@ -25,7 +25,7 @@ - + diff --git a/Realm/Realm.UnityWeaver/Realm.UnityWeaver.csproj b/Realm/Realm.UnityWeaver/Realm.UnityWeaver.csproj index 366230d062..68282f29f4 100644 --- a/Realm/Realm.UnityWeaver/Realm.UnityWeaver.csproj +++ b/Realm/Realm.UnityWeaver/Realm.UnityWeaver.csproj @@ -22,7 +22,7 @@ - + diff --git a/Realm/Realm.Weaver/Realm.Weaver.projitems b/Realm/Realm.Weaver/Realm.Weaver.projitems index b3ac2cae1b..3d14f8f13f 100644 --- a/Realm/Realm.Weaver/Realm.Weaver.projitems +++ b/Realm/Realm.Weaver/Realm.Weaver.projitems @@ -10,6 +10,6 @@ - + \ No newline at end of file diff --git a/Realm/Realm/Handles/AppHandle.cs b/Realm/Realm/Handles/AppHandle.cs index eb58bd01d8..762d4e2c2a 100644 --- a/Realm/Realm/Handles/AppHandle.cs +++ b/Realm/Realm/Handles/AppHandle.cs @@ -1,4 +1,4 @@ -//////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////// // // Copyright 2020 Realm Inc. // @@ -23,6 +23,7 @@ using System.Runtime.InteropServices; using System.Threading.Tasks; using Realms.Native; +using Realms.PlatformHelpers; using Realms.Sync.Exceptions; using Realms.Sync.Native; @@ -170,9 +171,23 @@ public static void Initialize() platformVersion += $" {Environment.OSVersion.ServicePack}"; } - // TODO: try and infer device information as part of RNET-849 - var deviceName = "unknown"; - var deviceVersion = "unknown"; + string deviceName; + string deviceVersion; + try + { + deviceName = Platform.DeviceInfo.Name; + deviceVersion = Platform.DeviceInfo.Version; + } + catch + { + // If we can't get the device info, don't crash the app. + deviceName = Platform.Unknown; + deviceVersion = Platform.Unknown; + +#if DEBUG + throw; +#endif + } NativeMethods.initialize( frameworkName, frameworkName.IntPtrLength(), diff --git a/Realm/Realm/Handles/SharedRealmHandle.cs b/Realm/Realm/Handles/SharedRealmHandle.cs index ced3277a28..630ec90413 100644 --- a/Realm/Realm/Handles/SharedRealmHandle.cs +++ b/Realm/Realm/Handles/SharedRealmHandle.cs @@ -237,6 +237,9 @@ public static extern void rename_property(SharedRealmHandle sharedRealm, [DllImport(InteropConfig.DLL_NAME, EntryPoint = "shared_realm_set_log_level", CallingConvention = CallingConvention.Cdecl)] public static extern bool set_log_level(LogLevel level); + [DllImport(InteropConfig.DLL_NAME, EntryPoint = "shared_realm_get_operating_system", CallingConvention = CallingConvention.Cdecl)] + public static extern IntPtr get_operating_system(IntPtr buffer, IntPtr buffer_length); + #pragma warning restore SA1121 // Use built-in type alias #pragma warning restore IDE0049 // Use built-in type alias } @@ -759,6 +762,16 @@ public async Task RefreshAsync() } } + public static string GetNativeLibraryOS() + { + return MarshalHelpers.GetString((IntPtr buffer, IntPtr length, out bool isNull, out NativeException ex) => + { + isNull = false; + ex = default; + return NativeMethods.get_operating_system(buffer, length); + })!; + } + [MonoPInvokeCallback(typeof(NativeMethods.GetNativeSchemaCallback))] private static void GetNativeSchema(Native.Schema schema, IntPtr managedCallbackPtr) { diff --git a/Realm/Realm/Realm.cs b/Realm/Realm/Realm.cs index 197694aebc..d129f0f9c6 100644 --- a/Realm/Realm/Realm.cs +++ b/Realm/Realm/Realm.cs @@ -1093,7 +1093,6 @@ internal IQueryable AllEmbedded() public T? Find(Guid? primaryKey) where T : IRealmObject => FindCore(primaryKey); - [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The RealmObjectBase instance will own its handle.")] internal T? FindCore(RealmValue primaryKey) where T : IRealmObject { @@ -1657,7 +1656,6 @@ public IEmbeddedObject CreateEmbeddedObjectForProperty(IRealmObjectBase parent, /// /// /// - [SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "Argument is validated in PerformEmbeddedListOperation.")] public IEmbeddedObject AddEmbeddedObjectToList(object list) { return PerformEmbeddedListOperation(list, listHandle => listHandle.AddEmbedded()); @@ -1676,7 +1674,6 @@ public IEmbeddedObject AddEmbeddedObjectToList(object list) /// /// /// - [SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "Argument is validated in PerformEmbeddedListOperation.")] public IEmbeddedObject InsertEmbeddedObjectInList(object list, int index) { if (index < 0) @@ -1703,7 +1700,6 @@ public IEmbeddedObject InsertEmbeddedObjectInList(object list, int index) /// /// /// - [SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "Argument is validated in PerformEmbeddedListOperation.")] public IEmbeddedObject SetEmbeddedObjectInList(object list, int index) { if (index < 0) @@ -1726,7 +1722,6 @@ public IEmbeddedObject SetEmbeddedObjectInList(object list, int index) /// and . /// /// - [SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "Argument is validated in PerformEmbeddedListOperation.")] public IEmbeddedObject AddEmbeddedObjectToDictionary(object dictionary, string key) { Argument.NotNull(key, nameof(key)); @@ -1746,7 +1741,6 @@ public IEmbeddedObject AddEmbeddedObjectToDictionary(object dictionary, string k /// and . /// /// - [SuppressMessage("Design", "CA1062:Validate arguments of public methods", Justification = "Argument is validated in PerformEmbeddedListOperation.")] public IEmbeddedObject SetEmbeddedObjectInDictionary(object dictionary, string key) { Argument.NotNull(key, nameof(key)); @@ -1840,7 +1834,6 @@ public void RemoveAll(string className) /// public IRealmObject? Find(string className, Guid? primaryKey) => FindCore(className, primaryKey); - [SuppressMessage("Reliability", "CA2000:Dispose objects before losing scope", Justification = "The RealmObjectBase instance will own its handle.")] internal IRealmObject? FindCore(string className, RealmValue primaryKey) { _realm.ThrowIfDisposed(); diff --git a/Realm/Realm/Realm.csproj b/Realm/Realm/Realm.csproj index 9e0bd1561c..d55e8797b7 100644 --- a/Realm/Realm/Realm.csproj +++ b/Realm/Realm/Realm.csproj @@ -37,6 +37,7 @@ false + false @@ -198,8 +199,8 @@ - - + + @@ -207,7 +208,7 @@ - /// Mechanism for logging in with API keys generated in the server UI. /// + [Obsolete("Use ApiKey instead.")] ServerApiKey = 9, /// @@ -208,6 +210,7 @@ public static Credentials ApiKey(string key) /// The server API key to use for login. /// A Credentials that can be used to authenticate user with an API key. /// API Key Authentication Docs + [Obsolete("Use Credentials.ApiKey instead.")] public static Credentials ServerApiKey(string serverApiKey) { Argument.NotNull(serverApiKey, nameof(serverApiKey)); diff --git a/Tests/Realm.Tests/Realm.Tests.csproj b/Tests/Realm.Tests/Realm.Tests.csproj index a4ecdb0ed3..6fc1bb8ebb 100644 --- a/Tests/Realm.Tests/Realm.Tests.csproj +++ b/Tests/Realm.Tests/Realm.Tests.csproj @@ -28,7 +28,7 @@ Realm.Tests true $(DefineConstants);UNITY - ..\..\Realm\Realm.Unity\Runtime\Realm.dll + ..\..\Realm\Realm.Unity\Runtime @@ -53,7 +53,11 @@ the same dll here, otherwise when we try to ilrepack the test dependencies, we won't find MongoDB.Bson and friends. --> - $(RealmDllPath) + $(RealmDllsPath)\Realm.dll + + + + $(RealmDllsPath)\Realm.PlatformHelpers.dll