提交 a8b22d59 编写于 作者: lindexi_gd's avatar lindexi_gd

加上框架依赖

上级 463bbba4
......@@ -83,7 +83,8 @@ namespace dotnetCampus.SourceYard.PackFlow
PackageLicenseUrl = buildProps.PackageLicenseUrl,
PackageTags = buildProps.PackageTags,
PackageReleaseNotes = buildProps.PackageReleaseNotes,
Dependencies = DependenciesParser.GetDependencies(context, _log),
Dependencies = DependenciesParser.GetDependencies(context),
FrameworkAssemblies = DependenciesParser.GetFrameworkAssemblies(context),
Repository = repository
}
};
......
......@@ -10,12 +10,45 @@ namespace dotnetCampus.SourceYard.PackFlow.NuspecFiles
{
static class DependenciesParser
{
/// <summary>
/// 获取框架依赖内容
/// </summary>
/// <param name="context"></param>
/// <returns></returns>
public static List<NuspecFrameworkAssembly> GetFrameworkAssemblies(IPackingContext context)
{
var nuspecFrameworkAssemblies = new List<NuspecFrameworkAssembly>();
foreach (var targetFrameworkPackageInfo in context.MultiTargetingPackageInfo
.ValidTargetFrameworkPackageInfoList)
{
var sourcePackingFolder = targetFrameworkPackageInfo.SourcePackingFolder.FullName;
var frameworkReferenceVersionFile = Path.Combine(sourcePackingFolder, "FrameworkReferenceVersionFile.txt");
if (File.Exists(frameworkReferenceVersionFile))
{
foreach (var assembly in File.ReadAllLines(frameworkReferenceVersionFile).Where(t=>!string.IsNullOrWhiteSpace(t)))
{
nuspecFrameworkAssemblies.Add(new NuspecFrameworkAssembly()
{
TargetFramework = targetFrameworkPackageInfo.TargetFramework,
AssemblyName = assembly
});
}
}
}
return nuspecFrameworkAssemblies;
}
/// <summary>
/// 获取依赖内容
/// </summary>
/// <returns></returns>
public static List<NuspecGroup> GetDependencies(IPackingContext context, ILogger logger)
public static List<NuspecGroup> GetDependencies(IPackingContext context)
{
ILogger logger = context.Logger;
var nuspecGroups = new List<NuspecGroup>();
foreach (var targetFrameworkPackageInfo in context.MultiTargetingPackageInfo.ValidTargetFrameworkPackageInfoList)
......@@ -118,5 +151,6 @@ namespace dotnetCampus.SourceYard.PackFlow.NuspecFiles
return nuspecDependencyList;
}
}
}
\ No newline at end of file
......@@ -24,6 +24,10 @@ namespace dotnetCampus.SourceYard.PackFlow.NuspecFiles.NuspecContexts
[XmlArrayItem(elementName: "group")]
public List<NuspecGroup> Dependencies { set; get; } = new List<NuspecGroup>();
[XmlArray(elementName: "frameworkAssemblies", Namespace = "")]
[XmlArrayItem(elementName: "frameworkAssembly")]
public List<NuspecFrameworkAssembly> FrameworkAssemblies { set; get; } = new List<NuspecFrameworkAssembly>();
[XmlElement("id")]
public string? Id { get; set; }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册