Skip to content

[darc] track previous .NET Android manifests #9981

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 27, 2025

Conversation

jonathanpeppers
Copy link
Member

Context: dotnet/maui#28663

Previously we've been tracking:

<!-- Previous .NET Android version -->
<Dependency Name="Microsoft.Android.Sdk.Windows" Version="35.0.61">
  <Uri>https://github.com/dotnet/android</Uri>
  <Sha>e7876a4f92d894b40c191a24c2b74f06d4bf4573</Sha>
</Dependency>

And then for .NET 8, we just manually updated the
$(AndroidNet8PreviousVersion) property.

This makes it difficult for other repositories to know about the required NuGet feeds:

<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
<!--  Begin: Package sources from dotnet-android -->
<add key="darc-pub-dotnet-android-82d8938" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-android-82d8938c/nuget/v3/index.json" />
<add key="darc-pub-dotnet-android-e7876a4" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-android-e7876a4f/nuget/v3/index.json" />
<!--  End: Package sources from dotnet-android -->

In dotnet/maui or dotnet/performance, they would need to look at dotnet/android/main's NuGet.config to even figure out what is missing here:

Workload installation failed: One or more errors occurred. (Version 35.0.61 of package microsoft.android.sdk.windows is not found in NuGet feeds

To solve this, we can track:

<!-- Previous .NET Android version(s) -->
<Dependency Name="Microsoft.NET.Sdk.Android.Manifest-9.0.100" Version="35.0.61">
  <Uri>https://github.com/dotnet/android</Uri>
  <Sha>e7876a4f92d894b40c191a24c2b74f06d4bf4573</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Sdk.Android.Manifest-8.0.100" Version="34.0.154">
  <Uri>https://github.com/dotnet/android</Uri>
  <Sha>82d8938cf80f6d5fa6c28529ddfbdb753d805ab4</Sha>
</Dependency>

Then consuming repositories could track with
CoherentParentDependency="Microsoft.Android.Sdk.Windows":

<Dependency Name="Microsoft.Android.Sdk.Windows" Version="36.0.0-preview.3.11">
  <Uri>https://github.com/dotnet/android</Uri>
  <Sha>e71524ac874e90d9879661cafe230d8e99ba9cec</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Sdk.Android.Manifest-9.0.100" Version="35.0.61" CoherentParentDependency="Microsoft.Android.Sdk.Windows">
  <Uri>https://github.com/dotnet/android</Uri>
  <Sha>e7876a4f92d894b40c191a24c2b74f06d4bf4573</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Sdk.Android.Manifest-8.0.100" Version="34.0.154" CoherentParentDependency="Microsoft.Android.Sdk.Windows">
  <Uri>https://github.com/dotnet/android</Uri>
  <Sha>82d8938cf80f6d5fa6c28529ddfbdb753d805ab4</Sha>
</Dependency>

Once this change is merged, we would update eng/Version.Details.xml in consuming repositories. Afterwards, Maestro should be able to manage the feeds automatically.

Context: dotnet/maui#28663

Previously we've been tracking:

    <!-- Previous .NET Android version -->
    <Dependency Name="Microsoft.Android.Sdk.Windows" Version="35.0.61">
      <Uri>https://github.com/dotnet/android</Uri>
      <Sha>e7876a4f92d894b40c191a24c2b74f06d4bf4573</Sha>
    </Dependency>

And then for .NET 8, we just manually updated the
`$(AndroidNet8PreviousVersion)` property.

This makes it difficult for other repositories to *know* about the
required NuGet feeds:

    <!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
    <!--  Begin: Package sources from dotnet-android -->
    <add key="darc-pub-dotnet-android-82d8938" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-android-82d8938c/nuget/v3/index.json" />
    <add key="darc-pub-dotnet-android-e7876a4" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-android-e7876a4f/nuget/v3/index.json" />
    <!--  End: Package sources from dotnet-android -->

In dotnet/maui or dotnet/performance, they would need to look at
dotnet/android/main's NuGet.config to even figure out what is missing
here:

    Workload installation failed: One or more errors occurred. (Version 35.0.61 of package microsoft.android.sdk.windows is not found in NuGet feeds

To solve this, we can track:

    <!-- Previous .NET Android version(s) -->
    <Dependency Name="Microsoft.NET.Sdk.Android.Manifest-9.0.100" Version="35.0.61">
      <Uri>https://github.com/dotnet/android</Uri>
      <Sha>e7876a4f92d894b40c191a24c2b74f06d4bf4573</Sha>
    </Dependency>
    <Dependency Name="Microsoft.NET.Sdk.Android.Manifest-8.0.100" Version="34.0.154">
      <Uri>https://github.com/dotnet/android</Uri>
      <Sha>82d8938cf80f6d5fa6c28529ddfbdb753d805ab4</Sha>
    </Dependency>

Then consuming repositories could track with
`CoherentParentDependency="Microsoft.Android.Sdk.Windows"`:

    <Dependency Name="Microsoft.Android.Sdk.Windows" Version="36.0.0-preview.3.11">
      <Uri>https://github.com/dotnet/android</Uri>
      <Sha>e71524ac874e90d9879661cafe230d8e99ba9cec</Sha>
    </Dependency>
    <Dependency Name="Microsoft.NET.Sdk.Android.Manifest-9.0.100" Version="35.0.61" CoherentParentDependency="Microsoft.Android.Sdk.Windows">
      <Uri>https://github.com/dotnet/android</Uri>
      <Sha>e7876a4f92d894b40c191a24c2b74f06d4bf4573</Sha>
    </Dependency>
    <Dependency Name="Microsoft.NET.Sdk.Android.Manifest-8.0.100" Version="34.0.154" CoherentParentDependency="Microsoft.Android.Sdk.Windows">
      <Uri>https://github.com/dotnet/android</Uri>
      <Sha>82d8938cf80f6d5fa6c28529ddfbdb753d805ab4</Sha>
    </Dependency>

Once this change is merged, we would update `eng/Version.Details.xml`
in consuming repositories. Afterwards, Maestro should be able to
manage the feeds automatically.
@matouskozak
Copy link
Member

fyi: @LoopedBard3 for dotnet/performance repo.

<Uri>https://github.com/dotnet/android</Uri>
<Sha>e7876a4f92d894b40c191a24c2b74f06d4bf4573</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Sdk.Android.Manifest-8.0.100" Version="34.0.154">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have an idea of how many .NET 10 previews we plan to support .NET 8 targeting for? This is easy enough to revert whenever we drop that support either way, and should hopefully make dependency updating easier in general

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will probably remove this entry around May, and remove this from the workload manifest at the same time:

"android-net8": {
"description": ".NET SDK Workload for building .NET 8 Android applications.",
"packs": [ "Microsoft.Android.Sdk.net8" ],
"platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ],
"extends" : [
"android",
"microsoft-net-runtime-android-net8",
"microsoft-net-runtime-android-aot-net8"
]
}

@jonathanpeppers jonathanpeppers merged commit 7be13a4 into main Mar 27, 2025
57 of 59 checks passed
@jonathanpeppers jonathanpeppers deleted the dev/peppers/maestrodownlevel branch March 27, 2025 17:39
grendello added a commit that referenced this pull request Mar 27, 2025
* main:
  [CoreCLR] Enable more P/Invokes (#9956)
  [darc] track previous .NET Android manifests (#9981)
@github-actions github-actions bot locked and limited conversation to collaborators Apr 27, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants