Merge branch 'rel/1.0.0' into tp-20170217

This commit is contained in:
Livar 2017-02-17 21:34:26 -08:00 committed by GitHub
commit aba1e18ff6
8 changed files with 13 additions and 78 deletions

View file

@ -1,4 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup> <PropertyGroup>
<VersionPrefix>1.0.0-rc</VersionPrefix> <VersionPrefix>1.0.0-rc</VersionPrefix>
<TargetFramework>netcoreapp1.0</TargetFramework> <TargetFramework>netcoreapp1.0</TargetFramework>
@ -18,7 +20,7 @@
<Version>1.0.4</Version> <Version>1.0.4</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.Extensions.DependencyModel"> <PackageReference Include="Microsoft.Extensions.DependencyModel">
<Version>1.0.1-beta-000933</Version> <Version>$(DependencyModelVersion)</Version>
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>

View file

@ -11,5 +11,6 @@
<TemplateEngineVersion>1.0.0-beta1-20170202-111</TemplateEngineVersion> <TemplateEngineVersion>1.0.0-beta1-20170202-111</TemplateEngineVersion>
<TemplateEngineTemplateVersion>1.0.0-beta1-20170206-112</TemplateEngineTemplateVersion> <TemplateEngineTemplateVersion>1.0.0-beta1-20170206-112</TemplateEngineTemplateVersion>
<PlatformAbstractionsVersion>1.1.1</PlatformAbstractionsVersion> <PlatformAbstractionsVersion>1.1.1</PlatformAbstractionsVersion>
<DependencyModelVersion>1.0.2</DependencyModelVersion>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View file

@ -20,7 +20,7 @@
<Version>4.1.0</Version> <Version>4.1.0</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.DotNet.PlatformAbstractions"> <PackageReference Include="Microsoft.DotNet.PlatformAbstractions">
<Version>1.0.1-beta-000933</Version> <Version>$(PlatformAbstractionsVersion)</Version>
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>

View file

@ -52,7 +52,7 @@
<Version>$(CLI_MSBuild_Version)</Version> <Version>$(CLI_MSBuild_Version)</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.DotNet.PlatformAbstractions"> <PackageReference Include="Microsoft.DotNet.PlatformAbstractions">
<Version>1.0.1-beta-000933</Version> <Version>$(PlatformAbstractionsVersion)</Version>
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>
</Project> </Project>

View file

@ -38,7 +38,7 @@
<Version>7.2.1</Version> <Version>7.2.1</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.DotNet.PlatformAbstractions"> <PackageReference Include="Microsoft.DotNet.PlatformAbstractions">
<Version>1.0.1-beta-000933</Version> <Version>$(PlatformAbstractionsVersion)</Version>
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>

View file

@ -12,7 +12,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyModel"> <PackageReference Include="Microsoft.Extensions.DependencyModel">
<Version>1.0.1-beta-000933</Version> <Version>$(DependencyModelVersion)</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Microsoft.DotNet.PlatformAbstractions"> <PackageReference Include="Microsoft.DotNet.PlatformAbstractions">
<Version>$(PlatformAbstractionsVersion)</Version> <Version>$(PlatformAbstractionsVersion)</Version>

View file

@ -50,15 +50,6 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
propertyGroup, propertyGroup,
mergeExisting: true); mergeExisting: true);
} }
_transformApplicator.Execute(
RuntimeIdentifiersTransform.Transform(migrationRuleInputs.ProjectContexts),
propertyGroup,
mergeExisting: true);
_transformApplicator.Execute(
RuntimeIdentifierTransform.Transform(migrationRuleInputs.ProjectContexts),
propertyGroup,
mergeExisting: true);
} }
private void CleanExistingProperties(ProjectRootElement csproj) private void CleanExistingProperties(ProjectRootElement csproj)
@ -127,36 +118,5 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Rules
"TargetFramework", "TargetFramework",
framework => framework.GetShortFolderName(), framework => framework.GetShortFolderName(),
framework => true); framework => true);
private AddPropertyTransform<IEnumerable<ProjectContext>> RuntimeIdentifiersTransform =>
new AddPropertyTransform<IEnumerable<ProjectContext>>(
"RuntimeIdentifiers",
projectContexts => RuntimeIdentifiers,
projectContexts => !projectContexts.HasRuntimes() &&
!projectContexts.HasLibraryOutput() &&
projectContexts.HasBothCoreAndFullFrameworkTFMs());
private AddPropertyTransform<IEnumerable<ProjectContext>> RuntimeIdentifierTransform =>
new AddPropertyTransform<IEnumerable<ProjectContext>>(
"RuntimeIdentifier",
projectContexts => "win7-x86",
projectContexts => !projectContexts.HasRuntimes() &&
!projectContexts.HasLibraryOutput() &&
projectContexts.HasFullFrameworkTFM())
.WithMSBuildCondition(projectContexts =>
{
string msBuildCondition = null;
if (projectContexts.HasBothCoreAndFullFrameworkTFMs())
{
msBuildCondition = string.Join(
" OR ",
projectContexts.Where(p => p.IsFullFramework()).Select(
p => $"'$(TargetFramework)' == '{p.TargetFramework.GetShortFolderName()}'"));
msBuildCondition = $" {msBuildCondition} ";
}
return msBuildCondition;
});
} }
} }

