Skip to content

Commit c72387d

Browse files
authored
Try build arcade net9 (dotnet#25085)
* try * try again * Try more build * Fix snupkg * try publish * fix depends * fix * Fix signing * Fix condition * try without this * Try install workloads * add catalyst * Try install .dotnet * Skip install .net * Nowarn * Set java home * try sign * sign dll * dix * more variables * try other * fix * Remove pool changes * Fix path * dotnet * remvoe restore * Again * Try bump arcade * TreatWarningsAsErrors * will this work * Try -warnAsError 0 * again * extra nowarn * Fix variable * Fix _BuildOfficalId * Fix signing * Update arcade * Don t push this * Dont update build number * Add back cake script * Add nuget.config again * Clean signing * try these feeds * less premissions * Try this * Try fix the bin folder * Fix nuget config * Use DotNetTempDirectory for the script * Fix device tests * Add missing variable * We need this * Try this * try this * Add public pipeline * Fix cake * Fix tool * Fix device * try workloads * try fix test * fix sign * more quick * needs t build * Fix windows script * Try workloads * fix location * fix * Try with this * try fix paths * try this again * try use the latest tooling * Revert "try use the latest tooling" This reverts commit 1b337f8. * Update variables.yml * Update DotnetInternal.cs * More fixes * Update build-test-pack.yml * Update latest arcade * Add missing feeds * Remove package source mapping * Update windows.cake * Update windows.cake * Update global.json * Try _SkipUpdateBuildNumber * again * Update variables.yml * Again * Include this * Update vsmanproj * Nove to arcade ne9 * Update rtm * Dont build workloads * Update rtm * Update NuGet.config * Update global.json * Update Versions.props * Update pack.yml * Try rtm ios * try windows again * Fix folder for dotnet location * Update windows.cake
1 parent ce01c15 commit c72387d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1399
-437
lines changed

.config/dotnet-tools.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
]
2222
},
2323
"microsoft.dotnet.xharness.cli": {
24-
"version": "10.0.0-prerelease.24501.1",
24+
"version": "9.0.0-prerelease.24510.3",
2525
"commands": [
2626
"xharness"
2727
]

.gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -376,4 +376,9 @@ Directory.Build.Override.props
376376

377377
# Only the "snapshots" directory should be added to Git, not the "snapshots-diff" directory
378378
snapshots-diff/
379+
380+
#install of dotnet version
379381
/.dotnet
382+
.dotnet
383+
temp
384+
.packages

Directory.Build.props

+3-4
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
<DefineConstants Condition="'$(_MauiTargetPlatformIsWindows)' == 'True'">$(DefineConstants);WINDOWS</DefineConstants>
120120
<DefineConstants Condition="'$(IncludeCompatibilityProjects)' == 'True'">$(DefineConstants);COMPATIBILITY_ENABLED</DefineConstants>
121121
<DefineConstants Condition="'$(IncludePreviousTfms)' == 'True'">$(DefineConstants);ENABLE_PREVIOUS_TFM_BUILDS</DefineConstants>
122-
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
122+
<!-- <SymbolPackageFormat>snupkg</SymbolPackageFormat> -->
123123
<!-- <GenerateRuntimeConfigurationFiles>false</GenerateRuntimeConfigurationFiles> -->
124124
<!-- HACK: WinUI seems to have issues without this -->
125125
<GenerateLibraryLayout>true</GenerateLibraryLayout>
@@ -215,9 +215,8 @@
215215
</PropertyGroup>
216216

217217
<PropertyGroup>
218-
<DotNetOutputPath>$(MSBuildThisFileDirectory)bin/</DotNetOutputPath>
219-
<DotNetTempDirectory>$(DotNetOutputPath)temp/</DotNetTempDirectory>
220-
<DotNetDirectory>$(DotNetOutputPath)dotnet/</DotNetDirectory>
218+
<DotNetTempDirectory>$(RepoRoot)/temp/</DotNetTempDirectory>
219+
<DotNetDirectory>$(RepoRoot)/.dotnet/</DotNetDirectory>
221220
<DotNetToolPath>$(DotNetDirectory)dotnet</DotNetToolPath>
222221
<DotNetPacksDirectory>$(DotNetDirectory)packs/</DotNetPacksDirectory>
223222
<DotNetLibraryPacksDirectory>$(DotNetDirectory)library-packs/</DotNetLibraryPacksDirectory>

Directory.Build.targets

+7-1
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,16 @@
1919
<Import Project="eng\NuGetVersions.targets" />
2020

2121
<PropertyGroup>
22-
<!-- Allows for MAUI Xaml Hot Reload Samples to run without checks -->
22+
<!-- Allows for MAUI Xaml Hot Reload Samples to run without checks -->
2323
<IgnoreMauiXamlHotReloadCompatibilityCheck>True</IgnoreMauiXamlHotReloadCompatibilityCheck>
2424
</PropertyGroup>
2525

26+
<PropertyGroup>
27+
<!-- Microsoft.Build.Msix.props" cannot be imported again -->
28+
<!-- Found version-specific or distribution-specific runtime identifier(s)-->
29+
<NoWarn>$(NoWarn);MSB4011;NETSDK1206</NoWarn>
30+
</PropertyGroup>
31+
2632
<!-- platform version number information -->
2733
<PropertyGroup Condition="'$(_MauiTargetPlatformIsiOS)' == 'True'">
2834
<SupportedOSPlatformVersion>13.0</SupportedOSPlatformVersion>

NuGet.config

+3-19
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,6 @@
44
<!-- `clear` ensures no additional sources are inherited from another config file. -->
55
<packageSources>
66
<clear />
7-
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
8-
<!-- Begin: Package sources from dotnet-emsdk -->
9-
<!-- End: Package sources from dotnet-emsdk -->
10-
<!-- Begin: Package sources from dotnet-runtime -->
11-
<!-- End: Package sources from dotnet-runtime -->
12-
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
137
<add key="local" value="LOCAL_PLACEHOLDER" />
148
<add key="nuget-only" value="NUGET_ONLY_PLACEHOLDER" />
159
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" protocolVersion="3" />
@@ -21,16 +15,9 @@
2115
<add key="dotnet9" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json" />
2216
<add key="dotnet9-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9-transport/nuget/v3/index.json" />
2317
<add key="skiasharp" value="https://pkgs.dev.azure.com/xamarin/public/_packaging/SkiaSharp/nuget/v3/index.json" />
24-
<!-- Added manually for dotnet/runtime 8.0.10 -->
25-
<add key="darc-pub-dotnet-emsdk-d667257" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-d6672570/nuget/v3/index.json" />
26-
<add key="darc-pub-dotnet-runtime-b5f5349" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-b5f53494/nuget/v3/index.json" />
27-
<!-- Added manually for dotnet/runtime 8.0.9 -->
28-
<add key="darc-pub-dotnet-emsdk-2674f58" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-2674f580/nuget/v3/index.json" />
29-
<add key="darc-pub-dotnet-runtime-ed13b35" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-ed13b351/nuget/v3/index.json" />
30-
<!-- Added manually for .NET 8 Android -->
31-
<add key="darc-pub-dotnet-android-45bb7f3" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-android-45bb7f36/nuget/v3/index.json" />
32-
<!-- Added manually for .NET 8 iOS -->
33-
<add key="darc-pub-xamarin-xamarin-macios-a8d7eab" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-xamarin-xamarin-macios-a8d7eab2/nuget/v3/index.json" />
18+
<add key="dotnet-libraries" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries/nuget/v3/index.json" />
19+
<add key="dotnet-libraries-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries-transport/nuget/v3/index.json" />
20+
<add key="dotnet8-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8-transport/nuget/v3/index.json" />
3421
</packageSources>
3522
<activePackageSource>
3623
<add key="All" value="(Aggregate source)" />
@@ -39,7 +26,4 @@
3926
<add key="local" value="true" />
4027
<add key="nuget-only" value="true" />
4128
</disabledPackageSources>
42-
<!-- Define mappings by adding package patterns beneath the target source. -->
43-
<!-- Some packages will restore from different locations, but most will be from `dotnet-public`. -->
44-
<!-- The key value for <packageSource> should match key values from <packageSources> element. -->
4529
</configuration>

build.cmd

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1-
@ECHO OFF
2-
SETLOCAL
3-
PowerShell -NoProfile -NoLogo -ExecutionPolicy Bypass -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = ''; try { & '%~dp0build.ps1' %*; exit $LASTEXITCODE } catch { write-host $_; exit 1 }"
4-
SET exit_code=%ERRORLEVEL%
5-
ECHO build.cmd completed
6-
EXIT /b %exit_code%
1+
@echo off
2+
setlocal
3+
4+
set _args=%*
5+
if "%~1"=="-?" set _args=-help
6+
if "%~1"=="/?" set _args=-help
7+
8+
powershell -ExecutionPolicy ByPass -NoProfile -Command "& '%~dp0eng\build.ps1'" %_args%
9+
exit /b %ERRORLEVEL%

build.ps1

100644100755
File mode changed.

build.sh

+10-24
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,16 @@
11
#!/usr/bin/env bash
22

3-
# script inspired by https://andrewlock.net/simplifying-the-cake-global-tool-bootstrapper-scripts-in-netcore3-with-local-tools/
3+
source="${BASH_SOURCE[0]}"
44

5-
# Define default arguments.
6-
SCRIPT="build.cake"
7-
CAKE_ARGUMENTS=()
5+
# resolve $SOURCE until the file is no longer a symlink
6+
while [[ -h $source ]]; do
7+
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
8+
source="$(readlink "$source")"
89

9-
# Parse arguments.
10-
for i in "$@"; do
11-
case $1 in
12-
-s|--script) SCRIPT="$2"; shift ;;
13-
--) shift; CAKE_ARGUMENTS+=("$@"); break ;;
14-
*) CAKE_ARGUMENTS+=("$1") ;;
15-
esac
16-
shift
10+
# if $source was a relative symlink, we need to resolve it relative to the path where the
11+
# symlink file was located
12+
[[ $source != /* ]] && source="$scriptroot/$source"
1713
done
1814

19-
# Restore Cake tool
20-
dotnet tool restore
21-
22-
if [ $? -ne 0 ]; then
23-
echo "An error occurred while installing Cake."
24-
exit 1
25-
fi
26-
27-
echo "${CAKE_ARGUMENTS[@]}"
28-
29-
# Start Cake
30-
dotnet tool run dotnet-cake "$SCRIPT" "${CAKE_ARGUMENTS[@]}"
15+
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
16+
"$scriptroot/eng/build.sh" $@

dotnet-local.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
ROOT="$(dirname "${BASH_SOURCE}")"
33
FULLROOT="$(cd "${ROOT}"; pwd)"
44

5-
if [[ ! -x "${ROOT}/bin/dotnet/dotnet" ]] ; then
5+
if [[ ! -x "${ROOT}/.dotnet/dotnet" ]] ; then
66
echo 'You must build MAUI first. Please see `.github/DEVELOPMENT.md` for details.' 1>&2
77
exit 1
88
fi
99

10-
export DOTNET_ROOT="${FULLROOT}/bin/dotnet"
10+
export DOTNET_ROOT="${FULLROOT}/.dotnet"
1111
export PATH="${DOTNET_ROOT}:${PATH}"
12-
exec "${ROOT}/bin/dotnet/dotnet" "$@"
12+
exec "${ROOT}/.dotnet/dotnet" "$@"

eng/Build.props

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<ItemGroup>
3+
<ProjectToBuild Include="$(RepoRoot)Microsoft.Maui.BuildTasks.slnf" />
4+
<ProjectToBuild Include="$(RepoRoot)Microsoft.Maui.Packages-mac.slnf" Condition="'$(OS)' != 'Windows_NT'" />
5+
<ProjectToBuild Include="$(RepoRoot)Microsoft.Maui.Packages.slnf" Condition="'$(OS)' == 'Windows_NT'" />
6+
</ItemGroup>
7+
</Project>

eng/NuGetVersions.targets

+6
Original file line numberDiff line numberDiff line change
@@ -304,5 +304,11 @@
304304
Update="System.Drawing.Common"
305305
Version="$(SystemDrawingCommonPackageVersion)"
306306
/>
307+
308+
309+
<PackageReference Update="Microsoft.DotNet.Build.Tasks.Workloads" Version="$(MicrosoftDotNetBuildTasksWorkloadsPackageVersion)" />
310+
<PackageReference Update="Microsoft.Signed.WiX" Version="$(MicrosoftSignedWixVersion)" />
311+
<PackageReference Update="MicroBuild.Plugins.SwixBuild.Dotnet" Version="$(MicroBuildPluginsSwixBuildDotnetPackageVersion)" />
312+
<PackageReference Update="Microsoft.DotNet.Build.Tasks.Installers" Version="$(MicrosoftDotNetBuildTasksInstallersPackageVersion)"/>
307313
</ItemGroup>
308314
</Project>

eng/Publishing.props

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<Project>
22
<PropertyGroup>
3+
<PublishingVersion>3</PublishingVersion>
34
<ProducesDotNetReleaseShippingAssets>true</ProducesDotNetReleaseShippingAssets>
45
</PropertyGroup>
56
</Project>

eng/Signing.props

+17-35
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,26 @@
11
<Project>
22
<PropertyGroup>
3-
<!--
4-
Windows arm/arm64 jobs don't have MSIs to sign. Keep it simple: allow not finding any matches
5-
here and rely on overall signing validation.
6-
-->
7-
<AllowEmptySignList Condition="'$(SignFinalPackages)' != 'true'">true</AllowEmptySignList>
83
<UseDotNetCertificate>true</UseDotNetCertificate>
94
</PropertyGroup>
105

11-
<ItemGroup>
12-
<FileExtensionSignInfo Update=".nupkg" CertificateName="NuGet" />
13-
<FileExtensionSignInfo Update=".zip" CertificateName="None" />
14-
<FileExtensionSignInfo Include=".msi" CertificateName="MicrosoftDotNet500" />
15-
</ItemGroup>
16-
17-
<!-- <ItemGroup>
18-
<!--
19-
Replace the default items to sign with the specific set we want.
20-
-->
21-
<ItemsToSign Remove="@(ItemsToSign)" />
22-
<ItemsToSignPostBuild Remove="@(ItemsToSignPostBuild)" />
6+
<ItemGroup Label="Third Party Assemblies">
7+
<FileSignInfo Include="GMap.NET.Core.dll" CertificateName="3PartySHA2" />
8+
<FileSignInfo Include="GMap.NET.GTK.dll" CertificateName="3PartySHA2" />
9+
<FileSignInfo Include="webkit-sharp.dll" CertificateName="3PartySHA2" />
10+
<FileSignInfo Include="Mono.Cecil.dll" CertificateName="3PartySHA2" />
11+
<FileSignInfo Include="Mono.Cecil.Mdb.dll" CertificateName="3PartySHA2" />
12+
<FileSignInfo Include="Mono.Cecil.Pdb.dll" CertificateName="3PartySHA2" />
13+
<FileSignInfo Include="Mono.Cecil.Rocks.dll" CertificateName="3PartySHA2" />
14+
<FileSignInfo Include="Svg.Skia.dll" CertificateName="3PartySHA2" />
15+
<FileSignInfo Include="Svg.Custom.dll" CertificateName="3PartySHA2" />
16+
<FileSignInfo Include="Svg.Model.dll" CertificateName="3PartySHA2" />
17+
<FileSignInfo Include="ShimSkiaSharp.dll" CertificateName="3PartySHA2" />
18+
<FileSignInfo Include="Fizzler.dll" CertificateName="3PartySHA2" />
19+
<FileSignInfo Include="ExCSS.dll" CertificateName="3PartySHA2" />
20+
<FileSignInfo Include="Newtonsoft.Json.dll" CertificateName="3PartySHA2" />
2321

24-
<!-- apphost and comhost template files are not signed, by design. -->
25-
<FileSignInfo Include="apphost.exe;comhost.dll" CertificateName="None" />
26-
27-
<FileExtensionSignInfo Include=".msi" CertificateName="MicrosoftDotNet500" />
28-
<FileExtensionSignInfo Include=".pkg" CertificateName="8003" />
29-
<FileExtensionSignInfo Include=".deb;.rpm" CertificateName="LinuxSign" />
22+
<FileSignInfo Include="OpenSans-Regular.ttf" CertificateName="3PartySHA2" />
23+
<FileSignInfo Include="OpenSans-Semibold.ttf" CertificateName="3PartySHA2" />
3024
</ItemGroup>
3125

32-
<!-- This repo signs everything, including installers, either right before doing the PushToAzureDevOpsArtifacts,
33-
or in post-build. Populate what will get signed the same in both cases -->
34-
<ItemGroup Condition="'$(PrepareArtifacts)' == 'true'">
35-
<ItemsToSignWithPaths Include="$(DownloadDirectory)**/*.msi" />
36-
<ItemsToSignWithPaths Include="$(DownloadDirectory)**/*.exe" />
37-
<ItemsToSignWithPaths Include="$(DownloadDirectory)**/*.nupkg" />
38-
<ItemsToSignWithPaths Include="$(DownloadDirectory)**/*.zip" />
39-
40-
<ItemsToSignWithoutPaths Include="@(ItemsToSignWithPaths->'%(Filename)%(Extension)')" />
41-
<ItemsToSignPostBuild Include="@(ItemsToSignWithoutPaths->Distinct())" Condition="'$(PostBuildSign)' == 'true'" />
42-
<ItemsToSign Include="@(ItemsToSignWithPaths->Distinct())" Condition="'$(PostBuildSign)' != 'true'" />
43-
</ItemGroup> -->
4426
</Project>

eng/Tools.props

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
3+
<Target Name="InitInternalTooling" AfterTargets="Restore">
4+
<Message Text="Installing the workloads" Importance="high" />
5+
6+
<!-- <MSBuild Projects="$(RepoRoot)src/DotNet/DotNet.csproj"
7+
Targets="Build" /> -->
8+
<Exec
9+
Command="dotnet build $(RepoRoot)src/DotNet/DotNet.csproj -p:InstallDotNet=false"
10+
WorkingDirectory="$(RepoRoot)"
11+
EnvironmentVariables="DOTNET_MULTILEVEL_LOOKUP=0" />
12+
</Target>
13+
</Project>

0 commit comments

Comments
 (0)