mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-24 12:35:31 +00:00
Cosmos project upgrader improvements.
This commit is contained in:
parent
b7b020f575
commit
ce20ebbf9a
2 changed files with 14 additions and 22 deletions
|
|
@ -203,24 +203,22 @@ namespace Cosmos.VS.ProjectSystem
|
||||||
|
|
||||||
var document = XDocument.Load(codeProjectStream);
|
var document = XDocument.Load(codeProjectStream);
|
||||||
var itemGroups = document.Root.Descendants().Where(e => e.Name == "ItemGroup");
|
var itemGroups = document.Root.Descendants().Where(e => e.Name == "ItemGroup");
|
||||||
var projectReferences = itemGroups.Descendants().Where(
|
|
||||||
e => e.Name == "ProjectReference" && e.Attributes().Where(
|
|
||||||
a => a.Name == "Include" &&
|
|
||||||
(a.Value.EndsWith("Cosmos.System.csproj") || a.Value.EndsWith("Cosmos.System2.csproj")
|
|
||||||
|| a.Value.EndsWith("Cosmos.Debug.Kernel.csproj")))
|
|
||||||
.Count() == 0);
|
|
||||||
var packageReferences = itemGroups.Descendants().Where(
|
|
||||||
e => e.Name == "PackageReference" && e.Attributes().Where(
|
|
||||||
a => a.Name == "Include" &&
|
|
||||||
(a.Value == "Cosmos.System" || a.Value == "Cosmos.System2" || a.Value == "Cosmos.Debug.Kernel"))
|
|
||||||
.Count() == 0);
|
|
||||||
var references = itemGroups.Descendants().Where(e => e.Name == "Reference");
|
var references = itemGroups.Descendants().Where(e => e.Name == "Reference");
|
||||||
|
var projectReferences = itemGroups.Descendants().Where(e => e.Name == "ProjectReference");
|
||||||
|
var packageReferences = itemGroups.Descendants().Where(e => e.Name == "PackageReference");
|
||||||
|
|
||||||
if (packageReferences.Any(p => p.Attributes().Any(a => a.Name == "Include" && a.Value == "Cosmos.Build")))
|
if (packageReferences.Any(p => p.Attributes().Any(a => a.Name == "Include" && a.Value == "Cosmos.Build")))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var cosmosBuildPackageReference = new XElement("PackageReference");
|
||||||
|
cosmosBuildPackageReference.Add(new XAttribute("Include", "Cosmos.Build"));
|
||||||
|
cosmosBuildPackageReference.Add(new XAttribute("Version", "*"));
|
||||||
|
|
||||||
|
packageReferences.Append(cosmosBuildPackageReference);
|
||||||
|
packageReferences = packageReferences.OrderBy(p => p.Attributes().Where(a => a.Name == "Include").First().Value);
|
||||||
|
|
||||||
codeProjectStream.Dispose();
|
codeProjectStream.Dispose();
|
||||||
|
|
||||||
File.WriteAllText(codeProject, GetProjectTemplate());
|
File.WriteAllText(codeProject, GetProjectTemplate());
|
||||||
|
|
@ -230,6 +228,11 @@ namespace Cosmos.VS.ProjectSystem
|
||||||
codeProjectDocument.Root.Descendants().Where(d => d.Name == "PropertyGroup").LastOrDefault()
|
codeProjectDocument.Root.Descendants().Where(d => d.Name == "PropertyGroup").LastOrDefault()
|
||||||
.Add(cosmosProjectProperties);
|
.Add(cosmosProjectProperties);
|
||||||
|
|
||||||
|
if (references.Count() > 0)
|
||||||
|
{
|
||||||
|
codeProjectDocument.Root.Add(new XElement("ItemGroup", references));
|
||||||
|
}
|
||||||
|
|
||||||
if (projectReferences.Count() > 0)
|
if (projectReferences.Count() > 0)
|
||||||
{
|
{
|
||||||
codeProjectDocument.Root.Add(new XElement("ItemGroup", projectReferences));
|
codeProjectDocument.Root.Add(new XElement("ItemGroup", projectReferences));
|
||||||
|
|
@ -240,11 +243,6 @@ namespace Cosmos.VS.ProjectSystem
|
||||||
codeProjectDocument.Root.Add(new XElement("ItemGroup", packageReferences));
|
codeProjectDocument.Root.Add(new XElement("ItemGroup", packageReferences));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (references.Count() > 0)
|
|
||||||
{
|
|
||||||
codeProjectDocument.Root.Add(new XElement("ItemGroup", references));
|
|
||||||
}
|
|
||||||
|
|
||||||
using (var xmlWriter = XmlWriter.Create(codeProject,
|
using (var xmlWriter = XmlWriter.Create(codeProject,
|
||||||
new XmlWriterSettings()
|
new XmlWriterSettings()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,4 @@
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Cosmos.Build" Version="*" />
|
|
||||||
<PackageReference Include="Cosmos.Debug.Kernel" Version="*" />
|
|
||||||
<PackageReference Include="Cosmos.System2" Version="*" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue