diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props
index 45234b98b..40003b788 100644
--- a/build/BundledRuntimes.props
+++ b/build/BundledRuntimes.props
@@ -6,21 +6,24 @@
-internal
+
+ -upgrade
+
- dotnet-runtime-deps-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerExtension)
+ dotnet-runtime-deps-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerEndSuffix)$(InstallerExtension)
$(PackagesDirectory)/$(DownloadedRuntimeDepsInstallerFileName)
$(CoreSetupRid)
x64
- dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
+ dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerEndSuffix)$(InstallerExtension)
$(PackagesDirectory)/$(DownloadedSharedHostInstallerFileName)
- dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
+ dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerEndSuffix)$(InstallerExtension)
$(PackagesDirectory)/$(DownloadedHostFxrInstallerFileName)
- dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension)
+ dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerEndSuffix)$(InstallerExtension)
$(PackagesDirectory)/$(DownloadedSharedFrameworkInstallerFileName)
@@ -34,7 +37,7 @@
$(AspNetCoreSharedFxInstallerRid)
x64
- aspnetcore-runtime-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid)$(InstallerExtension)
+ aspnetcore-runtime-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid)$(InstallerEndSuffix)$(InstallerExtension)
aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid).wixlib
$(PackagesDirectory)/$(DownloadedAspNetCoreSharedFxInstallerFileName)
diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props
index 541798aac..abc39ac02 100644
--- a/build/DependencyVersions.props
+++ b/build/DependencyVersions.props
@@ -1,9 +1,9 @@
- 2.1.0-rc1-30661
+ 2.1.0-rtm-30752
$(MicrosoftAspNetCoreAllPackageVersion)
- 2.1.0-rtm-26505-04
+ 2.1.0-rtm-26508-02
$(MicrosoftNETCoreAppPackageVersion)
15.7.177
$(MicrosoftBuildPackageVersion)
@@ -29,8 +29,8 @@
$(MicrosoftTemplateEngineCliPackageVersion)
$(MicrosoftTemplateEngineCliPackageVersion)
$(MicrosoftTemplateEngineCliPackageVersion)
- 2.1.0-rtm-26505-04
- 2.1.0-rtm-26505-04
+ 2.1.0-rtm-26508-02
+ 2.1.0-rtm-26508-02
0.1.1-rtm-62905-02
1.3.1-alpha-62905-02
$(MicrosoftDotNetProjectJsonMigrationPackageVersion)
@@ -44,7 +44,7 @@
$(NuGetBuildTasksPackageVersion)
$(NuGetBuildTasksPackageVersion)
$(NuGetBuildTasksPackageVersion)
- 15.7.0
+ 15.8.0-preview-20180510-03
$(MicrosoftNETTestSdkPackageVersion)
$(MicrosoftNETTestSdkPackageVersion)
0.2.0-beta-000042
diff --git a/build/Package.targets b/build/Package.targets
index 77ea2aa33..cbb5d7152 100644
--- a/build/Package.targets
+++ b/build/Package.targets
@@ -4,6 +4,7 @@
+
diff --git a/build/Version.props b/build/Version.props
index 2877c012a..d10ef2251 100644
--- a/build/Version.props
+++ b/build/Version.props
@@ -5,6 +5,7 @@
100
preview1
+ $(VersionMajor).$(VersionMinor)
$(VersionMajor).$(VersionMinor).$(VersionPatch)
$(CliVersionNoSuffix)-$(ReleaseSuffix)
$(CliVersionNoSuffix) - $(ReleaseSuffix)
diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets
index a3800edce..349089d86 100644
--- a/build/package/Installer.DEB.targets
+++ b/build/package/Installer.DEB.targets
@@ -1,11 +1,8 @@
-
- dotnet-sdk-$(SdkVersion)
-
-
+ DependsOnTargets="Init;
+ CalculateLinuxNativeInstallerDependencyVersions">
$(MSBuildThisFileDirectory)/dotnet-deb-tool-consumer
@@ -25,18 +22,23 @@
- $(MicrosoftNETCoreAppPackageVersion)
+ $(MicrosoftNETCoreAppMajorMinorVersion)
dotnet-runtime-deps-$(RuntimeDepsPackageVersion)
- $(SdkVersion)
+ $(MajorMinorVersion)
dotnet-sdk-$(SdkDebianPackageVersion)
- $(MicrosoftNETCoreAppPackageVersion)
+ $(MicrosoftNETCoreAppPackageVersion)
+ $(MicrosoftNETCoreAppMajorMinorVersion)
+ dotnet-runtime-$(SharedFxDebianPackageFileVersion)
+ $(SharedFxDebianPackageFileName.ToLower())
dotnet-runtime-$(SharedFxDebianPackageVersion)
$(SharedFxDebianPackageName.ToLower())
- $(HostFxrVersion)
+ $(HostFxrMajorMinorVersion)
dotnet-hostfxr-$(HostFxrDebianPackageVersion)
$(HostFxrDebianPackageName.ToLower())
dotnet-host
- aspnetcore-runtime-$(AspNetCoreVersion)
+ aspnetcore-runtime-$(AspNetCoreVersion)
+ $(AspNetCoreSharedFxDebianPackageFileName.ToLower())
+ aspnetcore-runtime-$(AspNetCoreMajorMinorVersion)
$(AspNetCoreSharedFxDebianPackageName.ToLower())
@@ -99,11 +101,17 @@
- $(SdkVersion)
+ $(MajorMinorVersion)
$(SdkBrandName)
+
+ $(MicrosoftNETCoreAppPackageVersionWithTilda)
+
+
+ $(AspNetCoreVersionWithTilda)
+
$(SdkVersion)
diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets
index 4fbc87067..e6e4fa917 100644
--- a/build/package/Installer.RPM.targets
+++ b/build/package/Installer.RPM.targets
@@ -68,13 +68,13 @@
- $(MicrosoftNETCoreAppPackageVersion)
+ $(MicrosoftNETCoreAppMajorMinorPatchVersion)
$(AspNetCoreSharedFxRpmPackageName)
- $(AspNetCoreVersion)
+ $(AspNetCoreMajorMinorPatchVersion)
$(SharedFxRpmPackageName)
@@ -143,10 +143,10 @@
-
+
$(MicrosoftNETCoreAppPackageVersion)
- dotnet-runtime-deps-$(RuntimeDepsPackageVersion)
+ dotnet-runtime-deps-$(RuntimeDepsPackageVersion)
$(SdkVersion)
$(OutputDirectory)/sdk
$(InstallerOutputDirectory)/$(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(InstallerExtension)
@@ -168,17 +168,22 @@
- $(SdkVersion)
+ $(MajorMinorVersion)
$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkRpmPackageVersion)
- $(MicrosoftNETCoreAppPackageVersion)
+ $(MicrosoftNETCoreAppMajorMinorVersion)
+ $(MicrosoftNETCoreAppPackageVersion)
dotnet-runtime-$(SharedFxRpmPackageVersion)
$(SharedFxRpmPackageName.ToLower())
+ dotnet-runtime-$(SharedFxRpmPackageFileVersion)
+ $(SharedFxRpmPackageFileName.ToLower())
$(HostFxrVersion)
dotnet-hostfxr-$(HostFxrRpmPackageVersion)
$(HostFxrRpmPackageName.ToLower())
dotnet-host
- aspnetcore-runtime-$(AspNetCoreVersion)
+ aspnetcore-runtime-$(AspNetCoreMajorMinorVersion)
$(AspNetCoreSharedFxRpmPackageName.ToLower())
+ aspnetcore-runtime-$(AspNetCoreVersion)
+ $(AspNetCoreSharedFxRpmPackageFileName.ToLower())
$(ScriptsDir)/$(AfterInstallHostScriptName)
$(RpmLayoutScripts)/$(AfterInstallHostScriptName)
@@ -238,10 +243,10 @@
-
-
+
+
-
+
diff --git a/build/package/LinuxNativeInstallerDependencyVersions.targets b/build/package/LinuxNativeInstallerDependencyVersions.targets
new file mode 100644
index 000000000..27acc4fb3
--- /dev/null
+++ b/build/package/LinuxNativeInstallerDependencyVersions.targets
@@ -0,0 +1,35 @@
+
+
+
+
+ $([MSBuild]::Add($(MicrosoftNETCoreAppPackageVersion.IndexOf('.')), 1))
+ $(MicrosoftNETCoreAppPackageVersion.IndexOf('.', $(MicrosoftNETCoreAppPatchSeparatorIndex)))
+ $(MicrosoftNETCoreAppPackageVersion.Substring(0, $(MicrosoftNETCoreAppPatchSeparatorIndex)))
+
+ $(MicrosoftNETCoreAppPackageVersion.IndexOf('-'))
+ $(MicrosoftNETCoreAppPackageVersion)
+ $(MicrosoftNETCoreAppPackageVersion.Substring(0, $(MicrosoftNETCoreAppVersionPreReleaseSeparator)))
+ $([MSBuild]::Add($(MicrosoftNETCoreAppVersionPreReleaseSeparator), 1))
+ $(MicrosoftNETCoreAppPackageVersion.Substring($(MicrosoftNETCoreAppVersionPreReleaseSeparatorStartIndex)))
+ $(MicrosoftNETCoreAppMajorMinorPatchVersion)
+ $(MicrosoftNETCoreAppMajorMinorPatchVersion)~$(MicrosoftNETCoreVersionSuffix)
+
+ $([MSBuild]::Add($(AspNetCoreVersion.IndexOf('.')), 1))
+ $(AspNetCoreVersion.IndexOf('.', $(AspNetCoreVersionPatchSeparatorIndex)))
+ $(AspNetCoreVersion.Substring(0, $(AspNetCoreVersionPatchSeparatorIndex)))
+
+ $(AspNetCoreVersion.IndexOf('-'))
+ $(AspNetCoreVersion)
+ $(AspNetCoreVersion.Substring(0, $(AspNetCoreVersionPreReleaseSeparator)))
+ $([MSBuild]::Add($(AspNetCoreVersionPreReleaseSeparator), 1))
+ $(AspNetCoreVersion.Substring($(AspNetCoreVersionPreReleaseSeparatorStartIndex)))
+ $(AspNetCoreMajorMinorPatchVersion)
+ $(AspNetCoreMajorMinorPatchVersion)~$(AspNetCoreVersionSuffix)
+
+ $([MSBuild]::Add($(HostFxrVersion.IndexOf('.')), 1))
+ $(HostFxrVersion.IndexOf('.', $(HostFxrVersionPatchSeparatorIndex)))
+ $(HostFxrVersion.Substring(0, $(HostFxrVersionPatchSeparatorIndex)))
+
+
+
+
diff --git a/packaging/deb/dotnet-debian_config.json b/packaging/deb/dotnet-debian_config.json
index 307c8b897..e6f046507 100644
--- a/packaging/deb/dotnet-debian_config.json
+++ b/packaging/deb/dotnet-debian_config.json
@@ -29,7 +29,7 @@
},
"debian_dependencies":{
- "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%" : {}%SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY%,
- "%ASPNETCORE_SHAREDFX_DEBIAN_PACKAGE_NAME%": {}
+ "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%" : { "package_version": "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_VERSIONS%" }%SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY%,
+ "%ASPNETCORE_SHAREDFX_DEBIAN_PACKAGE_NAME%": { "package_version": "%ASPNETCORE_SHAREDFX_DEBIAN_PACKAGE_VERSION%" }
}
}
diff --git a/src/Microsoft.DotNet.Configurer/NoOpFileSentinel.cs b/src/Microsoft.DotNet.Configurer/NoOpFileSentinel.cs
index e77097011..80e3d0831 100644
--- a/src/Microsoft.DotNet.Configurer/NoOpFileSentinel.cs
+++ b/src/Microsoft.DotNet.Configurer/NoOpFileSentinel.cs
@@ -7,9 +7,16 @@ namespace Microsoft.DotNet.Configurer
{
public class NoOpFileSentinel : IFileSentinel
{
+ private bool _exists;
+
+ public NoOpFileSentinel(bool exists)
+ {
+ _exists = exists;
+ }
+
public bool Exists()
{
- return true;
+ return _exists;
}
public void Create()
diff --git a/src/dotnet/Program.cs b/src/dotnet/Program.cs
index 6ae1409ce..ce08bcb56 100644
--- a/src/dotnet/Program.cs
+++ b/src/dotnet/Program.cs
@@ -147,7 +147,7 @@ namespace Microsoft.DotNet.Cli
{
aspNetCertificateSentinel = new NoOpAspNetCertificateSentinel();
firstTimeUseNoticeSentinel = new NoOpFirstTimeUseNoticeSentinel();
- toolPathSentinel = new NoOpFileSentinel();
+ toolPathSentinel = new NoOpFileSentinel(exists: false);
hasSuperUserAccess = true;
}
diff --git a/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs b/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs
index bccc3c053..b554d528e 100644
--- a/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs
+++ b/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs
@@ -6,6 +6,7 @@ using System.IO;
using System.Collections.Generic;
using Microsoft.DotNet.Cli.Utils;
using Microsoft.DotNet.Cli;
+using Microsoft.DotNet.Configurer;
using Microsoft.DotNet.TestFramework;
using Microsoft.DotNet.Tools.Test.Utilities;
using Xunit;
@@ -193,6 +194,49 @@ namespace Microsoft.DotNet.Tests
.ContainVisuallySameFragment(Configurer.LocalizableStrings.AspNetCertificateInstalled);
}
+ [LinuxOnlyFact]
+ public void ItCreatesTheProfileFileOnLinuxWhenInvokedFromNativeInstaller()
+ {
+ var emptyHome = Path.Combine(_testDirectory, "empty_home");
+ var profiled = Path.Combine(_testDirectory, "profile.d");
+
+ var command = new DotnetCommand().WithWorkingDirectory(_testDirectory);
+ command.Environment["HOME"] = emptyHome;
+ command.Environment["USERPROFILE"] = emptyHome;
+ command.Environment["APPDATA"] = emptyHome;
+ command.Environment["DOTNET_CLI_TEST_FALLBACKFOLDER"] = _nugetFallbackFolder.FullName;
+ command.Environment["DOTNET_SKIP_FIRST_TIME_EXPERIENCE"] = "";
+ command.Environment["DOTNET_CLI_TEST_LINUX_PROFILED_PATH"] = profiled;
+ command.Environment["DOTNET_DISABLE_MULTICOREJIT"] = "true";
+ command.Environment["SkipInvalidConfigurations"] = "true";
+ command.ExecuteWithCapturedOutput("internal-reportinstallsuccess test").Should().Pass();
+
+ File.Exists(profiled).Should().BeTrue();
+ File.ReadAllText(profiled).Should().Be(
+ $"export PATH=\"$PATH:{new CliFolderPathCalculator().ToolsShimPathInUnix.PathWithDollar}\"");
+ }
+
+ [MacOsOnlyFact]
+ public void ItCreatesThePathDFileOnMacOSWhenInvokedFromNativeInstaller()
+ {
+ var emptyHome = Path.Combine(_testDirectory, "empty_home");
+ var pathsd = Path.Combine(_testDirectory, "paths.d");
+
+ var command = new DotnetCommand().WithWorkingDirectory(_testDirectory);
+ command.Environment["HOME"] = emptyHome;
+ command.Environment["USERPROFILE"] = emptyHome;
+ command.Environment["APPDATA"] = emptyHome;
+ command.Environment["DOTNET_CLI_TEST_FALLBACKFOLDER"] = _nugetFallbackFolder.FullName;
+ command.Environment["DOTNET_SKIP_FIRST_TIME_EXPERIENCE"] = "";
+ command.Environment["DOTNET_CLI_TEST_OSX_PATHSD_PATH"] = pathsd;
+ command.Environment["DOTNET_DISABLE_MULTICOREJIT"] = "true";
+ command.Environment["SkipInvalidConfigurations"] = "true";
+ command.ExecuteWithCapturedOutput("internal-reportinstallsuccess test").Should().Pass();
+
+ File.Exists(pathsd).Should().BeTrue();
+ File.ReadAllText(pathsd).Should().Be(new CliFolderPathCalculator().ToolsShimPathInUnix.PathWithTilde);
+ }
+
[Fact]
public void ItRestoresTheNuGetPackagesToTheNuGetCacheFolder()
{