| File: GetPackageVersion.cs | Web Access |
| Project: src\arcade\src\Microsoft.DotNet.Build.Tasks.Packaging\src\Microsoft.DotNet.Build.Tasks.Packaging.csproj (Microsoft.DotNet.Build.Tasks.Packaging) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Build.Framework; using Microsoft.Build.Utilities; using System; using System.Collections.Generic; using System.Linq; namespace Microsoft.DotNet.Build.Tasks.Packaging { public class GetPackageVersion : BuildTask { [Required] public ITaskItem[] Files { get; set; } [Output] public string Version { get; private set; } public override bool Execute() { if (Files == null || Files.Length == 0) { Log.LogError("Files argument must be specified"); return false; } var versionsToConsider = Files.Where(f => !String.IsNullOrEmpty(f.GetMetadata("AssemblyVersion"))) .Select(f => new Version(f.GetMetadata("AssemblyVersion"))); if (versionsToConsider.Any()) { // use the version of the highest reference assembly; Version = versionsToConsider.Max().ToString(); } return !Log.HasLoggedErrors; } } }