From eb7db676af22e4c706f2e8d292eb527f747ca441 Mon Sep 17 00:00:00 2001 From: Lambert Clara Date: Fri, 17 Dec 2021 11:06:21 +0100 Subject: [PATCH 1/4] [Bff] Improve error message when multiple nodes output to the same file, indicating which file is involved --- Sharpmake.Generators/FastBuild/MasterBff.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sharpmake.Generators/FastBuild/MasterBff.cs b/Sharpmake.Generators/FastBuild/MasterBff.cs index 5c730e400..5397d4c33 100644 --- a/Sharpmake.Generators/FastBuild/MasterBff.cs +++ b/Sharpmake.Generators/FastBuild/MasterBff.cs @@ -264,7 +264,7 @@ void registerOutputAndCheck(string outputFile) } else if (FileSystemStringComparer.StaticCompare(pair.sourceBff, bffFullPath) != 0 || pair.sourceNodeIdentifier != fastBuildTargetIdentifier) { - throw new Error("Found identical output from multiple sources!"); + throw new Error($"Found identical output '{outputFile}' from multiple sources!"); } } From b3df7fb46466d5b9be7d5d165d85781d3bb2d3bd Mon Sep 17 00:00:00 2001 From: Lambert Clara Date: Fri, 17 Dec 2021 11:07:52 +0100 Subject: [PATCH 2/4] Fix debug project generation too harsh filtering --- Sharpmake/DebugProjectGenerator.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Sharpmake/DebugProjectGenerator.cs b/Sharpmake/DebugProjectGenerator.cs index b84536ab9..a2cd07e21 100644 --- a/Sharpmake/DebugProjectGenerator.cs +++ b/Sharpmake/DebugProjectGenerator.cs @@ -302,6 +302,9 @@ public DebugProject() NoneExtensions.Clear(); VsctExtension.Clear(); + // nor removed + SourceFilesExcludeRegex.Clear(); + Name = _projectInfo.DisplayName; // Use the new csproj style From 3e9d32ebe4da267837a8e2b79cafd6832cc2e95e Mon Sep 17 00:00:00 2001 From: Lambert Clara Date: Sun, 19 Dec 2021 16:46:05 +0100 Subject: [PATCH 3/4] [CI] Fix Android build on CI following update to SDK 32 What we thought was a "corrupted" installation was in fact that DX was removed in favor of D8, and our workaround was to removed SDK 31 to revert to version 30 that still had it. Now we changed the workaround to a simple symlink creating from D8 to DX for the .bat and the .jar, that will need to be removed when we find how to make Visual Studio gradle integration properly support D8. --- .github/workflows/actions.yml | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index 0fa8a8264..4a4dc72b7 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -217,6 +217,21 @@ jobs: & $env:COMPILE_BATCH projects\fastbuildsample_vs2019_win64.sln "${{ matrix.configuration }}" "x64" projects\output\win64\${{ matrix.configuration }}\fastbuildsimpleexecutable.exe + - name: Fixup Android SDK dx.bat and dx.jar + if: runner.os == 'Windows' + shell: bash + run: | # starting with Android SDK 31, DX (which was deprecated) has been replaced by D8, which seems called by the VS gradle. Since it uses the same arguments, we cheat by mklinking d8 to dx + ln -s ${ANDROID_HOME}/build-tools/32.0.0/d8.bat ${ANDROID_HOME}/build-tools/32.0.0/dx.bat + ln -s ${ANDROID_HOME}/build-tools/32.0.0/lib/d8.jar ${ANDROID_HOME}/build-tools/32.0.0/lib/dx.jar + + - name: HelloAndroid ${{ matrix.configuration }} + if: runner.os == 'Windows' + working-directory: 'samples/HelloAndroid' + run: | + & $env:SHARPMAKE_WIN_EXE "/sources('HelloAndroid.main.sharpmake.cs')" + & $env:COMPILE_BATCH codebase\temp\solutions\HelloAndroid_android_vs2019.sln "${{ matrix.configuration }}_NoBlob" "arm64_v8a" + & $env:COMPILE_BATCH codebase\temp\solutions\HelloAndroid_android_vs2019.sln "${{ matrix.configuration }}_NoBlob" "x86_64" + - name: HelloClangCl debug if: runner.os == 'Windows' && matrix.configuration == 'debug' working-directory: 'samples/HelloClangCl' @@ -286,17 +301,6 @@ jobs: cd codebase/temp/bin/mac_${{ matrix.configuration }} DYLD_LIBRARY_PATH=. ./exe - - name: HelloAndroid ${{ matrix.configuration }} - if: runner.os == 'Windows' - working-directory: 'samples/HelloAndroid' - env: - REMOVE_ANDROID_BUILD_TOOLS_VERSION: 31.0.0 - run: | #Installed Build Tools revision 31.0.0 is corrupted. Need to remove and install again using the SDK Manager. - & $env:SHARPMAKE_WIN_EXE "/sources('HelloAndroid.main.sharpmake.cs')" - & $env:ANDROID_HOME/tools/bin/sdkmanager --uninstall "build-tools;${{ env.REMOVE_ANDROID_BUILD_TOOLS_VERSION }}" - & $env:COMPILE_BATCH codebase\temp\solutions\HelloAndroid_android_vs2019.sln "${{ matrix.configuration }}_NoBlob" "arm64_v8a" - & $env:COMPILE_BATCH codebase\temp\solutions\HelloAndroid_android_vs2019.sln "${{ matrix.configuration }}_NoBlob" "x86_64" - - name: NetCore/DotNetCoreFrameworkHelloWorld ${{ matrix.configuration }} if: runner.os == 'Windows' working-directory: 'samples/NetCore/DotNetCoreFrameworkHelloWorld' From 1de07e9f58ef03f7d840cb45c5b5ea30e5d50084 Mon Sep 17 00:00:00 2001 From: Lambert Clara Date: Tue, 21 Dec 2021 12:08:18 +0100 Subject: [PATCH 4/4] Bump version number to 0.18.1 --- Sharpmake.Application/Properties/AssemblyInfo.cs | 2 +- Sharpmake.Generators/Properties/AssemblyInfo.cs | 2 +- .../Sharpmake.CommonPlatforms/Properties/AssemblyInfo.cs | 2 +- Sharpmake/Properties/AssemblyInfo.cs | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Sharpmake.Application/Properties/AssemblyInfo.cs b/Sharpmake.Application/Properties/AssemblyInfo.cs index 23f48d354..5b2047559 100644 --- a/Sharpmake.Application/Properties/AssemblyInfo.cs +++ b/Sharpmake.Application/Properties/AssemblyInfo.cs @@ -43,4 +43,4 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("0.18.0.0")] +[assembly: AssemblyVersion("0.18.1.0")] diff --git a/Sharpmake.Generators/Properties/AssemblyInfo.cs b/Sharpmake.Generators/Properties/AssemblyInfo.cs index 731cc423b..f81e4b8dd 100644 --- a/Sharpmake.Generators/Properties/AssemblyInfo.cs +++ b/Sharpmake.Generators/Properties/AssemblyInfo.cs @@ -44,6 +44,6 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("0.18.0.0")] +[assembly: AssemblyVersion("0.18.1.0")] [assembly: InternalsVisibleTo("Sharpmake")] diff --git a/Sharpmake.Platforms/Sharpmake.CommonPlatforms/Properties/AssemblyInfo.cs b/Sharpmake.Platforms/Sharpmake.CommonPlatforms/Properties/AssemblyInfo.cs index 0255eb696..d789f0c5b 100644 --- a/Sharpmake.Platforms/Sharpmake.CommonPlatforms/Properties/AssemblyInfo.cs +++ b/Sharpmake.Platforms/Sharpmake.CommonPlatforms/Properties/AssemblyInfo.cs @@ -44,6 +44,6 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("0.18.0.0")] +[assembly: AssemblyVersion("0.18.1.0")] [assembly: SharpmakeExtension] diff --git a/Sharpmake/Properties/AssemblyInfo.cs b/Sharpmake/Properties/AssemblyInfo.cs index 5f16f8405..14ed07c88 100644 --- a/Sharpmake/Properties/AssemblyInfo.cs +++ b/Sharpmake/Properties/AssemblyInfo.cs @@ -44,9 +44,9 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("0.18.0.0")] +[assembly: AssemblyVersion("0.18.1.0")] #pragma warning disable CS7035 -[assembly: AssemblyFileVersion("0.18.0.0 (LocalBuild)")] +[assembly: AssemblyFileVersion("0.18.1.0 (LocalBuild)")] #pragma warning restore [assembly: InternalsVisibleTo("Sharpmake.Application")]