1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-16 03:32:35 +08:00
Commit Graph

2 Commits

  • Adjust Android package versioning to .NET 6
    With .NET 6, the way Xamarin package versioning works has changed.
    
    - The `ApplicationVersion` MSBuild property aims to replace
      `android:versionCode` in the manifest.
    - The `ApplicationDisplayVersion` MSBuild property aims to replace
      `android:versionName` in the manifest.
    
    More about this can be read in Xamarin docs:
    
        https://github.com/xamarin/xamarin-android/blob/ec712da8c1ce03f71578e08cafb6a767cdb90cd5/Documentation/guides/OneDotNetSingleProject.md
    
    To this end:
    
    - Manual `version{Code,Name}` specs are removed from
      `AndroidManifest.xml`, as they were preventing MSBuild properties
      from functioning properly.
    - `Version` now defaults to 0.0.0, so that local builds don't appear
      like they were deployed (see `OsuGameBase.IsDeployedBuild`).
    - `ApplicationDisplayVersion` now defaults to `Version`.
      This addresses the Android portion of #21498.
    - `ApplicationVersion` can now be specified by command line,
      but still needs to be supplied manually for version detection to
      work correctly. See `OsuGameAndroid.AssemblyVersion` for more info.
    
    Putting the pieces together, the complete publish command to deploy
    a new build should look something like so:
    
        dotnet publish -f net6.0-android \
                       -r android-arm64 \
                       -c Release \
                       -p:Version=2022.1228.0 \
                       -p:ApplicationVersion=202212280