View file

@ -69,7 +69,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests
} }
[Fact] [Fact]
public void MigratingCoreAndDesktopTFMsAddsAllRuntimeIdentifiersIfTheProjectDoesNothaveAnyAlready() public void MigratingCoreAndDesktopTFMsDoesNoAddRuntimeIdentifiersOrRuntimeIdentifierWhenTheProjectDoesNothaveAnyAlready()
{ {
var testDirectory = Temp.CreateDirectory().Path; var testDirectory = Temp.CreateDirectory().Path;
var testPJ = new ProjectJsonBuilder(TestAssetsManager) var testPJ = new ProjectJsonBuilder(TestAssetsManager)
@ -88,35 +88,8 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests
new MigrateTFMRule().Apply(migrationSettings, migrationInputs); new MigrateTFMRule().Apply(migrationSettings, migrationInputs);
mockProj.Properties.Count(p => p.Name == "RuntimeIdentifiers").Should().Be(1); mockProj.Properties.Count(p => p.Name == "RuntimeIdentifiers").Should().Be(0);
mockProj.Properties.First(p => p.Name == "RuntimeIdentifiers") mockProj.Properties.Count(p => p.Name == "RuntimeIdentifier").Should().Be(0);
.Value.Should().Be("win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.23-x64;opensuse.13.2-x64");
}
[Fact]
public void MigratingCoreAndDesktopTFMsAddsRuntimeIdentifierWithWin7x86ConditionOnAllFullFrameworksWhenNoRuntimesExistAlready()
{
var testDirectory = Temp.CreateDirectory().Path;
var testPJ = new ProjectJsonBuilder(TestAssetsManager)
.FromTestAssetBase("PJAppWithMultipleFrameworks")
.SaveToDisk(testDirectory);
var projectContexts = ProjectContext.CreateContextForEachFramework(testDirectory);
var mockProj = ProjectRootElement.Create();
var migrationSettings = MigrationSettings.CreateMigrationSettingsTestHook(testDirectory, testDirectory, mockProj);
var migrationInputs = new MigrationRuleInputs(
projectContexts,
mockProj,
mockProj.AddItemGroup(),
mockProj.AddPropertyGroup());
new MigrateTFMRule().Apply(migrationSettings, migrationInputs);
mockProj.Properties.Count(p => p.Name == "RuntimeIdentifier").Should().Be(1);
var runtimeIdentifier = mockProj.Properties.First(p => p.Name == "RuntimeIdentifier");
runtimeIdentifier.Value.Should().Be("win7-x86");
runtimeIdentifier.Condition.Should().Be(" '$(TargetFramework)' == 'net20' OR '$(TargetFramework)' == 'net35' OR '$(TargetFramework)' == 'net40' OR '$(TargetFramework)' == 'net461' ");
} }
[Fact] [Fact]
@ -144,7 +117,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests
} }
[Fact] [Fact]
public void MigratingProjectWithFullFrameworkTFMsOnlyAddsARuntimeIdentifierWin7x86WhenNoRuntimesExistAlready() public void MigratingProjectWithFullFrameworkTFMsDoesNotAddRuntimeIdentifiersOrRuntimeIdentiferWhenNoRuntimesExistAlready()
{ {
var testDirectory = Temp.CreateDirectory().Path; var testDirectory = Temp.CreateDirectory().Path;
var testPJ = new ProjectJsonBuilder(TestAssetsManager) var testPJ = new ProjectJsonBuilder(TestAssetsManager)
@ -165,8 +138,7 @@ namespace Microsoft.DotNet.ProjectJsonMigration.Tests
new MigrateTFMRule().Apply(migrationSettings, migrationInputs); new MigrateTFMRule().Apply(migrationSettings, migrationInputs);
mockProj.Properties.Count(p => p.Name == "RuntimeIdentifiers").Should().Be(0); mockProj.Properties.Count(p => p.Name == "RuntimeIdentifiers").Should().Be(0);
mockProj.Properties.Where(p => p.Name == "RuntimeIdentifier").Should().HaveCount(1); mockProj.Properties.Where(p => p.Name == "RuntimeIdentifier").Should().HaveCount(0);
mockProj.Properties.Single(p => p.Name == "RuntimeIdentifier").Value.Should().Be("win7-x86");
} }
[Fact] [Fact]