Merge branch 'release/2.0.0' into patch-1
This commit is contained in:
commit
10e95d890c
285 changed files with 4816 additions and 1361 deletions
|
@ -17,8 +17,6 @@ Obtaining .NET CLI
|
|||
* [Acquisition modes](#acquisition-modes)
|
||||
* [Native installers](#native-installers)
|
||||
* [Installation script](#installation-script)
|
||||
* [Windows one-liner](#windows-command)
|
||||
* [OSX/Linux one-liner](#osxlinux-shell-command)
|
||||
* [Complete manual installation](#complete-manual-installation)
|
||||
* [Docker](#docker)
|
||||
* [NuGet Packages](#nuget-packages)
|
||||
|
@ -113,28 +111,17 @@ A list of dependencies can be found on [dependency list](TBD).
|
|||
## Channels
|
||||
Channels represent a way for users who are getting the CLI to reason about the stability and quality of the bits they are getting. This is one more way for the user to be fully aware of the state the bits that are being installed are in and to set proper expectations on first use.
|
||||
|
||||
The table below outlines the channels:
|
||||
|
||||
| Property | Description |
|
||||
| Channel | Description |
|
||||
|------------------ |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Future | Unstable bits that are "bleeding edge". Users are not expected to use this channel often, however it is there for those situations when someone needs/wants a feature that hasn't been stabilizied yet. Also, used for internal testing. |
|
||||
| Preview | Pre-release stable builds with known issues and/or known feature gaps. We are OK with users installing these for preview purposes. |
|
||||
| Production | Actual releases. Most users are encouraged to install these. |
|
||||
|
||||
Below table shows the mapping between the channels, branches and feeds for the Debian pacakage. Since channels also impact the NuGet packages, it also contains the version of the package used and the feed to opt in to each channel.
|
||||
|
||||
| Channel | Branch | Debian feed | Debian package name | NuGet version | NuGet feed |
|
||||
|------------ |----------- |------------- |--------------------- |--------------- |--------------------------------------- |
|
||||
| Future | master | Development | dotnet-future | 1.0.0-dev-* | https://dotnet.myget.org/f/dotnet-cli |
|
||||
| Preview | rel/<ver> | Development | dotnet-sdk-<version> | 1.0.0-beta-* | https://dotnet.myget.org/f/dotnet-cli |
|
||||
| Production | rel/<ver> | Production | dotnet-sdk-<version> | 1.0.0 | https://api.nuget.org/v3/index.json |
|
||||
| LTS | Latest long-term supported release. |
|
||||
| Current | Most current release - typically 'preview' releases. |
|
||||
|
||||
|
||||
## Funnels and discovery mechanisms for CLI bits
|
||||
There are multiple ways that we will funnel users towards the installers for the CLI:
|
||||
|
||||
1. [Getting Started Page](https://aka.ms/dotnetcoregs)
|
||||
2. [Repo landing page](https://github.com/dotnet/cli/blob/rel/1.0.0/README.md)
|
||||
2. [Repo landing page](../../README.md)
|
||||
3. Package repositories for platforms (`apt-get`, `brew` etc.)
|
||||
4. IDEs and editors that integrate with CLI (e.g. Visual Studio, VS Code, Sublime etc.)
|
||||
|
||||
|
@ -152,11 +139,10 @@ The below table shows other pertinent information for installs on the "Getting s
|
|||
| Debian feed | Development |
|
||||
| Brew repo/tap | Brew binary repo (https://github.com/Homebrew/homebrew-binary) |
|
||||
| CentOS feed | TBD |
|
||||
| Local install scripts | Latest from rel/1.0.0 |
|
||||
|
||||
|
||||
### Repo landing page
|
||||
The repo landing page can be found on: https://github.com/dotnet/cli/blob/rel/1.0.0/README.md. Download links on the landing page should be decreased in importance. First thing for "you want to get started" section should link to the getting started page on the marketing site. The Repo Landing Page should be used primarily by contributors to the CLI. There should be a separate page that has instructions on how to install both the latest stable as well as latest development with proper warnings around it. The separate page is to really avoid the situation from people accidentally installing unstable bits (since search engines can drop them in the repo first).
|
||||
The repo landing page can be found on: [Repo landing page](../../README.md). Download links on the landing page should be decreased in importance. First thing for "you want to get started" section should link to the getting started page on the marketing site. The Repo Landing Page should be used primarily by contributors to the CLI. There should be a separate page that has instructions on how to install both the latest stable as well as latest development with proper warnings around it. The separate page is to really avoid the situation from people accidentally installing unstable bits (since search engines can drop them in the repo first).
|
||||
|
||||
The source branches and other items are actually branch specific for the repo landing page. As the user switches branches, the links and badges on the page will change to reflect the builds from that branch.
|
||||
|
||||
|
@ -197,13 +183,12 @@ This install covers the following main scenario:
|
|||
|
||||
|
||||
The features the script needs to support/have are:
|
||||
* Support for dev and stable channel
|
||||
* Support for specifying the channel
|
||||
* Support for specifying the version
|
||||
* Support for specfying the installation location
|
||||
* Support specifying whether the debug package needs to be downloaded
|
||||
* Support for specifying the installation location
|
||||
* Automatically add the install to $PATH unless --no-path/-NoPath is present
|
||||
|
||||
The installation script exists in this repo under `scripts/obtain` path. However, for most users it is reccomended to use the stable version that is hosted on [.NET Core main website](https://dot.net). The direct path to the scripts are:
|
||||
It is recommended to use the stable version that is hosted on [.NET Core main website](https://dot.net). The direct path to the scripts are:
|
||||
|
||||
* https://dot.net/v1/dotnet-install.sh (bash, UNIX)
|
||||
* https://dot.net/v1/dotnet-install.ps1 (powershell, Windows)
|
||||
|
@ -214,10 +199,9 @@ The following arguments are needed for the installation script:
|
|||
|
||||
| dotnet-install.sh arg (Linux, OSX) | dotnet-install.ps1 arg (Windows) | Defaults | Description |
|
||||
|------------------------------------|----------------------------------|-----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| --channel | -Channel | "production" | Which channel (i.e. "Future", "preview", "production", "release/1.1.0") to install from. |
|
||||
| --version | -Version | Latest | Which version of CLI to install; you need to specify the version as 3-part version (i.e. 1.0.0-13232). If omitted, it will default to Latest for that channel. |
|
||||
| --channel | -Channel | "LTS" | Which channel (i.e. "LTS", "Current", "1.0", "2.0", etc) to install from. |
|
||||
| --version | -Version | Latest | Which version of CLI to install; you need to specify the version as 3-part version (i.e. 1.0.0-13232). The 'version' parameter supersedes the 'channel' parameter. |
|
||||
| --install-dir | -InstallDir | .dotnet | Path to where to install the CLI bundle. The directory is created if it doesn't exist. On Linux/OSX this directory is created in the user home directory (`$HOME`). On Windows, this directory is created in `%LocalAppData%`. |
|
||||
| --debug-symbols | -DebugSymbols | false | Whether to use the "fat" packages that contain debugging symbols or not. |
|
||||
| --no-path | -NoPath | false | Do not export the installdir to the path for the current session. This makes CLI tools available immediately after install. |
|
||||
| --shared-runtime | -SharedRuntime | false | Install just the shared runtime bits, not the entire SDK. |
|
||||
| --architecture | -Architecture | Current OS (`<auto>`) | Architecture to install. The possible values are `<auto>`, `x64` and `x86`. |
|
||||
|
@ -231,62 +215,59 @@ The following arguments are needed for the installation script:
|
|||
|
||||
Windows:
|
||||
```
|
||||
./dotnet-install.ps1 -Channel 'release/1.1.0' -SharedRuntime -Version 1.1.1
|
||||
./dotnet-install.ps1 -SharedRuntime -Version 1.1.0
|
||||
```
|
||||
|
||||
macOS/Linux:
|
||||
```
|
||||
./dotnet-install.sh --channel 'release/1.1.0' --shared-runtime --version 1.1.1
|
||||
./dotnet-install.sh --shared-runtime --version 1.1.0
|
||||
```
|
||||
|
||||
##### Install the latest Future CLI
|
||||
##### Install the latest supported CLI
|
||||
|
||||
Windows:
|
||||
```
|
||||
./dotnet-install.ps1 -Channel Future
|
||||
./dotnet-install.ps1 -Channel LTS
|
||||
```
|
||||
OSX/Linux:
|
||||
```
|
||||
./dotnet-install.sh --channel Future
|
||||
./dotnet-install.sh --channel LTS
|
||||
```
|
||||
|
||||
##### Install the latest preview to specified location
|
||||
##### Install the latest CLI to specified location
|
||||
|
||||
Windows:
|
||||
```
|
||||
./dotnet-install.ps1 -Channel preview -InstallDir C:\cli
|
||||
./dotnet-install.ps1 -Channel Current -InstallDir C:\cli
|
||||
```
|
||||
OSX/Linux:
|
||||
```
|
||||
./dotnet-install.sh --channel preview --install-dir ~/cli
|
||||
./dotnet-install.sh --channel Current --install-dir ~/cli
|
||||
```
|
||||
|
||||
#### Windows obtain one-liner example
|
||||
##### Install the latest CLI in the 2.0 channel
|
||||
|
||||
Windows:
|
||||
```
|
||||
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "&{iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/dotnet-install.ps1'))}"
|
||||
./dotnet-install.ps1 -Channel 2.0
|
||||
```
|
||||
|
||||
#### OSX/Linux obtain one-liner
|
||||
|
||||
OSX/Linux:
|
||||
```
|
||||
curl -sSL https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/dotnet-install.sh | bash /dev/stdin <additional args>
|
||||
./dotnet-install.sh --channel 2.0
|
||||
```
|
||||
|
||||
### Docker
|
||||
[Docker](https://docs.docker.com/) has become a pretty good way to use developer tools, from trying them out in an interactive image use to using it for deployment. We have Docker images on DockerHub already.
|
||||
|
||||
Docker images should always be updated as we make new releases. We should have Docker images of stable releases, built from the rel/* branches.
|
||||
Docker images should always be updated as we make new releases. We should have Docker images of stable releases, built from the release branches.
|
||||
|
||||
### NuGet packages
|
||||
NuGet packages of the CLI bits that make sense are published to relevant feeds. The developer who wishes to use these needs to specify a version. The version is used to opt-in to the three channels above. The actuall "installation" here is restoring the package as a dependency for a certain project (i.e. `ProjectServer` or similar).
|
||||
|
||||
The table in the [channels section](#channels) has the examples of mapping between branches and NuGet package versions.
|
||||
NuGet packages of the CLI bits that make sense are published to relevant feeds. The developer who wishes to use these needs to specify a version. The actual "installation" here is restoring the package as a dependency for a certain project (i.e. `ProjectServer` or similar).
|
||||
|
||||
## Acquiring through other products
|
||||
|
||||
### IDEs and editors
|
||||
Anything that goes into the higher-level tools should always use a stable build of CLI coming frol rel/* branches as required.
|
||||
Anything that goes into the higher-level tools should always use a stable build of CLI coming frol release branches as required.
|
||||
|
||||
If there exist any mechanism that notifies users of updates of the CLI, it should ideally point users to the Getting Started page to acquire the installers, or, if that is deemed too heavy-handed, it should point people to the last stable release. If there is a need of the URL to be "baked in" to the higher-level tool, that URL should be an aka.ms URL because it needs to be stable on that end.
|
||||
|
||||
|
|
|
@ -1,248 +0,0 @@
|
|||
# Notes
|
||||
This section describes placeholders used inside this spec.
|
||||
|
||||
| Placeholder | Description |
|
||||
| ---: | :--- |
|
||||
| `<Channel>` | `(future|preview|production)`. [See more info](#channels) |
|
||||
| `<Version>` | version string |
|
||||
| `<OSName>` | `(win|ubuntu|rhel|osx|debian)` - code for OS name |
|
||||
| `<LowestSupportedOSVersion>` | Lowest supported OS Version |
|
||||
| `<Architecture>` | Processor architecture related to binaries produced |
|
||||
| `<Extension>` | File extension. This will be described in more details later for each OS separately. |
|
||||
| `<OSID>` | Abbreviation for: `<OSName><LowestSupportedOSVersion>.<Architecture>`. [See more info](#osid) |
|
||||
| `<VersionPointer>` | `(latest|lkg)` |
|
||||
| `<ExecutableExtension>` | Executable extension including dot specific to OS (can be empty string) |
|
||||
| `<CommitHash>` | Commit hash related to state of repository from where build with specific `<Version>` was build |
|
||||
| `<DebianPackageName>` | Name of the debian package. [See more info](#debian-feed-relation) |
|
||||
|
||||
# Build Output
|
||||
Each official, successful build should create and upload packages to location described by following URLs:
|
||||
```
|
||||
https://dotnetcli.azureedge.net/dotnet/<Channel>/<Version>/dotnet.<OSID>.<Version>.<Extension>
|
||||
|
||||
Currently:
|
||||
https://dotnetcli.azureedge.net/dotnet/<Channel>/Binaries/<Version>/dotnet-sharedframework-<OSName>-<Architecture>.<Version>.zip
|
||||
https://dotnetcli.azureedge.net/dotnet/<Channel>/Binaries/<Version>/dotnet-host-<OSName>-<Architecture>.<Version>.zip
|
||||
https://dotnetcli.azureedge.net/dotnet/<Channel>/Binaries/<Version>/dotnet-<OSName>-<Architecture>.<Version>.zip
|
||||
```
|
||||
Content of the package should contain binaries which layout will be described later.
|
||||
|
||||
Additionally each build should update `latest` [version descriptors](#version-descriptors)
|
||||
|
||||
## Windows output
|
||||
|
||||
Nuget - WIP, this should include versioning scheme
|
||||
|
||||
| `<Extension>` | Description |
|
||||
| --- | :--- |
|
||||
| exe | Installer bundle. It should be used by end customers |
|
||||
| zip | Packed binaries. Used by [installation script](#installation-scripts) |
|
||||
| symbols.zip | Packed binaries with included symbols. See [symbol packages](#symbol-packages) |
|
||||
|
||||
### Including dotnet cli installer as part of your bundle
|
||||
|
||||
In order to install dotnet cli with other installer you need an MSI package. To get MSI, download exe bundle and extract it using `dark` tool which is part of [WiX Toolset](http://wixtoolset.org):
|
||||
```
|
||||
dark.exe -x <FolderWhereToExtract> <InstallerPath>
|
||||
```
|
||||
|
||||
## OSX output
|
||||
|
||||
| `<Extension>` | Description |
|
||||
| --- | :--- |
|
||||
| pkg | WIP |
|
||||
| tar.gz | Packed binaries. Used by [installation script](#installation-scripts) |
|
||||
| symbols.tar.gz | Packed binaries with included symbols. See [symbol packages](#symbol-packages) |
|
||||
|
||||
## Ubuntu output
|
||||
|
||||
| `<Extension>` | Description |
|
||||
| --- | :--- |
|
||||
| deb | Debian package. This package is being pushed to a [debian feed](#debian-feed) |
|
||||
| tar.gz | Packed binaries. Used by [installation script](#installation-scripts) |
|
||||
| symbols.tar.gz | Packed binaries with included symbols. See [symbol packages](#symbol-packages) |
|
||||
|
||||
## RedHat/CentOS output
|
||||
|
||||
| `<Extension>` | Description |
|
||||
| --- | :--- |
|
||||
| tar.gz | Packed binaries. Used by [installation script](#installation-scripts) |
|
||||
| symbols.tar.gz | Packed binaries with included symbols. See [symbol packages](#symbol-packages) |
|
||||
|
||||
## Debian output
|
||||
|
||||
| `<Extension>` | Description |
|
||||
| --- | :--- |
|
||||
| tar.gz | Packed binaries. Used by [installation script](#installation-scripts) |
|
||||
| symbols.tar.gz | Packed binaries with included symbols. See [symbol packages](#symbol-packages) |
|
||||
|
||||
## Example build output links
|
||||
WIP
|
||||
|
||||
## Questions
|
||||
- Should <Version> include channel name to avoid situation where you have two files on your computer and latest file might have lower version than the newest?
|
||||
|
||||
# Obtaining dotnet
|
||||
|
||||
## Installation scripts
|
||||
|
||||
Installation script is a shell script which lets customers install dotnet.
|
||||
|
||||
For Windows we are using PowerShell script (install-dotnet.ps1).
|
||||
For any other OS we are using bash script (install-dotnet.sh)
|
||||
|
||||
WIP: Exact script action description.
|
||||
|
||||
### Script arguments description
|
||||
|
||||
| PowerShell/Bash script | Bash script only | Default | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| -Channel | --channel | production | Which [channel](#channels) to install from. Possible values: `future`, `preview`, `production` |
|
||||
| -Version | --version | `global.json` or `latest` | `global.json` currently not supported |
|
||||
| -InstallDir | --prefix | Windows: `%LocalAppData%\Microsoft\.dotnet` | Path to where install dotnet. Note that binaries will be placed directly in a given directory. |
|
||||
| -Architecture | ~~--architecture~~ | auto | Possible values: `auto`, `x64`, `x86`. `auto` refers to currently running OS architecture. This switch is currently not supported in bash scripts. |
|
||||
| -DebugSymbols | --debug-symbols | `<not set>` | If switch present, installation will include debug symbol |
|
||||
| -DryRun | --dry-run | `<not set>` | If switch present, installation will not be performed and instead deterministic invocation with specific version and zip location will be displayed. |
|
||||
| -NoPath | --no-path | `<not set>` | If switch present the script will not set PATH environmental variable for the current process. |
|
||||
| -Verbose | --verbose | `<not set>` | If switch present displays diagnostics information. |
|
||||
| -AzureFeed | --azure-feed | See description | Azure feed URL, default: `https://dotnetcli.azureedge.net/dotnet` |
|
||||
|
||||
### Script location
|
||||
WIP: permanent link for obtaining latest version
|
||||
WIP: versioning description
|
||||
Newest version of the scripts can be found in the repository under following directory:
|
||||
```
|
||||
https://github.com/dotnet/cli/tree/rel/1.0.0/scripts/obtain
|
||||
```
|
||||
|
||||
Older version of the script can be obtained using:
|
||||
```
|
||||
https://github.com/dotnet/cli/blob/<commit_hash>/scripts/obtain
|
||||
```
|
||||
|
||||
## Getting started page
|
||||
WIP
|
||||
|
||||
## Repo landing page
|
||||
WIP
|
||||
|
||||
# Version descriptors
|
||||
## Version pointers
|
||||
Version pointers represent URLs to the latest and Last Known Good (LKG) builds.
|
||||
Specific URLs TBD. This will be something similar to following:
|
||||
```
|
||||
<Domain>/dotnet/<Channel>/<VersionPointer>.<OSID>.version
|
||||
```
|
||||
|
||||
`<Domain>` TBD
|
||||
|
||||
## Version files
|
||||
Version files can be found in multiple places:
|
||||
- Package: relative path inside the package ./.version
|
||||
- Latest/LKG version file: WIP
|
||||
|
||||
URL:
|
||||
```
|
||||
https://dotnetcli.azureedge.net/dotnet/<Channel>/<VersionPointer>.<OSID>.version
|
||||
```
|
||||
|
||||
### File content
|
||||
Each version file contains two lines describing the build:
|
||||
```
|
||||
<CommitHash>
|
||||
<Version>
|
||||
```
|
||||
|
||||
## Version badge
|
||||
Version badge (SVG) is an image with textual representation of `<Version>`. It can be found under following URL:
|
||||
```
|
||||
https://dotnetcli.azureedge.net/dotnet/<Channel>/<VersionPointer>.<OSID>.svg
|
||||
```
|
||||
|
||||
## Questions/gaps
|
||||
- Version Pointer links should be permanent and hosted on a separate domain
|
||||
|
||||
# Package content
|
||||
Currently package is required to contain two files:
|
||||
- .version - [version file](#version-file)
|
||||
- dotnet<ExecutableExtension> - entry point for all dotnet commands
|
||||
|
||||
## Disk Layout
|
||||
```
|
||||
.\
|
||||
.version
|
||||
bin\
|
||||
dotnet<ExecutableExtension>
|
||||
```
|
||||
|
||||
# Channels
|
||||
Currently we have 3 channels which gives us idea about stability and quality of our product.
|
||||
|
||||
| Channel name | Description |
|
||||
| :---: | :--- |
|
||||
| future | This channel can contain new features which may not be fully complete. This is usually most unstable channel. |
|
||||
| preview | This channel is in the process of stablization. Most of the bugs and gaps are known. No new features expected. |
|
||||
| production | This is the most stable channel. Features and gaps are known. No breaking changes can be expected. This channel will only be producing new versions on hotfixes. |
|
||||
|
||||
## Github branches relation
|
||||
|
||||
Each branch on each successful build produces packages described in [build output](#build-output). Mapping between branches and channel name can be found in the table below:
|
||||
|
||||
| Channel name | Github branch |
|
||||
| :---: | :--- |
|
||||
| future | master |
|
||||
| preview | rel/1.0.0 |
|
||||
| production | N/A, prod? |
|
||||
|
||||
## Debian feed relation
|
||||
|
||||
After each successful build package is being pushed to the debian feed. More information on debian feed can be found [here](#debian-feed).
|
||||
|
||||
| Channel name | `<DebianPackageName>` |
|
||||
| :---: | :--- |
|
||||
| future | dotnet-future |
|
||||
| preview | dotnet-preview |
|
||||
| production | dotnet |
|
||||
|
||||
## Nuget semantic version suffix relation
|
||||
WIP
|
||||
|
||||
## Questions
|
||||
- What is the bar for triggering hotfix?
|
||||
|
||||
# OSID
|
||||
|
||||
OSID represents abbreviation for:
|
||||
```
|
||||
<OSName><LowestSupportedOSVersion>.<Architecture>
|
||||
```
|
||||
This naming scheme gives us flexibility to easily create new binaries when OS makes a breaking change without creating confusing names.
|
||||
|
||||
In example, we currently put `api-ms-*.dll` files in our binaries. Those files are not needed on Windows 8 and higher. When using name `win7.x64` we can easily decide to get rid of `api-ms-*.dll` in the newest packages and simply call new version `win8.x64` which would mean that from Windows 8 forward those are recommended binaries (there is currently no issue with those files and this should be only treated as an example).
|
||||
|
||||
# Debian feed
|
||||
|
||||
Newest binaries in debian feed may be delayed due to external issues by up to 24h.
|
||||
|
||||
## Obtaining binaries
|
||||
|
||||
Add debian feed:
|
||||
```
|
||||
sudo sh -c 'echo "deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
|
||||
|
||||
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
|
||||
|
||||
sudo apt-get update
|
||||
```
|
||||
|
||||
Install:
|
||||
```
|
||||
sudo apt-get install <DebianPackageName>=<Version>
|
||||
```
|
||||
|
||||
## Questions
|
||||
- Is debian version compatible with `<Version>` or does it require additional revision number, i.e.: `1.0.0.001598-1`?
|
||||
- How to differentiate between Debian package for Debian and Debian package for Ubuntu?
|
||||
-
|
||||
# Symbol packages
|
||||
WIP
|
|
@ -231,6 +231,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-remove-package.Tests
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-add-package.Tests", "test\dotnet-add-package.Tests\dotnet-add-package.Tests.csproj", "{08A40B6A-F695-4EA9-AC8D-CF88FADEA796}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_fsc", "src\tool_fsharp\tool_fsc.csproj", "{602976C5-2477-4B4C-AD9A-1EAFB250529A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
|
|
@ -5,8 +5,9 @@
|
|||
<clear />
|
||||
<add key="templating" value="https://dotnet.myget.org/F/templating/api/v3/index.json" />
|
||||
<add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />
|
||||
<add key="aspnet-final" value="https://dotnet.myget.org/F/aspnetcore-2-0-0-preview1-no-timestamp/api/v3/index.json" />
|
||||
<add key="aspnet-release" value="https://dotnet.myget.org/F/aspnetcore-release/api/v3/index.json" />
|
||||
<add key="aspnet" value="https://dotnet.myget.org/F/aspnetcore-release/api/v3/index.json" />
|
||||
<!-- Replace the aspnet entry above with this one when we switch to no-timestamp packages -->
|
||||
<!-- add key="aspnet" value="https://dotnet.myget.org/F/aspnet-2-0-0-rtm/api/v3/index.json" / -->
|
||||
<add key="websdkfeed" value="https://dotnet.myget.org/F/dotnet-web/api/v3/index.json" />
|
||||
<add key="cli-deps" value="https://dotnet.myget.org/F/cli-deps/api/v3/index.json" />
|
||||
<add key="roslyn" value="https://dotnet.myget.org/f/roslyn/api/v3/index.json" />
|
||||
|
@ -15,7 +16,6 @@
|
|||
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
|
||||
<add key="vstest" value="https://dotnet.myget.org/F/vstest/api/v3/index.json" />
|
||||
<add key="build_tools" value="https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json" />
|
||||
<add key="AspNetCurrent" value="https://dotnet.myget.org/F/aspnet-feb2017-patch/api/v3/index.json" />
|
||||
<add key="web-api" value="https://dotnet.myget.org/F/dotnet-web/api/v3/index.json" />
|
||||
<add key="symreader-native" value="https://dotnet.myget.org/F/symreader-native/api/v3/index.json" />
|
||||
</packageSources>
|
||||
|
|
83
README.md
83
README.md
|
@ -14,7 +14,7 @@ If you are looking for the v1.0.1 release of the .NET Core tools (CLI, MSBuild a
|
|||
|
||||
Found an issue?
|
||||
---------------
|
||||
You can consult the [known issues page](https://github.com/dotnet/core/blob/release/2.0.0/cli/known-issues.md) to find out the current issues and to see workarounds.
|
||||
You can consult the [Documents Index](Documentation/README.md) to find out the current issues and to see the workarounds.
|
||||
|
||||
If you don't find your issue, please file one! However, given that this is a very high-frequency repo, we've setup some [basic guidelines](Documentation/project-docs/issue-filing-guide.md) to help you. Please consult those first.
|
||||
|
||||
|
@ -23,70 +23,77 @@ This project has adopted the code of conduct defined by the [Contributor Covenan
|
|||
Build Status
|
||||
------------
|
||||
|
||||
|Ubuntu 14.04 / Linux Mint 17 |Ubuntu 16.04 | Ubuntu 16.10 |Debian 8 |Windows x64 |Windows x86 |macOS |CentOS 7.1 / Oracle Linux 7.1 |RHEL 7.2 | Linux x64 |
|
||||
|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|
|
||||
|[![][ubuntu-14.04-build-badge]][ubuntu-14.04-build]|[![][ubuntu-16.04-build-badge]][ubuntu-16.04-build]|[![][ubuntu-16.10-build-badge]][ubuntu-16.10-build]|[![][debian-8-build-badge]][debian-8-build]|[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][centos-build-badge]][centos-build]|[![][rhel-build-badge]][rhel-build]|[![][linux-build-badge]][linux-build]|
|
||||
|Windows x64 |Windows x86 |Mac OS X |Linux x64 |Ubuntu 14.04 / Linux Mint 17 |Ubuntu 16.04 |Ubuntu 16.10 |Debian 8 |RHEL 7.2 |
|
||||
|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|
|
||||
|[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][linux-build-badge]][linux-build]|[![][ubuntu-14.04-build-badge]][ubuntu-14.04-build]|[![][ubuntu-16.04-build-badge]][ubuntu-16.04-build]|[![][ubuntu-16.10-build-badge]][ubuntu-16.10-build]|[![][debian-8-build-badge]][debian-8-build]|[![][rhel-build-badge]][rhel-build]|
|
||||
|
||||
[win-x64-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6208/badge
|
||||
[win-x64-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6208
|
||||
[win-x64-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6786/badge
|
||||
[win-x64-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6786
|
||||
|
||||
[win-x86-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6209/badge
|
||||
[win-x86-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6209
|
||||
[win-x86-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6787/badge
|
||||
[win-x86-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6787
|
||||
|
||||
[ubuntu-14.04-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6205/badge
|
||||
[ubuntu-14.04-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6205
|
||||
[osx-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6781/badge
|
||||
[osx-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6781
|
||||
|
||||
[ubuntu-16.04-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6206/badge
|
||||
[ubuntu-16.04-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6206
|
||||
[linux-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6780/badge
|
||||
[linux-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6780
|
||||
|
||||
[ubuntu-16.10-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6207/badge
|
||||
[ubuntu-16.10-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6207
|
||||
[ubuntu-14.04-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6783/badge
|
||||
[ubuntu-14.04-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6783
|
||||
|
||||
[debian-8-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6199/badge
|
||||
[debian-8-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6199
|
||||
[ubuntu-16.04-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6784/badge
|
||||
[ubuntu-16.04-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6784
|
||||
|
||||
[osx-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6203/badge
|
||||
[osx-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6203
|
||||
[ubuntu-16.10-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6785/badge
|
||||
[ubuntu-16.10-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6785
|
||||
|
||||
[centos-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6198/badge
|
||||
[centos-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6198
|
||||
[debian-8-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6778/badge
|
||||
[debian-8-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6778
|
||||
|
||||
[rhel-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6204/badge
|
||||
[rhel-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6204
|
||||
|
||||
[linux-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6201/badge
|
||||
[linux-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6201
|
||||
[rhel-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6782/badge
|
||||
[rhel-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6782
|
||||
|
||||
Installers and Binaries
|
||||
-----------------------
|
||||
|
||||
You can download .NET Core SDK as either an installer (MSI, PKG) or a zip (zip, tar.gz). .NET Core SDK contains both the .NET Core runtime and CLI tools.
|
||||
You can download the .NET Core SDK as either an installer (MSI, PKG) or a zip (zip, tar.gz). The .NET Core SDK contains both the .NET Core runtime and CLI tools.
|
||||
|
||||
In order to download the .NET Core runtime without the SDK, see https://github.com/dotnet/core-setup#daily-builds.
|
||||
To download the .NET Core runtime **without** the SDK, visit https://github.com/dotnet/core-setup#daily-builds.
|
||||
|
||||
> **Note:** The following installers are the **latest prerelease bits**. If you
|
||||
> want to install the latest released versions, see the [preceding section](#looking-for-v1-of-the-net-core-tooling).
|
||||
> **Note:** Be aware that the following installers are the **latest bits**. If you
|
||||
> want to install the latest released versions, check out the [preceding section](#looking-for-v1-of-the-net-core-tooling).
|
||||
|
||||
| Platform | release/2.0.0<br>[![][version-badge]][version] |
|
||||
| Platform | Latest Daily Build<br>*release/2.0.0*<br>[![][version-badge]][version] |
|
||||
| -------- | :-------------------------------------: |
|
||||
| **Windows x64** | [Installer][win-x64-installer] - [Checksum][win-x64-installer-checksum]<br>[zip][win-x64-zip] - [Checksum][win-x64-zip-checksum] |
|
||||
| **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]<br>[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] |
|
||||
| **Mac OS X** | [Installer][osx-installer] - [Checksum][osx-installer-checksum]<br>[tar.gz][osx-targz] - [Checksum][osx-targz-checksum] |
|
||||
| **Linux x64** | [tar.gz][linux-targz] - [Checksum][linux-targz-checksum] |
|
||||
| **Ubuntu 14.04 / Linux Mint 17** | [Installer][ubuntu-14.04-installer] - [Checksum][ubuntu-14.04-installer-checksum]<br>*See Installer Note Below<br>tar.gz - See **Linux x64** |
|
||||
| **Ubuntu 16.04** | [Installer][ubuntu-16.04-installer] - [Checksum][ubuntu-16.04-installer-checksum]<br>*See Installer Note Below<br>tar.gz - See **Linux x64** |
|
||||
| **Ubuntu 16.10** | [Installer][ubuntu-16.10-installer] - [Checksum][ubuntu-16.10-installer-checksum]<br>*See Installer Note Below<br>tar.gz - See **Linux x64** |
|
||||
| **Debian 8** | [Installer][debian-8-installer] - [Checksum][debian-8-installer-checksum]<br>*See Installer Note Below<br>tar.gz - See **Linux x64** |
|
||||
| **Ubuntu 14.04 / Linux Mint 17** | [Installer][ubuntu-14.04-installer] - [Checksum][ubuntu-14.04-installer-checksum]<br>_see installer note below_<sup>1</sup><br>tar.gz - See **Linux x64** |
|
||||
| **Ubuntu 16.04** | [Installer][ubuntu-16.04-installer] - [Checksum][ubuntu-16.04-installer-checksum]<br>_see installer note below_<sup>1</sup><br>tar.gz - See **Linux x64** |
|
||||
| **Ubuntu 16.10** | [Installer][ubuntu-16.10-installer] - [Checksum][ubuntu-16.10-installer-checksum]<br>_see installer note below_<sup>1</sup><br>tar.gz - See **Linux x64** |
|
||||
| **Debian 8** | [Installer][debian-8-installer] - [Checksum][debian-8-installer-checksum]<br>_see installer note below_<sup>1</sup><br>tar.gz - See **Linux x64** |
|
||||
| **RHEL 7.2** | [Installer][rhel-7-installer] - [Checksum][rhel-7-installer-checksum]<br>_see installer note below_<sup>1</sup><br>tar.gz - See **Linux x64** |
|
||||
| **CentOS 7.1 / Oracle Linux 7** | tar.gz - See **Linux x64** |
|
||||
| **RHEL 7.2** | [Installer][rhel-7-installer] - [Checksum][rhel-7-installer-checksum]<br>*See Installer Note Below<br>tar.gz - See **Linux x64** |
|
||||
| **Fedora 24** | tar.gz - See **Linux x64** |
|
||||
| **OpenSUSE 42.1** | tar.gz - See **Linux x64** |
|
||||
|
||||
*Note: Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing these directly from the .deb files (via dpkg or similar), then you'll need to install the [corresponding Host, Host FX Resolver, and Shared Framework packages](https://github.com/dotnet/core-setup#daily-builds) before installing the Sdk package.*
|
||||
|
||||
| Latest Coherent Build<sup>2</sup><br>*release/2.0.0* |
|
||||
|:------:|
|
||||
| [![][coherent-version-badge]][coherent-version] |
|
||||
|
||||
Reference notes:
|
||||
> **1**: *Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing these directly from the .deb files (via dpkg or similar), then you'll need to install the [corresponding Host, Host FX Resolver, and Shared Framework packages](https://github.com/dotnet/core-setup#daily-builds) before installing the Sdk package.*
|
||||
> <br><br>**2**: *A 'coherent' build is defined as a build where the Runtime version matches between the CLI and Asp.NET.*
|
||||
|
||||
|
||||
[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/latest.version
|
||||
[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/latest.coherent.version
|
||||
[comment]: # (The latest versions are always the same across all platforms. Just need one to show, so picking win-x64's svg.)
|
||||
[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/win_x64_Release_version_badge.svg
|
||||
[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/win_x86_Release_coherent_badge.svg
|
||||
|
||||
[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-win-x64.exe
|
||||
[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-win-x64.exe.sha
|
||||
|
@ -202,7 +209,7 @@ Compiling to IL is done using:
|
|||
This will drop an IL assembly in `./bin/[configuration]/[framework]/[binary name]`
|
||||
that you can run using `dotnet bin/[configuration]/[framework]/[binaryname.dll]`.
|
||||
|
||||
For more details, please refer to the [documentation](https://aka.ms/dotnet-cli-docs).
|
||||
For more details, refer to the [documentation](https://aka.ms/dotnet-cli-docs).
|
||||
|
||||
Building from source
|
||||
--------------------
|
||||
|
@ -214,7 +221,7 @@ Read over the [contributing guidelines](CONTRIBUTING.md) and [developer document
|
|||
Questions & Comments
|
||||
--------------------
|
||||
|
||||
For any and all feedback, please use the Issues on this repository.
|
||||
For all feedback, use the Issues on this repository.
|
||||
|
||||
License
|
||||
-------
|
||||
|
|
|
@ -23,8 +23,7 @@ namespace Microsoft.DotNet.Tools.DependencyInvoker
|
|||
Create.Option(
|
||||
"-h|--help",
|
||||
"Show help information",
|
||||
Accept.NoArguments(),
|
||||
materialize: o => o.Option.Command().HelpView()),
|
||||
Accept.NoArguments()),
|
||||
Create.Option(
|
||||
"-p|--project-path",
|
||||
"Path to Project.json that contains the tool dependency",
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<Project ToolsVersion="14.0">
|
||||
<PropertyGroup>
|
||||
<SdkBrandName>Microsoft .NET Core SDK - 2.0.0 Preview 2</SdkBrandName>
|
||||
<SdkBrandName>Microsoft .NET Core SDK - 2.0.1</SdkBrandName>
|
||||
<MSBuildExtensionsBrandName>.NET Standard Support for Visual Studio 2015</MSBuildExtensionsBrandName>
|
||||
<SharedFrameworkBrandName>Microsoft .NET Core Runtime - 2.0.0</SharedFrameworkBrandName>
|
||||
<SharedHostBrandName>Microsoft .NET Core Host - 2.0.0</SharedHostBrandName>
|
||||
<HostFxrBrandName>Microsoft .NET Core Host FX Resolver - 2.0.0</HostFxrBrandName>
|
||||
|
@ -22,12 +23,14 @@
|
|||
<ArtifactNameSdk>dotnet-sdk-internal</ArtifactNameSdk>
|
||||
<ArtifactNameSdkDebug>dotnet-sdk-debug</ArtifactNameSdkDebug>
|
||||
<ArtifactNameCombinedHostHostFxrFrameworkSdk>dotnet-sdk</ArtifactNameCombinedHostHostFxrFrameworkSdk>
|
||||
<ArtifactNameSdkLanguagePack>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-langpack</ArtifactNameSdkLanguagePack>
|
||||
|
||||
<ArtifactNameWithVersionSdk>$(ArtifactNameSdk)-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionSdk>
|
||||
|
||||
<ArtifactNameWithVersionMSBuildExtensions>dotnet-standard-support-vs2015-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionMSBuildExtensions>
|
||||
|
||||
<ArtifactNameWithVersionSdkDebug>$(ArtifactNameSdkDebug)-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionSdkDebug>
|
||||
<ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>
|
||||
<ArtifactNameWithVersionSdkLanguagePack>$(ArtifactNameSdkLanguagePack)-$(SdkVersion)-$(ProductMonikerRid)</ArtifactNameWithVersionSdkLanguagePack>
|
||||
<DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)-$(HostMonikerRid)</DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<AspNetCoreRuntimeInstallerBlobRootUrl>$(CoreSetupBlobRootUrl)aspnetcore/store/$(AspNetCoreRuntimeVersion)</AspNetCoreRuntimeInstallerBlobRootUrl>
|
||||
<AspNetCoreRuntimeInstallerBlobRootUrl>$(CoreSetupBlobRootUrl)aspnetcore/store/$(AspNetCoreRuntimeAzureblobStoresSubfolderName)</AspNetCoreRuntimeInstallerBlobRootUrl>
|
||||
<AspNetCoreSharedRuntimeVersionFileName>runtime.version</AspNetCoreSharedRuntimeVersionFileName>
|
||||
<AspNetCoreSharedRuntimeVersionFile Condition=" '$(AspNetCoreSharedRuntimeVersionFileName)' != '' ">$(PackagesDirectory)/$(AspNetCoreSharedRuntimeVersionFileName)</AspNetCoreSharedRuntimeVersionFile>
|
||||
|
||||
|
@ -40,8 +40,8 @@
|
|||
<AspNetCoreRuntimeInstallerArchiveFileNameOSToken Condition=" '$(HostOSName)' == 'osx' ">$(HostOSName)</AspNetCoreRuntimeInstallerArchiveFileNameOSToken>
|
||||
<AspNetCoreRuntimeInstallerArchiveFileNameOSToken Condition=" '$(AspNetCoreRuntimeInstallerArchiveFileNameOSToken)' == '' ">linux</AspNetCoreRuntimeInstallerArchiveFileNameOSToken>
|
||||
|
||||
<AspNetCoreRuntimeStoreSuffix Condition="'$(AspNetCoreRuntimePackageFlavor)' != 'notimestamp'">-$(AspNetCoreCoherenceTimestamp)</AspNetCoreRuntimeStoreSuffix>
|
||||
<AspNetCoreRuntimeInstallerArchiveSuffix Condition="'$(AspNetCoreRuntimeStoreSuffix)' != ''">-$(AspNetCoherenceLabel)$(AspNetCoreRuntimeStoreSuffix)</AspNetCoreRuntimeInstallerArchiveSuffix>
|
||||
<AspNetCoreRuntimeStoreSuffix Condition="'$(AspNetCoreRuntimePackageFlavor)' != 'notimestamp'">-$(AspNetCoreRuntimePackageTimestamp)</AspNetCoreRuntimeStoreSuffix>
|
||||
<AspNetCoreRuntimeInstallerArchiveSuffix Condition="'$(AspNetCoreRuntimeStoreSuffix)' != ''">-$(AspNetCoreRelease)$(AspNetCoreRuntimeStoreSuffix)</AspNetCoreRuntimeInstallerArchiveSuffix>
|
||||
<AspNetCoreRuntimeInstallerArchiveFileName>Build.RS.$(AspNetCoreRuntimeInstallerArchiveFileNameOSToken)$(AspNetCoreRuntimeInstallerArchiveSuffix)$(ArchiveExtension)</AspNetCoreRuntimeInstallerArchiveFileName>
|
||||
<AspNetCoreRuntimeInstallerArchiveFile>$(PackagesDirectory)/$(AspNetCoreRuntimeInstallerArchiveFileName)</AspNetCoreRuntimeInstallerArchiveFile>
|
||||
|
||||
|
|
|
@ -1,47 +1,54 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<CLI_SharedFrameworkVersion>2.0.0-preview3-25419-01</CLI_SharedFrameworkVersion>
|
||||
<CLI_MSBuild_Version>15.3.0-preview-000400-01</CLI_MSBuild_Version>
|
||||
<CLI_Roslyn_Version>2.3.0-beta3-61816-04</CLI_Roslyn_Version>
|
||||
<CLI_SharedFrameworkVersion>2.0.0</CLI_SharedFrameworkVersion>
|
||||
<CLI_MSBuild_Version>15.3.409</CLI_MSBuild_Version>
|
||||
<CLI_Roslyn_Version>2.3.2-beta1-61921-05</CLI_Roslyn_Version>
|
||||
<CLI_Roslyn_Satellites_Version>2.3.0-pre-20170727-1</CLI_Roslyn_Satellites_Version>
|
||||
<CLI_DiaSymNative_Version>1.6.0-beta2-25304</CLI_DiaSymNative_Version>
|
||||
<CLI_FSharp_Version>4.2.0-rc-170602-0</CLI_FSharp_Version>
|
||||
<CLI_FSharp_Version>4.2.0-rc-170630-0</CLI_FSharp_Version>
|
||||
<CLI_FSharp_Satellites_Version>4.4.1-pre-20170727-1</CLI_FSharp_Satellites_Version>
|
||||
|
||||
<!-- We'll usually want to keep these versions in sync, but we may want to diverge in some
|
||||
cases, so use separate properties but derive one from the other unless we want to
|
||||
explicitly use different versions. -->
|
||||
<CLI_NETSDK_Version>2.0.0-preview2-20170615-7</CLI_NETSDK_Version>
|
||||
<CLI_NETSDK_Version>2.0.0-preview3-20170804-1</CLI_NETSDK_Version>
|
||||
<CLI_MSBuildExtensions_Version>$(CLI_NETSDK_Version)</CLI_MSBuildExtensions_Version>
|
||||
|
||||
<CLI_NuGet_Version>4.3.0-preview3-4168</CLI_NuGet_Version>
|
||||
<CLI_NETStandardLibraryNETFrameworkVersion>2.0.0-preview2-25331-02</CLI_NETStandardLibraryNETFrameworkVersion>
|
||||
<CLI_WEBSDK_Version>2.0.0-rel-20170518-512</CLI_WEBSDK_Version>
|
||||
<CLI_TestPlatform_Version>15.3.0-preview-20170618-03</CLI_TestPlatform_Version>
|
||||
<CLI_NuGet_Version>4.3.0-rtm-4382</CLI_NuGet_Version>
|
||||
<CLI_NETStandardLibraryNETFrameworkVersion>2.0.0-preview3-25514-04</CLI_NETStandardLibraryNETFrameworkVersion>
|
||||
<CLI_WEBSDK_Version>2.0.0-rel-20170815-630</CLI_WEBSDK_Version>
|
||||
<CLI_TestPlatform_Version>15.3.0-preview-20170628-02</CLI_TestPlatform_Version>
|
||||
<SharedFrameworkVersion>$(CLI_SharedFrameworkVersion)</SharedFrameworkVersion>
|
||||
<SharedHostVersion>$(CLI_SharedFrameworkVersion)</SharedHostVersion>
|
||||
<HostFxrVersion>$(CLI_SharedFrameworkVersion)</HostFxrVersion>
|
||||
<TemplateEngineVersion>1.0.0-beta2-20170608-254</TemplateEngineVersion>
|
||||
<TemplateEngineTemplateVersion>1.0.0-beta2-20170612-258</TemplateEngineTemplateVersion>
|
||||
<TemplateEngineTemplate2_0Version>1.0.0-beta2-20170612-258</TemplateEngineTemplate2_0Version>
|
||||
<PlatformAbstractionsVersion>2.0.0-preview3-25419-01</PlatformAbstractionsVersion>
|
||||
<DependencyModelVersion>2.0.0-preview3-25419-01</DependencyModelVersion>
|
||||
<CliCommandLineParserVersion>0.1.0-alpha-142</CliCommandLineParserVersion>
|
||||
<TemplateEngineVersion>1.0.0-beta2-20170810-304</TemplateEngineVersion>
|
||||
<TemplateEngineTemplateVersion>1.0.0-beta2-20170810-304</TemplateEngineTemplateVersion>
|
||||
<TemplateEngineTemplate2_0Version>1.0.0-beta2-20170810-304</TemplateEngineTemplate2_0Version>
|
||||
<PlatformAbstractionsVersion>2.0.0</PlatformAbstractionsVersion>
|
||||
<DependencyModelVersion>2.0.0</DependencyModelVersion>
|
||||
<CliCommandLineParserVersion>0.1.1-alpha-167</CliCommandLineParserVersion>
|
||||
<CliMigrateVersion>1.2.1-alpha-002133</CliMigrateVersion>
|
||||
<MicroBuildVersion>0.2.0</MicroBuildVersion>
|
||||
<SpaTemplateVersion>1.0.0-preview-000297</SpaTemplateVersion>
|
||||
<SpaTemplateVersion>1.0.417</SpaTemplateVersion>
|
||||
<XliffTasksVersion>0.2.0-beta-000042</XliffTasksVersion>
|
||||
|
||||
<!-- This should either be timestamped or notimestamp as appropriate -->
|
||||
<AspNetCoreRuntimePackageFlavor>timestamped</AspNetCoreRuntimePackageFlavor>
|
||||
<AspNetCoreRuntimeVersion>2.0.0-preview2-186</AspNetCoreRuntimeVersion>
|
||||
<AspNetCoherenceLabel>preview2</AspNetCoherenceLabel>
|
||||
<AspNetCoreCoherenceTimestamp>25661</AspNetCoreCoherenceTimestamp>
|
||||
<AspNetCoreRuntimePackageFlavor>notimestamp</AspNetCoreRuntimePackageFlavor>
|
||||
<!--BranchName and AspNetCoreVersion will not always be the same-->
|
||||
<AspNetCoreBranchName>2.0.0</AspNetCoreBranchName>
|
||||
<AspNetCoreRelease>rtm</AspNetCoreRelease>
|
||||
<AspNetCoreVersion>2.0.0</AspNetCoreVersion>
|
||||
<AspNetCoreRuntimePackageTimestamp>26452</AspNetCoreRuntimePackageTimestamp>
|
||||
|
||||
<AspNetCoreRuntimePackageBrandName>aspnetcore-store</AspNetCoreRuntimePackageBrandName>
|
||||
<AspNetCoreVersionAndRelease>$(AspNetCoreVersion)-$(AspNetCoreRelease)</AspNetCoreVersionAndRelease>
|
||||
<AspNetCoreRuntimeAzureblobStoresSubfolderName>$(AspNetCoreBranchName)-$(AspNetCoreRuntimePackageTimestamp)</AspNetCoreRuntimeAzureblobStoresSubfolderName>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- infrastructure and test only dependencies -->
|
||||
<PropertyGroup>
|
||||
<VersionToolsVersion>1.0.27-prerelease-01611-04</VersionToolsVersion>
|
||||
<VersionToolsVersion>1.0.27-prerelease-01723-01</VersionToolsVersion>
|
||||
<DotnetDebToolVersion>2.0.0-preview2-25331-01</DotnetDebToolVersion>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -2,11 +2,13 @@
|
|||
<PropertyGroup>
|
||||
<InstallerOutputDirectory>$(PackagesDirectory)</InstallerOutputDirectory>
|
||||
<SdkInstallerFile>$(InstallerOutputDirectory)/$(ArtifactNameWithVersionSdk)$(InstallerExtension)</SdkInstallerFile>
|
||||
<MSBuildExtensionsInstallerFile>$(InstallerOutputDirectory)/$(ArtifactNameWithVersionMSBuildExtensions)$(InstallerExtension)</MSBuildExtensionsInstallerFile>
|
||||
<CombinedFrameworkSdkHostInstallerFile>$(InstallerOutputDirectory)/$(ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(BundleExtension)</CombinedFrameworkSdkHostInstallerFile>
|
||||
|
||||
<SdkDebianIntermediateDirectory>$(IntermediateDirectory)/debian/sdk</SdkDebianIntermediateDirectory>
|
||||
<LayoutDirectory Condition=" '$(OSName)' == 'ubuntu' OR '$(OSName)' == 'debian' ">$(SdkDebianIntermediateDirectory)/debianLayoutDirectory</LayoutDirectory>
|
||||
<LayoutDirectory Condition=" '$(OSName)' != 'ubuntu' AND '$(OSName)' != 'debian' ">$(IntermediateDirectory)/layouts</LayoutDirectory>
|
||||
<SdkLayoutOutputDirectory>$(LayoutDirectory)/$(ArtifactNameSdk)</SdkLayoutOutputDirectory>
|
||||
<MSBuildExtensionsOutputDirectory>$(LayoutDirectory)/MSBuildExtensions</MSBuildExtensionsOutputDirectory>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -5,24 +5,27 @@
|
|||
<Import Project="$(MSBuildThisFileDirectory)/publish/PublishDebian.targets" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)/publish/Badge.targets" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)/publish/Checksum.targets" />
|
||||
|
||||
<Import Project="$(MSBuildThisFileDirectory)/publish/RuntimeCoherence.targets" />
|
||||
|
||||
<!-- PUBLISH_TO_AZURE_BLOB env variable set by CI -->
|
||||
<Target Name="Publish"
|
||||
Condition=" '$(PUBLISH_TO_AZURE_BLOB)' != '' "
|
||||
DependsOnTargets="Init;
|
||||
Package;
|
||||
EvaluateRuntimeCoherence;
|
||||
PublishArtifacts;
|
||||
FinishBuild" />
|
||||
|
||||
<!-- UploadToAzure target comes from Build Tools -->
|
||||
<Target Name="PublishArtifacts"
|
||||
DependsOnTargets="GenerateVersionBadge;
|
||||
GatherItemsForPattern;
|
||||
GenerateChecksums;
|
||||
UploadArtifactsToAzure;
|
||||
UploadChecksumsToAzure;
|
||||
PublishDebFilesToDebianRepo;
|
||||
PublishCliVersionBadge" />
|
||||
DependsOnTargets="GenerateVersionBadge;
|
||||
GenerateCoherentBadge;
|
||||
GatherItemsForPattern;
|
||||
GenerateChecksums;
|
||||
UploadArtifactsToAzure;
|
||||
UploadChecksumsToAzure;
|
||||
PublishDebFilesToDebianRepo;
|
||||
PublishCliVersionBadge" />
|
||||
|
||||
<Target Name="GatherItemsForPattern">
|
||||
<ItemGroup>
|
||||
|
@ -44,6 +47,8 @@
|
|||
<Target Name="PublishCliVersionBadge">
|
||||
<ItemGroup>
|
||||
<CliVersionBadgeToUpload Include="$(VersionBadge)" />
|
||||
<CliVersionBadgeToUpload Include="$(CoherentBadge)"
|
||||
Condition=" '$(Coherent)' == 'true' " />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
<PropertyGroup>
|
||||
<VersionMajor>2</VersionMajor>
|
||||
<VersionMinor>0</VersionMinor>
|
||||
<VersionPatch>0</VersionPatch>
|
||||
<ReleaseSuffix>preview3</ReleaseSuffix>
|
||||
<VersionPatch>1</VersionPatch>
|
||||
<ReleaseSuffix Condition=" '$(ReleaseSuffix)' == '' ">servicing</ReleaseSuffix>
|
||||
|
||||
<CliVersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix)</CliVersionPrefix>
|
||||
<SimpleVersion Condition=" '$(DropSuffix)' == '' ">$(VersionMajor).$(VersionMinor).$(VersionPatch).$(CommitCount)</SimpleVersion>
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<VersionBadgeMoniker>$(OSName)_$(Architecture)</VersionBadgeMoniker>
|
||||
<VersionBadgeMoniker Condition=" '$(Rid)' == 'ubuntu.16.04-x64' ">ubuntu_16_04_x64</VersionBadgeMoniker>
|
||||
<VersionBadgeMoniker Condition=" '$(Rid)' == 'ubuntu.16.10-x64' ">ubuntu_16_10_x64</VersionBadgeMoniker>
|
||||
<VersionBadgeMoniker Condition=" '$(Rid)' == 'fedora.24-x64' ">fedora_24_x64</VersionBadgeMoniker>
|
||||
<VersionBadgeMoniker Condition=" '$(Rid)' == 'opensuse.42.1-x64' ">opensuse_42_1_x64</VersionBadgeMoniker>
|
||||
<VersionBadgeMoniker>$(OSName)_$(Architecture)</VersionBadgeMoniker>
|
||||
<VersionBadgeMoniker Condition=" '$(HostRid)' == 'debian.8-x64' ">debian_8_x64</VersionBadgeMoniker>
|
||||
<VersionBadgeMoniker Condition=" '$(HostRid)' == 'rhel.7-x64' ">rhel_7_x64</VersionBadgeMoniker>
|
||||
<VersionBadgeMoniker Condition=" '$(HostRid)' == 'ubuntu.14.04-x64' ">ubuntu_14_04_x64</VersionBadgeMoniker>
|
||||
<VersionBadgeMoniker Condition=" '$(HostRid)' == 'ubuntu.16.04-x64' ">ubuntu_16_04_x64</VersionBadgeMoniker>
|
||||
<VersionBadgeMoniker Condition=" '$(HostRid)' == 'ubuntu.16.10-x64' ">ubuntu_16_10_x64</VersionBadgeMoniker>
|
||||
<VersionBadgeMoniker Condition=" '$(IslinuxPortable)' == 'true' ">linux_x64</VersionBadgeMoniker>
|
||||
|
||||
<VersionBadge>$(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_version_badge.svg</VersionBadge>
|
||||
<VersionBadge>$(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_version_badge.svg</VersionBadge>
|
||||
<CoherentBadge>$(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_coherent_badge.svg</CoherentBadge>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -20,13 +20,15 @@
|
|||
Condition=" '$(OSName)' == 'win' "
|
||||
SourceDirectory="%(GenerateArchivesInputsOutputs.InputDirectory)"
|
||||
DestinationArchive="$(GenerateArchivesDestinationArchive)"
|
||||
OverwriteDestination="true"/>
|
||||
OverwriteDestination="true"
|
||||
ExcludePatterns="%(GenerateArchivesInputsOutputs.ExcludePatterns)" />
|
||||
|
||||
<TarGzFileCreateFromDirectory
|
||||
Condition=" '$(OSName)' != 'win' "
|
||||
SourceDirectory="%(GenerateArchivesInputsOutputs.InputDirectory)"
|
||||
DestinationArchive="$(GenerateArchivesDestinationArchive)"
|
||||
OverwriteDestination="true"/>
|
||||
OverwriteDestination="true"
|
||||
ExcludePatterns="%(GenerateArchivesInputsOutputs.ExcludePatterns)" />
|
||||
|
||||
<ItemGroup>
|
||||
<Archives Include="$(GenerateArchivesDestinationArchive)" />
|
||||
|
@ -37,11 +39,12 @@
|
|||
<Target Name="SetupGenerateArchivesInputsOutputs"
|
||||
DependsOnTargets="Init">
|
||||
<ItemGroup>
|
||||
<GenerateArchivesInputsOutputs Include="%(LayoutDefinition.Name)">
|
||||
<GenerateArchivesInputsOutputs Condition=" '%(LayoutDefinition.Name)' != '' " Include="%(LayoutDefinition.Name)">
|
||||
<Inputs>%(LayoutDefinition.OutputFiles)</Inputs>
|
||||
<Outputs>$(ArchiveOutputDirectory)/%(LayoutDefinition.NameWithVersion)$(ArchiveExtension)</Outputs>
|
||||
<InputDirectory>$(LayoutDirectory)/%(LayoutDefinition.Name)</InputDirectory>
|
||||
<OutFileName>%(LayoutDefinition.NameWithVersion)</OutFileName>
|
||||
<ExcludePatterns>%(LayoutDefinition.ExcludePatterns)</ExcludePatterns>
|
||||
</GenerateArchivesInputsOutputs>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
|
|
@ -16,7 +16,8 @@
|
|||
<Target Name="BuildSdkDeb"
|
||||
Condition=" '$(IsDebianBaseDistro)' == 'True' AND '$(DebuildPresent)' == 'true' "
|
||||
DependsOnTargets="PrepareDotnetDebDirectories;
|
||||
PrepareDotnetDebTool;"
|
||||
PrepareDotnetDebTool;
|
||||
DownloadAspNetCoreRuntimeDebInstaller;"
|
||||
Inputs="@(CLISdkFiles)"
|
||||
Outputs="$(SdkInstallerFile)" >
|
||||
|
||||
|
@ -24,6 +25,7 @@
|
|||
<Exec Command="sudo dpkg -i $(DownloadedSharedHostInstallerFile)" />
|
||||
<Exec Command="sudo dpkg -i $(DownloadedHostFxrInstallerFile)" />
|
||||
<Exec Command="sudo dpkg -i $(DownloadedSharedFrameworkInstallerFile)" />
|
||||
<Exec Command="sudo dpkg -i $(DownloadedSharedAspNetCoreRuntime)" />
|
||||
|
||||
<!-- Create layout: Binaries -->
|
||||
<Copy
|
||||
|
@ -33,14 +35,6 @@
|
|||
SkipUnchangedFiles="False"
|
||||
UseHardlinksIfPossible="False" />
|
||||
|
||||
<!-- Create layout: Aspnet runtime -->
|
||||
<Copy
|
||||
DestinationFiles="@(AspNetRuntimeFilesInput ->'$(LayoutPackageRootDir)/%(RecursiveDir)%(Filename)%(Extension)')"
|
||||
SourceFiles="@(AspNetRuntimeFilesInput)"
|
||||
OverwriteReadOnlyFiles="True"
|
||||
SkipUnchangedFiles="False"
|
||||
UseHardlinksIfPossible="False" />
|
||||
|
||||
<!-- Create layout: Man Pages -->
|
||||
<Copy
|
||||
DestinationFiles="@(SdkDebManPageFiles->'$(LayoutDocsDir)/%(RecursiveDir)%(Filename)-$(SdkVersion)%(Extension)')"
|
||||
|
@ -49,13 +43,15 @@
|
|||
SkipUnchangedFiles="False"
|
||||
UseHardlinksIfPossible="False" />
|
||||
|
||||
<!-- Create layout: postinst -->
|
||||
<Copy
|
||||
DestinationFiles= "$(DebianPostinstFile)"
|
||||
SourceFiles="$(DebianPostinstTemplateFile)"
|
||||
OverwriteReadOnlyFiles="True"
|
||||
SkipUnchangedFiles="False"
|
||||
UseHardlinksIfPossible="False" />
|
||||
<!-- Create layout: Generate and Place postinst -->
|
||||
<ReplaceFileContents
|
||||
InputFile="$(DebianPostinstTemplateFile)"
|
||||
DestinationFile="$(DebianPostinstFile)"
|
||||
ReplacementItems="@(DebianPostInstTokenValues)" />
|
||||
|
||||
<Chmod
|
||||
Glob="$(DebianPostinstFile)"
|
||||
Mode="ugo+x" />
|
||||
|
||||
<!-- Create layout: Generate and Place debian_config.json -->
|
||||
<ReplaceFileContents
|
||||
|
@ -91,6 +87,7 @@
|
|||
|
||||
<!-- Remove Shared Framework and Debian Packages -->
|
||||
<Exec Command="sudo dpkg -r $(SdkDebianPackageName)" />
|
||||
<Exec Command="sudo dpkg -r $(AspNetCoreRuntimePackageName)" />
|
||||
<Exec Command="sudo dpkg -r $(SharedFxDebianPackageName)" />
|
||||
<Exec Command="sudo dpkg -r $(HostFxrDebianPackageName)" />
|
||||
|
||||
|
@ -110,6 +107,7 @@
|
|||
<Exec Command="sudo dpkg -i $(DownloadedSharedHostInstallerFile)" />
|
||||
<Exec Command="sudo dpkg -i $(DownloadedHostFxrInstallerFile)" />
|
||||
<Exec Command="sudo dpkg -i $(DownloadedSharedFrameworkInstallerFile)" />
|
||||
<Exec Command="sudo dpkg -i $(DownloadedSharedAspNetCoreRuntime)" />
|
||||
|
||||
<Exec Command="sudo dpkg -i $(SdkInstallerFile)" />
|
||||
|
||||
|
@ -123,6 +121,7 @@
|
|||
|
||||
<!-- Clean up Packages -->
|
||||
<Exec Command="sudo dpkg -r $(SdkDebianPackageName)" />
|
||||
<Exec Command="sudo dpkg -r $(AspNetCoreRuntimePackageName)" />
|
||||
<Exec Command="sudo dpkg -r $(SharedFxDebianPackageName)" />
|
||||
<Exec Command="sudo dpkg -r $(HostFxrDebianPackageName)" />
|
||||
|
||||
|
|
|
@ -35,6 +35,11 @@
|
|||
<HostFxrDebianPackageName>dotnet-hostfxr-$(HostFxrDebianPackageVersion)</HostFxrDebianPackageName>
|
||||
<HostFxrDebianPackageName>$(HostFxrDebianPackageName.ToLower())</HostFxrDebianPackageName>
|
||||
<HostDebianPackageName>dotnet-host</HostDebianPackageName>
|
||||
<AspNetCoreRuntimePackageName>$(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)</AspNetCoreRuntimePackageName>
|
||||
<AspNetCoreRuntimePackageName Condition=" '$(AspNetCoreRuntimePackageFlavor)' == 'notimestamp' ">$(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion)</AspNetCoreRuntimePackageName>
|
||||
<HostRidInAspNetCoreRuntimeDebInstallerFileName>$(HostRid)</HostRidInAspNetCoreRuntimeDebInstallerFileName>
|
||||
<AspNetCoreRuntimeDebInstallerFileName>$(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb</AspNetCoreRuntimeDebInstallerFileName>
|
||||
<AspNetCoreRuntimeDebInstallerFileName Condition=" '$(AspNetCoreRuntimePackageFlavor)' == 'notimestamp' ">$(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion)-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb</AspNetCoreRuntimeDebInstallerFileName>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Inputs -->
|
||||
|
@ -83,6 +88,9 @@
|
|||
<DebianConfigTokenValues Include="%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%">
|
||||
<ReplacementString>$(SharedFxDebianPackageName)</ReplacementString>
|
||||
</DebianConfigTokenValues>
|
||||
<DebianConfigTokenValues Include="%ASPNETCOREPACKAGESTORE_DEBIAN_PACKAGE_NAME%">
|
||||
<ReplacementString>$(AspNetCoreRuntimePackageName)</ReplacementString>
|
||||
</DebianConfigTokenValues>
|
||||
<DebianConfigTokenValues Include="%SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY%"
|
||||
Condition="'$(IncludeAdditionalSharedFrameworks)' == 'true'">
|
||||
<ReplacementString>,
|
||||
|
@ -98,6 +106,10 @@
|
|||
<DebianConfigTokenValues Include="%CLI_SDK_BRAND_NAME%">
|
||||
<ReplacementString>$(SdkBrandName)</ReplacementString>
|
||||
</DebianConfigTokenValues>
|
||||
|
||||
<DebianPostInstTokenValues Include="%SDK_VERSION%">
|
||||
<ReplacementString>$(SdkVersion)</ReplacementString>
|
||||
</DebianPostInstTokenValues>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -107,4 +119,14 @@
|
|||
<GeneratedInstallers Include="$(SdkInstallerFile)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="DownloadAspNetCoreRuntimeDebInstaller"
|
||||
DependsOnTargets="SetupDebProps">
|
||||
<PropertyGroup>
|
||||
<DownloadedSharedAspNetCoreRuntime>$(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName)</DownloadedSharedAspNetCoreRuntime>
|
||||
</PropertyGroup>
|
||||
<DownloadFile
|
||||
Uri="$(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreRuntimeDebInstallerFileName)"
|
||||
DestinationPath="$(DownloadedSharedAspNetCoreRuntime)"/>
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
<SdkGenerateBundlePowershellScript>$(RepoRoot)/packaging/windows/clisdk/generatebundle.ps1</SdkGenerateBundlePowershellScript>
|
||||
<SdkGenerateNupkgPowershellScript>$(RepoRoot)/packaging/windows/clisdk/generatenupkg.ps1</SdkGenerateNupkgPowershellScript>
|
||||
|
||||
<MSBuildExtensionsGenerateMsiPowershellScript>$(RepoRoot)/packaging/windows/msbuildextensions/generatemsi.ps1</MSBuildExtensionsGenerateMsiPowershellScript>
|
||||
|
||||
<SdkInstallerNuspecFile>$(RepoRoot)/packaging/windows/clisdk/VS.Redist.Common.Net.Core.SDK.$(Architecture).nuspec</SdkInstallerNuspecFile>
|
||||
<SdkInstallerNupkgFile>$(InstallerOutputDirectory)/VS.Redist.Common.Net.Core.SDK.$(Architecture).$(FullNugetVersion).nupkg</SdkInstallerNupkgFile>
|
||||
|
||||
|
@ -36,11 +38,14 @@
|
|||
<ItemGroup>
|
||||
<GenerateSdkMsiInputs Include="$(SdkLayoutOutputDirectory)/**/*;
|
||||
$(SdkGenerateMsiPowershellScript)" />
|
||||
<GenerateMSBuildExtensionsMsiInputs Include="$(MSBuildExtensionsOutputDirectory)/**/*;
|
||||
$(MSBuildExtensionsGenerateMsiPowershellScript)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Consumed By Publish -->
|
||||
<ItemGroup>
|
||||
<GeneratedInstallers Include="$(SdkInstallerFile);$(CombinedFrameworkSdkHostInstallerFile)" />
|
||||
<GeneratedInstallers Condition=" '$(Architecture)' == 'x86' " Include="$(MSBuildExtensionsInstallerFile)" />
|
||||
</ItemGroup>
|
||||
|
||||
<GenerateMsiVersion CommitCount="$(CommitCount)"
|
||||
|
@ -55,6 +60,11 @@
|
|||
PropertyName="SdkInstallerUpgradeCode" />
|
||||
</GenerateGuidFromName>
|
||||
|
||||
<GenerateGuidFromName Name="$(MSBuildExtensionsInstallerFile)">
|
||||
<Output TaskParameter="OutputGuid"
|
||||
PropertyName="MSBuildExtensionsInstallerUpgradeCode" />
|
||||
</GenerateGuidFromName>
|
||||
|
||||
<GenerateGuidFromName Name="$(CombinedFrameworkSdkHostInstallerFile)">
|
||||
<Output TaskParameter="OutputGuid"
|
||||
PropertyName="CombinedFrameworkSDKHostInstallerUpgradeCode" />
|
||||
|
@ -103,6 +113,24 @@
|
|||
'$(Architecture)'" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateMSBuildExtensionsMsi"
|
||||
DependsOnTargets="Init;Layout;AcquireWix;MsiTargetsSetupInputOutputs"
|
||||
Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x86' "
|
||||
Inputs="@(GenerateMSBuildExtensionsMsiInputs)"
|
||||
Outputs="$(MSBuildExtensionsInstallerFile)">
|
||||
|
||||
<Exec Command="powershell -NoProfile -NoLogo $(MSBuildExtensionsGenerateMsiPowershellScript)
|
||||
'$(MSBuildExtensionsOutputDirectory)'
|
||||
'$(MSBuildExtensionsInstallerFile)'
|
||||
'$(WixRoot)'
|
||||
'$(MSBuildExtensionsBrandName)'
|
||||
'$(SimpleVersion)'
|
||||
'$(SimpleVersion)'
|
||||
'$(NugetVersion)'
|
||||
'$(MSBuildExtensionsInstallerUpgradeCode)'
|
||||
'$(Architecture)'" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateSdkBundle"
|
||||
DependsOnTargets="Init;Layout;AcquireWix;MsiTargetsSetupInputOutputs;GenerateSdkMsi"
|
||||
Condition=" '$(OS)' == 'Windows_NT'"
|
||||
|
@ -186,6 +214,7 @@
|
|||
MsiTargetsSetupInputOutputs;
|
||||
AcquireWix;
|
||||
GenerateSdkMsi;
|
||||
GenerateMSBuildExtensionsMsi;
|
||||
GenerateSdkBundle;
|
||||
GenerateSdkNupkg;
|
||||
GenerateSdkMSBuildExtensionsNupkg;
|
||||
|
|
|
@ -14,6 +14,9 @@
|
|||
|
||||
<SdkPkgSourcesRootDirectory>$(RepoRoot)/packaging/osx/clisdk</SdkPkgSourcesRootDirectory>
|
||||
<SdkPkgScriptsDirectory>$(SdkPkgSourcesRootDirectory)/scripts</SdkPkgScriptsDirectory>
|
||||
<SdkPkgScriptTemplateFile>$(SdkPkgScriptsDirectory)/postinstall</SdkPkgScriptTemplateFile>
|
||||
<SdkPkgDestinationScriptsDirectory>$(PkgIntermediateDirectory)/scripts</SdkPkgDestinationScriptsDirectory>
|
||||
<SdkPkgScriptFile>$(SdkPkgDestinationScriptsDirectory)/postinstall</SdkPkgScriptFile>
|
||||
<SdkProductArchiveResourcesDirectory>$(SdkPkgSourcesRootDirectory)/resources</SdkProductArchiveResourcesDirectory>
|
||||
|
||||
<SdkProductArchiveDistributionTemplateFile>$(SdkPkgSourcesRootDirectory)/Distribution-Template</SdkProductArchiveDistributionTemplateFile>
|
||||
|
@ -54,6 +57,10 @@
|
|||
<DistributionTemplateReplacement Include="{HostFxrBrandName}">
|
||||
<ReplacementString>$(HostFxrBrandName)</ReplacementString>
|
||||
</DistributionTemplateReplacement>
|
||||
|
||||
<PostInstallScriptReplacement Include="%SDK_VERSION%">
|
||||
<ReplacementString>$(SdkVersion)</ReplacementString>
|
||||
</PostInstallScriptReplacement>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Consumed By Publish -->
|
||||
|
@ -83,12 +90,22 @@
|
|||
<Copy SourceFiles="@(AspNetRuntimeFilesInput)"
|
||||
DestinationFiles="@(AspNetRuntimeFilesInput->'$(SdkLayoutOutputDirectory)/%(RecursiveDir)%(FileName)%(Extension)')" />
|
||||
|
||||
<ReplaceFileContents
|
||||
InputFile="$(SdkPkgScriptTemplateFile)"
|
||||
DestinationFile="$(SdkPkgScriptFile)"
|
||||
ReplacementPatterns="@(PostInstallScriptReplacement -> '%(Identity)')"
|
||||
ReplacementStrings="@(PostInstallScriptReplacement -> '%(ReplacementString)')" />
|
||||
|
||||
<Chmod
|
||||
Glob="$(SdkPkgScriptFile)"
|
||||
Mode="ugo+x" />
|
||||
|
||||
<Exec Command="pkgbuild
|
||||
--root '$(SdkLayoutOutputDirectory)'
|
||||
--identifier '$(SdkComponentId)'
|
||||
--version '$(SdkVersion)'
|
||||
--install-location '$(PkgInstallDirectory)'
|
||||
--scripts '$(SdkPkgScriptsDirectory)'
|
||||
--scripts '$(SdkPkgDestinationScriptsDirectory)'
|
||||
'$(SdkInstallerFile)'" />
|
||||
</Target>
|
||||
|
||||
|
|
|
@ -4,5 +4,6 @@
|
|||
<RpmConfigJsonName>rpm_config.json</RpmConfigJsonName>
|
||||
<TemplatesDir>$(RepoRoot)/packaging/rpm/templates</TemplatesDir>
|
||||
<ScriptsDir>$(RepoRoot)/packaging/rpm/scripts</ScriptsDir>
|
||||
<AfterInstallHostScriptName>after_install_host.sh</AfterInstallHostScriptName>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -50,6 +50,15 @@
|
|||
<HostFxrRpmPackageName>dotnet-hostfxr-$(HostFxrRpmPackageVersion)</HostFxrRpmPackageName>
|
||||
<HostFxrRpmPackageName>$(HostFxrRpmPackageName.ToLower())</HostFxrRpmPackageName>
|
||||
<HostRpmPackageName>dotnet-host</HostRpmPackageName>
|
||||
<HostRidInAspNetCoreRuntimeRpmInstallerFileName>$(HostRid)</HostRidInAspNetCoreRuntimeRpmInstallerFileName>
|
||||
<AspNetCoreRuntimePackageName>$(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)</AspNetCoreRuntimePackageName>
|
||||
<AspNetCoreRuntimePackageName Condition="'$(AspNetCoreRuntimePackageFlavor)' == 'notimestamp'">$(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion)</AspNetCoreRuntimePackageName>
|
||||
<AspNetCoreRuntimePackageVersion>$(AspNetCoreVersion)-$(AspNetCoreRelease)-$(AspNetCoreRuntimePackageTimestamp)</AspNetCoreRuntimePackageVersion>
|
||||
<AspNetCoreRuntimePackageVersion Condition="'$(AspNetCoreRuntimePackageFlavor)' == 'notimestamp'">$(AspNetCoreVersion)</AspNetCoreRuntimePackageVersion>
|
||||
<AspNetCoreRuntimeRpmInstallerFileName>$(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm</AspNetCoreRuntimeRpmInstallerFileName>
|
||||
<AspNetCoreRuntimeRpmInstallerFileName Condition="'$(AspNetCoreRuntimePackageFlavor)' == 'notimestamp'">$(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion)-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm</AspNetCoreRuntimeRpmInstallerFileName>
|
||||
<AfterInstallHostScriptTemplateFile>$(ScriptsDir)/$(AfterInstallHostScriptName)</AfterInstallHostScriptTemplateFile>
|
||||
<AfterInstallHostScriptDestinationFile>$(RpmLayoutScripts)/$(AfterInstallHostScriptName)</AfterInstallHostScriptDestinationFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
@ -73,8 +82,7 @@
|
|||
<SDKFiles Include="$(InputRoot)/**/*"/>
|
||||
<SDKManpages Include="$(ManPagesDir)/**/*"/>
|
||||
<SDKTemplatesFiles Include="$(TemplatesDir)/**/*"/>
|
||||
<SDKScriptsFiles Include="$(ScriptsDir)/**/*"/>
|
||||
<AspNetRuntimeFilesInput Include="$(AspNetRuntimePackageStorePublishDirectory)/**/*" />
|
||||
<SDKScriptsFiles Include="$(ScriptsDir)/after_remove_host.sh"/>
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(SDKFiles)"
|
||||
|
@ -101,17 +109,17 @@
|
|||
SkipUnchangedFiles="False"
|
||||
UseHardlinksIfPossible="False"/>
|
||||
|
||||
<Copy SourceFiles="@(AspNetRuntimeFilesInput)"
|
||||
DestinationFiles="@(AspNetRuntimeFilesInput ->'$(RpmLayoutPackageRoot)/%(RecursiveDir)%(Filename)%(Extension)')"
|
||||
OverwriteReadOnlyFiles="True"
|
||||
SkipUnchangedFiles="False"
|
||||
UseHardlinksIfPossible="False"/>
|
||||
|
||||
<!-- Replace config json variables -->
|
||||
<ItemGroup>
|
||||
<SDKTokenValue Include="%SHARED_HOST_RPM_VERSION%">
|
||||
<ReplacementString>$(SharedFrameworkVersion)</ReplacementString>
|
||||
</SDKTokenValue>
|
||||
<SDKTokenValue Include="%ASPNETCOREPACKAGESTORE_RPM_PACKAGE_NAME%">
|
||||
<ReplacementString>$(AspNetCoreRuntimePackageName)</ReplacementString>
|
||||
</SDKTokenValue>
|
||||
<SDKTokenValue Include="%ASPNETCOREPACKAGESTORE_RPM_PACKAGE_VERSION%">
|
||||
<ReplacementString>$(AspNetCoreRuntimePackageVersion)</ReplacementString>
|
||||
</SDKTokenValue>
|
||||
<SDKTokenValue Include="%SHARED_HOST_RPM_NAME%">
|
||||
<ReplacementString>$(SharedFxRpmPackageName)</ReplacementString>
|
||||
</SDKTokenValue>
|
||||
|
@ -124,6 +132,10 @@
|
|||
<SDKTokenValue Include="%SDK_RPM_PACKAGE_NAME%">
|
||||
<ReplacementString>$(SdkRpmPackageName)</ReplacementString>
|
||||
</SDKTokenValue>
|
||||
|
||||
<AfterInstallHostTokenValue Include="%SDK_VERSION%">
|
||||
<ReplacementString>$(SdkVersion)</ReplacementString>
|
||||
</AfterInstallHostTokenValue>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -131,6 +143,14 @@
|
|||
<GeneratedInstallers Include="$(SdkInstallerFile)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ReplaceFileContents InputFile="$(AfterInstallHostScriptTemplateFile)"
|
||||
DestinationFile="$(AfterInstallHostScriptDestinationFile)"
|
||||
ReplacementItems="@(AfterInstallHostTokenValue)"/>
|
||||
|
||||
<Chmod
|
||||
Glob="$(AfterInstallHostScriptDestinationFile)"
|
||||
Mode="ugo+x" />
|
||||
|
||||
<ReplaceFileContents InputFile="$(ConfigJsonFile)"
|
||||
DestinationFile="$(RpmLayoutDirectory)$(RpmConfigJsonName)"
|
||||
ReplacementItems="@(SDKTokenValue)"/>
|
||||
|
@ -162,6 +182,16 @@
|
|||
|
||||
</Target>
|
||||
|
||||
<Target Name="DownloadAspNetCoreRuntimeRpmInstaller"
|
||||
DependsOnTargets="SetupDebProps">
|
||||
<PropertyGroup>
|
||||
<DownloadedSharedAspNetCoreRuntime>$(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName)</DownloadedSharedAspNetCoreRuntime>
|
||||
</PropertyGroup>
|
||||
<DownloadFile
|
||||
Uri="$(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreRuntimeRpmInstallerFileName)"
|
||||
DestinationPath="$(DownloadedSharedAspNetCoreRuntime)"/>
|
||||
</Target>
|
||||
|
||||
<Target Name="TestFPMTool">
|
||||
|
||||
<!-- run FPM -->
|
||||
|
@ -182,11 +212,12 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="TestSdkRpm"
|
||||
DependsOnTargets="RestoreTests"
|
||||
DependsOnTargets="RestoreTests;DownloadAspNetCoreRuntimeRpmInstaller"
|
||||
Condition=" '$(IsRPMBasedDistro)' == 'True' and '$(FPMPresent)' == 'True' "
|
||||
Inputs="$(DownloadedSharedHostInstallerFile);
|
||||
$(DownloadedHostFxrInstallerFile);
|
||||
$(DownloadedSharedFrameworkInstallerFile);
|
||||
$(DownloadedSharedAspNetCoreRuntime);
|
||||
$(RpmTestResultsXmlFile);"
|
||||
Outputs="$(RpmTestResultsXmlFile)" >
|
||||
|
||||
|
@ -194,6 +225,7 @@
|
|||
<Exec Command="sudo yum -y install $(DownloadedSharedHostInstallerFile)" />
|
||||
<Exec Command="sudo yum -y install $(DownloadedHostFxrInstallerFile)" />
|
||||
<Exec Command="sudo yum -y install $(DownloadedSharedFrameworkInstallerFile)" />
|
||||
<Exec Command="sudo yum -y install $(DownloadedSharedAspNetCoreRuntime)" />
|
||||
|
||||
<Exec Command="sudo yum -y install $(SdkInstallerFile)" />
|
||||
|
||||
|
@ -207,8 +239,10 @@
|
|||
|
||||
<!-- Clean up Packages -->
|
||||
<Exec Command="sudo yum remove -y $(SdkRpmPackageName)" />
|
||||
|
||||
<Exec Command="sudo yum remove -y $(AspNetCoreRuntimePackageName)" />
|
||||
<Exec Command="sudo yum remove -y $(SharedFxRpmPackageName)" />
|
||||
<Exec Command="sudo yum remove -y $(HostFxrRpmPackageName)" />
|
||||
<Exec Command="sudo yum remove -y $(HostRpmPackageName)" />
|
||||
</Target>
|
||||
</Project>
|
||||
</Project>
|
||||
|
|
|
@ -3,6 +3,9 @@
|
|||
<PropertyGroup>
|
||||
<SdkDebugLayoutOutputDirectory>$(LayoutDirectory)/$(ArtifactNameSdkDebug)</SdkDebugLayoutOutputDirectory>
|
||||
<CombinedHostHostFxrFrameworkSdkOutputDirectory>$(LayoutDirectory)/$(ArtifactNameCombinedHostHostFxrFrameworkSdk)</CombinedHostHostFxrFrameworkSdkOutputDirectory>
|
||||
<SdkLanguagePackOutputDirectory>$(LayoutDirectory)/$(ArtifactNameSdkLanguagePack)</SdkLanguagePackOutputDirectory>
|
||||
<SatelliteAssemblies>*.resources.dll</SatelliteAssemblies>
|
||||
<WindowsSatelliteAssembliesRegEx>.*.resources.dll</WindowsSatelliteAssembliesRegEx>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target DependsOnTargets="Init" Name="SetupLayoutInputsOutputs" >
|
||||
|
@ -11,8 +14,14 @@
|
|||
<SdkLayoutInput Include="$(OutputDirectory)/sdk/**/*" />
|
||||
<SdkDebugLayoutInput Include="$(SymbolsDirectory)/sdk/**/*" />
|
||||
<CombinedHostHostFxrFrameworkSdkInput Include="$(OutputDirectory)/**/*" />
|
||||
<SdkLanguagePackInput Include="$(OutputDirectory)/sdk/**/$(SatelliteAssemblies)" />
|
||||
|
||||
<AspNetRuntimeFilesInput Include="$(AspNetRuntimePackageStorePublishDirectory)/**/*" />
|
||||
|
||||
<MSBuildExtensionsInput Include="$(MSBuildExtensionsLayoutDirectory)/msbuildExtensions/**/*" />
|
||||
<MSBuildExtensionsVerInput Include="$(MSBuildExtensionsLayoutDirectory)/msbuildExtensions-ver/**/*" />
|
||||
<CombinedMSBuildExtensionsInput Include="@(MSBuildExtensionsInput)" />
|
||||
<CombinedMSBuildExtensionsInput Include="@(MSBuildExtensionsVerInput)" />
|
||||
</ItemGroup>
|
||||
|
||||
<MakeRelative
|
||||
|
@ -30,6 +39,27 @@
|
|||
Path2="%(CombinedHostHostFxrFrameworkSdkInput.Identity)" >
|
||||
<Output TaskParameter="RelativePath" ItemName="CombinedHostHostFxrFrameworkSdkRelativeOutputFiles" />
|
||||
</MakeRelative>
|
||||
<MakeRelative
|
||||
Path1="$(OutputDirectory)/"
|
||||
Path2="%(SdkLanguagePackInput.Identity)" >
|
||||
<Output TaskParameter="RelativePath" ItemName="SdkLanguagePackRelativeOutputFiles" />
|
||||
</MakeRelative>
|
||||
|
||||
<MakeRelative
|
||||
Path1="$(MSBuildExtensionsLayoutDirectory)/msbuildExtensions/"
|
||||
Path2="%(MSBuildExtensionsInput.Identity)" >
|
||||
<Output TaskParameter="RelativePath" ItemName="MSBuildExtensionsRelativeOutputFiles" />
|
||||
</MakeRelative>
|
||||
<MakeRelative
|
||||
Path1="$(MSBuildExtensionsLayoutDirectory)/msbuildExtensions-ver/"
|
||||
Path2="%(MSBuildExtensionsVerInput.Identity)" >
|
||||
<Output TaskParameter="RelativePath" ItemName="MSBuildExtensionsVerRelativeOutputFiles" />
|
||||
</MakeRelative>
|
||||
|
||||
<ItemGroup>
|
||||
<CombinedMSBuildExtensionsRelativeOutputFiles Include="@(MSBuildExtensionsRelativeOutputFiles)" />
|
||||
<CombinedMSBuildExtensionsRelativeOutputFiles Include="@(MSBuildExtensionsVerRelativeOutputFiles -> '14.0/%(Identity)')" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Set up Items Defining Layouts for easy change -->
|
||||
<ItemGroup>
|
||||
|
@ -52,8 +82,23 @@
|
|||
<OutputFiles>@(CombinedHostHostFxrFrameworkSdkRelativeOutputFiles -> '$(CombinedHostHostFxrFrameworkSdkOutputDirectory)/%(Identity)')</OutputFiles>
|
||||
<NameWithVersion>$(ArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)</NameWithVersion>
|
||||
<Name>$(ArtifactNameCombinedHostHostFxrFrameworkSdk)</Name>
|
||||
<ExcludePatterns Condition=" '$(OSName)' == 'win' ">$(WindowsSatelliteAssembliesRegEx)</ExcludePatterns>
|
||||
<ExcludePatterns Condition=" '$(OSName)' != 'win' ">$(SatelliteAssemblies)</ExcludePatterns>
|
||||
</LayoutDefinition>
|
||||
|
||||
<LayoutDefinition Include="SdkLanguagePack">
|
||||
<InputFiles>@(SdkLanguagePackInput)</InputFiles>
|
||||
<OutputFiles>@(SdkLanguagePackRelativeOutputFiles -> '$(SdkLanguagePackOutputDirectory)/%(Identity)')</OutputFiles>
|
||||
<NameWithVersion>$(ArtifactNameWithVersionSdkLanguagePack)</NameWithVersion>
|
||||
<Name>$(ArtifactNameSdkLanguagePack)</Name>
|
||||
</LayoutDefinition>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x86' ">
|
||||
<LayoutDefinition Include="MSBuildExtensions">
|
||||
<InputFiles>@(CombinedMSBuildExtensionsInput)</InputFiles>
|
||||
<OutputFiles>@(CombinedMSBuildExtensionsRelativeOutputFiles -> '$(MSBuildExtensionsOutputDirectory)/%(Identity)')</OutputFiles>
|
||||
</LayoutDefinition>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
|
|
|
@ -11,6 +11,10 @@
|
|||
<ProjectName>Microsoft.DotNet.Cli.Utils</ProjectName>
|
||||
<Version>$(SdkNugetVersion)</Version>
|
||||
</ProjectsToPack>
|
||||
<ProjectsToPack Include="$(SrcDirectory)/Microsoft.DotNet.MSBuildSdkResolver" >
|
||||
<ProjectName>Microsoft.DotNet.MSBuildSdkResolver</ProjectName>
|
||||
<Version>$(SdkNugetVersion)</Version>
|
||||
</ProjectsToPack>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
|
|
|
@ -14,4 +14,16 @@
|
|||
ReplacementPatterns="ver_number"
|
||||
ReplacementStrings="$(SdkVersion)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateCoherentBadge"
|
||||
DependsOnTargets="Init; EvaluateRuntimeCoherence"
|
||||
Condition=" '$(Coherent)' == 'true' ">
|
||||
<Message Text="$(CoherentBadge)" />
|
||||
|
||||
<ReplaceFileContents
|
||||
InputFile="$(VersionSvgTemplate)"
|
||||
DestinationFile="$(CoherentBadge)"
|
||||
ReplacementPatterns="ver_number"
|
||||
ReplacementStrings="$(SdkVersion)" />
|
||||
</Target>
|
||||
</Project>
|
|
@ -2,7 +2,6 @@
|
|||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Target Name="FinishBuild"
|
||||
DependsOnTargets="CheckIfAllBuildsHavePublished;
|
||||
EvaluateRuntimeCoherence;
|
||||
FinalizeBuild" />
|
||||
|
||||
<Target Name="CheckIfAllBuildsHavePublished">
|
||||
|
@ -14,27 +13,6 @@
|
|||
<Output TaskParameter="HaveAllBuildsPublished" PropertyName="HaveAllBuildsPublished" />
|
||||
</CheckIfAllBuildsHavePublished>
|
||||
</Target>
|
||||
|
||||
<Target Name="EvaluateRuntimeCoherence"
|
||||
DependsOnTargets="ReadAspNetCoreSharedRuntimeVersionFile"
|
||||
BeforeTargets="FinalizeBuild">
|
||||
<PropertyGroup>
|
||||
<Coherent>false</Coherent>
|
||||
<Coherent Condition=" '$(CLI_SharedFrameworkVersion)' == '@(AspNetCoreSharedRuntimeVersion)' ">true</Coherent>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="ReadAspNetCoreSharedRuntimeVersionFile"
|
||||
DependsOnTargets="DownloadHostAndSharedFxArtifacts">
|
||||
<ItemGroup>
|
||||
<File Include="$(AspNetCoreSharedRuntimeVersionFile)" />
|
||||
</ItemGroup>
|
||||
<ReadLinesFromFile File="@(File)">
|
||||
<Output
|
||||
TaskParameter="Lines"
|
||||
ItemName="AspNetCoreSharedRuntimeVersion"/>
|
||||
</ReadLinesFromFile>
|
||||
</Target>
|
||||
|
||||
<Target Name="FinalizeBuild"
|
||||
Condition=" '$(HaveAllBuildsPublished)' == 'True' ">
|
||||
|
@ -54,9 +32,9 @@
|
|||
CommitHash="$(CommitHash)"
|
||||
Coherent="$(Coherent)" />
|
||||
|
||||
<!-- Uncomment the line below when https://github.com/dotnet/buildtools/issues/1547 gets fixed. -->
|
||||
<!-- <UpdateVersionsRepo BranchName="$(BranchName)"
|
||||
<UpdateVersionsRepo BranchName="$(BranchName)"
|
||||
PackagesDirectory="$(PackagesDirectory)"
|
||||
GitHubPassword="$(GITHUB_PASSWORD)" /> -->
|
||||
GitHubPassword="$(GITHUB_PASSWORD)"
|
||||
Condition=" '$(GITHUB_PASSWORD)' != '' " />
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
</DebianUploadJsonContent>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="PublishDebFilesToDebianRepo" Condition=" '$(IsDebianBaseDistro)' == 'True' AND '$(SkipPublishToDebianRepo)' != 'true' ">
|
||||
<Target Name="PublishDebFilesToDebianRepo" Condition=" '$(IsDebianBaseDistro)' == 'True' AND '$(SkipPublishToDebianRepo)' != 'true' AND '$(IslinuxPortable)' != 'true' ">
|
||||
<Error Condition="'$(REPO_ID)' == ''" Text="REPO_ID must be set as an environment variable for debian publishing." />
|
||||
<Error Condition="'$(REPO_USER)' == ''" Text="REPO_USER must be set as an environment variable for debian publishing." />
|
||||
<Error Condition="'$(REPO_PASS)' == ''" Text="REPO_PASS must be set as an environment variable for debian publishing." />
|
||||
|
|
25
build/publish/RuntimeCoherence.targets
Normal file
25
build/publish/RuntimeCoherence.targets
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Target Name="EvaluateRuntimeCoherence"
|
||||
DependsOnTargets="ReadAspNetCoreSharedRuntimeVersionFile;
|
||||
CompareRuntimeVersions" />
|
||||
|
||||
<Target Name="ReadAspNetCoreSharedRuntimeVersionFile"
|
||||
DependsOnTargets="DownloadHostAndSharedFxArtifacts">
|
||||
<ItemGroup>
|
||||
<File Include="$(AspNetCoreSharedRuntimeVersionFile)" />
|
||||
</ItemGroup>
|
||||
<ReadLinesFromFile File="@(File)">
|
||||
<Output
|
||||
TaskParameter="Lines"
|
||||
ItemName="AspNetCoreSharedRuntimeVersion"/>
|
||||
</ReadLinesFromFile>
|
||||
</Target>
|
||||
|
||||
<Target Name="CompareRuntimeVersions">
|
||||
<PropertyGroup>
|
||||
<Coherent>false</Coherent>
|
||||
<Coherent Condition=" '$(CLI_SharedFrameworkVersion)' == '@(AspNetCoreSharedRuntimeVersion)' ">true</Coherent>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
</Project>
|
|
@ -52,7 +52,12 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
{ "win_x86", false },
|
||||
{ "win_x64", false },
|
||||
{ "osx_x64", false },
|
||||
{ "linux_x64", false },
|
||||
{ "debian_8_x64", false },
|
||||
{ "rhel_7_x64", false },
|
||||
{ "ubuntu_14_04_x64", false },
|
||||
{ "ubuntu_16_04_x64", false },
|
||||
{ "ubuntu_16_10_x64", false },
|
||||
{ "linux_x64", false }
|
||||
};
|
||||
|
||||
if (!badges.ContainsKey(VersionBadgeMoniker))
|
||||
|
|
|
@ -28,6 +28,8 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
private IEnumerable<string> _environmentVariablesToKeep = new string []
|
||||
{
|
||||
"DOTNET_CLI_TELEMETRY_SESSIONID",
|
||||
"DOTNET_CLI_UI_LANGUAGE",
|
||||
"DOTNET_MULTILEVEL_LOOKUP",
|
||||
"DOTNET_RUNTIME_ID",
|
||||
"DOTNET_SKIP_FIRST_TIME_EXPERIENCE",
|
||||
"NUGET_PACKAGES"
|
||||
|
|
|
@ -82,7 +82,8 @@ namespace Microsoft.DotNet.Scripts
|
|||
|
||||
private static string GetDefaultCoreSetupVersionFragment()
|
||||
{
|
||||
string coreSetupChannel = GetRepoMSBuildPropValue("BundledRuntimes.props", "CoreSetupChannel") ?? "master";
|
||||
// by default, the current core-setup branch should match the current cli branch name
|
||||
string coreSetupChannel = Instance.GitHubUpstreamBranch;
|
||||
|
||||
return $"dotnet/core-setup/{coreSetupChannel}";
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
},
|
||||
|
||||
"debian_dependencies":{
|
||||
"%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%" : {}%SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY%
|
||||
"%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%" : {}%SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY%,
|
||||
"%ASPNETCOREPACKAGESTORE_DEBIAN_PACKAGE_NAME%": {}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,16 @@ The .NET Core Tools include a telemetry feature that collects usage information.
|
|||
|
||||
The data collected is anonymous and will be published in an aggregated form for use by both Microsoft and community engineers under the Creative Commons Attribution License.
|
||||
|
||||
The .NET Core Tools telemetry feature is enabled by default. You can opt-out of the telemetry feature by setting an environment variable DOTNET_CLI_TELEMETRY_OPTOUT (for example, 'export' on macOS/Linux, 'set' on Windows) to true (for example, 'true', 1). You can read more about .NET Core tools telemetry at https://aka.ms/dotnet-cli-telemetry."
|
||||
The .NET Core Tools telemetry feature is enabled by default. You can opt-out of the telemetry feature by setting an environment variable DOTNET_CLI_TELEMETRY_OPTOUT (for example, 'export' on macOS/Linux, 'set' on Windows) to true (for example, 'true', 1). You can read more about .NET Core tools telemetry at https://aka.ms/dotnet-cli-telemetry.
|
||||
|
||||
dotnet new > /dev/null 2>&1 || true
|
||||
Installation Note
|
||||
--------------
|
||||
A command will be run during the install process that will improve project restore speed and enable offline access. It will take up to a minute to complete."
|
||||
|
||||
first_run() {
|
||||
/usr/share/dotnet/dotnet exec /usr/share/dotnet/sdk/%SDK_VERSION%/dotnet.dll internal-reportinstallsuccess "debianpackage" > /dev/null 2>&1 || true
|
||||
}
|
||||
|
||||
INSTALL_TEMP_HOME=/tmp/dotnet-installer
|
||||
[ -d $INSTALL_TEMP_HOME ] || mkdir $INSTALL_TEMP_HOME
|
||||
HOME=$INSTALL_TEMP_HOME first_run
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
<welcome file="welcome.html" mime-type="text/html" />
|
||||
<conclusion file="conclusion.html" mime-type="text/html" />
|
||||
<volume-check>
|
||||
<allowed-os-version>
|
||||
<allowed-os-versions>
|
||||
<os-version min="10.12" />
|
||||
</allowed-os-version>
|
||||
</allowed-os-versions>
|
||||
</volume-check>
|
||||
<choices-outline>
|
||||
<line choice="{SharedFxComponentId}.pkg" />
|
||||
|
@ -32,4 +32,4 @@
|
|||
<pkg-ref id="{HostFxrComponentId}.pkg">{HostFxrComponentId}.pkg</pkg-ref>
|
||||
<pkg-ref id="{SharedHostComponentId}.pkg">{SharedHostComponentId}.pkg</pkg-ref>
|
||||
<pkg-ref id="{CLISdkComponentId}.pkg">{CLISdkComponentId}.pkg</pkg-ref>
|
||||
</installer-gui-script>
|
||||
</installer-gui-script>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica;padding-left:10px">
|
||||
<p>This product collects usage data</h2>
|
||||
<ul>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">More information and opt-out</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<br>
|
||||
<div align="left" style="font-family: Helvetica">
|
||||
<h2 style="padding-left:10px"> Resources </h2>
|
||||
<ul>
|
||||
|
@ -20,7 +27,6 @@
|
|||
<li><a href="https://aka.ms/dotnet-cli-docs">SDK Documentation</a></li>
|
||||
<li><a href="https://aka.ms/20-p2-rel-notes">Release Notes</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-tutorials">Tutorials</a></li>
|
||||
<li><a href="https://aka.ms/dotnet-cli-telemetry">.NET Core Telemetry</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -6,12 +6,16 @@
|
|||
|
||||
PACKAGE=$1
|
||||
INSTALL_DESTINATION=$2
|
||||
|
||||
INSTALL_TEMP_HOME=/tmp/dotnet-installer
|
||||
|
||||
# A temporary fix for the permissions issue(s)
|
||||
chmod -R 755 $INSTALL_DESTINATION
|
||||
|
||||
# Run 'dotnet new' to trigger the first time experience to initialize the cache
|
||||
$INSTALL_DESTINATION/dotnet new > /dev/null 2>&1 || true
|
||||
first_run() {
|
||||
$INSTALL_DESTINATION/dotnet exec $INSTALL_DESTINATION/sdk/%SDK_VERSION%/dotnet.dll internal-reportinstallsuccess "$1" > /dev/null 2>&1 || true
|
||||
}
|
||||
|
||||
[ -d $INSTALL_TEMP_HOME ] || mkdir $INSTALL_TEMP_HOME
|
||||
HOME=$INSTALL_TEMP_HOME first_run
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -25,14 +25,16 @@
|
|||
{
|
||||
"package_name": "%SHARED_HOST_RPM_NAME%",
|
||||
"package_version": "%SHARED_HOST_RPM_VERSION%"
|
||||
},
|
||||
{
|
||||
"package_name": "%ASPNETCOREPACKAGESTORE_RPM_PACKAGE_NAME%",
|
||||
"package_version": "%ASPNETCOREPACKAGESTORE_RPM_PACKAGE_VERSION%"
|
||||
}
|
||||
],
|
||||
"directories": [
|
||||
"/usr/share/dotnet/sdk",
|
||||
"/usr/share/dotnet/store",
|
||||
"/usr/share/dotnet/additionalDeps",
|
||||
"/usr/share/doc/%SDK_RPM_PACKAGE_NAME%"
|
||||
],
|
||||
"after_install_source": "scripts/after_install_host.sh",
|
||||
"after_remove_source": "scripts/after_remove_host.sh"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,6 +17,16 @@ The .NET Core Tools include a telemetry feature that collects usage information.
|
|||
|
||||
The data collected is anonymous and will be published in an aggregated form for use by both Microsoft and community engineers under the Creative Commons Attribution License.
|
||||
|
||||
The .NET Core Tools telemetry feature is enabled by default. You can opt-out of the telemetry feature by setting an environment variable DOTNET_CLI_TELEMETRY_OPTOUT (for example, 'export' on macOS/Linux, 'set' on Windows) to true (for example, 'true', 1). You can read more about .NET Core tools telemetry at https://aka.ms/dotnet-cli-telemetry."
|
||||
The .NET Core Tools telemetry feature is enabled by default. You can opt-out of the telemetry feature by setting an environment variable DOTNET_CLI_TELEMETRY_OPTOUT (for example, 'export' on macOS/Linux, 'set' on Windows) to true (for example, 'true', 1). You can read more about .NET Core tools telemetry at https://aka.ms/dotnet-cli-telemetry.
|
||||
|
||||
dotnet new > /dev/null 2>&1 || true
|
||||
Installation Note
|
||||
--------------
|
||||
A command will be run during the install process that will improve project restore speed and enable offline access. It will take up to a minute to complete."
|
||||
|
||||
first_run() {
|
||||
/usr/share/dotnet/dotnet exec /usr/share/dotnet/sdk/%SDK_VERSION%/dotnet.dll internal-reportinstallsuccess "rpmpackage" > /dev/null 2>&1 || true
|
||||
}
|
||||
|
||||
INSTALL_TEMP_HOME=/tmp/dotnet-installer
|
||||
[ -d $INSTALL_TEMP_HOME ] || mkdir $INSTALL_TEMP_HOME
|
||||
HOME=$INSTALL_TEMP_HOME first_run
|
||||
|
|
|
@ -54,13 +54,14 @@ The following were installed at [DOTNETHOME]
|
|||
• .NET Core Runtime 2.0.0
|
||||
• Runtime Package Store
|
||||
|
||||
Resources
|
||||
This product collects usage data
|
||||
• More information and opt-out https://aka.ms/dotnet-cli-telemetry
|
||||
|
||||
Resources
|
||||
• Core Documentation https://aka.ms/dotnet-docs
|
||||
• SDK Documentation https://aka.ms/dotnet-cli-docs
|
||||
• Release Notes https://aka.ms/20-p2-rel-notes
|
||||
• Tutorials https://aka.ms/dotnet-tutorials
|
||||
• .NET Core Telemetry https://aka.ms/dotnet-cli-telemetry</String>
|
||||
• Tutorials https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">.NET Core SDK</String>
|
||||
<String Id="WelcomeDescription">
|
||||
.NET Core is a development platform that you can use to build command-line applications, microservices and modern websites. It is open source, cross-platform, and supported by Microsoft. We hope you enjoy it!</String>
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
</MsiPackage>
|
||||
<MsiPackage SourceFile="$(var.CLISDKMsiSourcePath)">
|
||||
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
|
||||
<MsiProperty Name="EXEFULLPATH" Value="[WixBundleOriginalSource]" />
|
||||
</MsiPackage>
|
||||
<?if $(var.Platform)=x86?>
|
||||
<PackageGroupRef Id="PG_AspNetCorePackageStore_x86"/>
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
<Property Id="ProductCPU" Value="$(var.Platform)" />
|
||||
<Property Id="RTM_ProductVersion" Value="$(var.Dotnet_ProductVersion)" />
|
||||
<Property Id="MSIFASTINSTALL" Value="7" />
|
||||
<Property Id="NUGETVERSION" Value="$(var.NugetVersion)" />
|
||||
<WixVariable Id="WixUILicenseRtf" Value="$(var.MicrosoftEula)" />
|
||||
|
||||
<Property Id="DOTNETEXE">
|
||||
|
@ -30,12 +31,20 @@
|
|||
|
||||
<CustomActionRef Id="WixBroadcastEnvironmentChange" />
|
||||
|
||||
<CustomAction Id="PropertyAssign" Property="QtExecDotnetnew" Value=""[DOTNETHOME]\dotnet.exe" new" Execute="immediate" />
|
||||
<CustomAction Id="QtExecDotnetnew" BinaryKey="WixCA" DllEntry="$(var.WixQuietExec)" Execute="deferred" Return="ignore" Impersonate="no"/>
|
||||
<CustomAction Id="PropertyAssignPrimeCacheAndTelemetry"
|
||||
Property="QtExecPrimeCacheAndTelemetryTarget"
|
||||
Value=""[DOTNETHOME]\dotnet.exe" exec "[DOTNETHOME]\sdk\[NUGETVERSION]\dotnet.dll" internal-reportinstallsuccess "[EXEFULLPATH]""
|
||||
Execute="immediate" />
|
||||
<CustomAction Id="QtExecPrimeCacheAndTelemetryTarget"
|
||||
BinaryKey="WixCA"
|
||||
DllEntry="$(var.WixQuietExec)"
|
||||
Execute="deferred"
|
||||
Return="ignore"
|
||||
Impersonate="no"/>
|
||||
|
||||
<InstallExecuteSequence>
|
||||
<Custom Action="PropertyAssign" Before="QtExecDotnetnew" />
|
||||
<Custom Action="QtExecDotnetnew" Before="InstallFinalize" />
|
||||
<Custom Action="PropertyAssignPrimeCacheAndTelemetry" Before="QtExecPrimeCacheAndTelemetryTarget" />
|
||||
<Custom Action="QtExecPrimeCacheAndTelemetryTarget" Before="InstallFinalize" />
|
||||
</InstallExecuteSequence>
|
||||
</Product>
|
||||
<Fragment>
|
||||
|
|
140
packaging/windows/msbuildextensions/generatemsi.ps1
Normal file
140
packaging/windows/msbuildextensions/generatemsi.ps1
Normal file
|
@ -0,0 +1,140 @@
|
|||
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
param(
|
||||
[Parameter(Mandatory=$true)][string]$inputDir,
|
||||
[Parameter(Mandatory=$true)][string]$MSBuildExtensionsMSIOutput,
|
||||
[Parameter(Mandatory=$true)][string]$WixRoot,
|
||||
[Parameter(Mandatory=$true)][string]$ProductMoniker,
|
||||
[Parameter(Mandatory=$true)][string]$DotnetMSIVersion,
|
||||
[Parameter(Mandatory=$true)][string]$DotnetCLIDisplayVersion,
|
||||
[Parameter(Mandatory=$true)][string]$DotnetCLINugetVersion,
|
||||
[Parameter(Mandatory=$true)][string]$UpgradeCode,
|
||||
[Parameter(Mandatory=$true)][string]$Architecture
|
||||
)
|
||||
|
||||
. "$PSScriptRoot\..\..\..\scripts\common\_common.ps1"
|
||||
$RepoRoot = Convert-Path "$PSScriptRoot\..\..\.."
|
||||
|
||||
$InstallFileswsx = "install-msbuild-extensions-files.wxs"
|
||||
$InstallFilesWixobj = "install-msbuild-extensions-files.wixobj"
|
||||
|
||||
function RunHeat
|
||||
{
|
||||
$result = $true
|
||||
pushd "$WixRoot"
|
||||
|
||||
Write-Output Running heat..
|
||||
|
||||
.\heat.exe dir `"$inputDir`" -template fragment -sreg -gg -var var.DotnetSrc -cg InstallFiles -srd -dr MSBUILDEXTENSIONSHOME -out $InstallFileswsx | Out-Host
|
||||
|
||||
if($LastExitCode -ne 0)
|
||||
{
|
||||
$result = $false
|
||||
Write-Output "Heat failed with exit code $LastExitCode."
|
||||
}
|
||||
|
||||
popd
|
||||
return $result
|
||||
}
|
||||
|
||||
function RunCandle
|
||||
{
|
||||
$result = $true
|
||||
pushd "$WixRoot"
|
||||
|
||||
Write-Output Running candle..
|
||||
$AuthWsxRoot = Join-Path $RepoRoot "packaging\windows\msbuildextensions"
|
||||
|
||||
.\candle.exe -nologo `
|
||||
-dDotnetSrc="$inputDir" `
|
||||
-dMicrosoftEula="$RepoRoot\packaging\windows\clisdk\dummyeula.rtf" `
|
||||
-dProductMoniker="$ProductMoniker" `
|
||||
-dBuildVersion="$DotnetMSIVersion" `
|
||||
-dDisplayVersion="$DotnetCLIDisplayVersion" `
|
||||
-dNugetVersion="$DotnetCLINugetVersion" `
|
||||
-dUpgradeCode="$UpgradeCode" `
|
||||
-arch "$Architecture" `
|
||||
-ext WixDependencyExtension.dll `
|
||||
"$AuthWsxRoot\msbuildextensions.wxs" `
|
||||
"$AuthWsxRoot\provider.wxs" `
|
||||
"$AuthWsxRoot\registrykeys.wxs" `
|
||||
$InstallFileswsx | Out-Host
|
||||
|
||||
if($LastExitCode -ne 0)
|
||||
{
|
||||
$result = $false
|
||||
Write-Output "Candle failed with exit code $LastExitCode."
|
||||
}
|
||||
|
||||
popd
|
||||
return $result
|
||||
}
|
||||
|
||||
function RunLight
|
||||
{
|
||||
$result = $true
|
||||
pushd "$WixRoot"
|
||||
|
||||
Write-Output Running light..
|
||||
$CabCache = Join-Path $WixRoot "cabcache"
|
||||
$AuthWsxRoot = Join-Path $RepoRoot "packaging\windows\msbuildextensions"
|
||||
|
||||
.\light.exe -nologo -ext WixUIExtension -ext WixDependencyExtension -ext WixUtilExtension `
|
||||
-cultures:en-us `
|
||||
msbuildextensions.wixobj `
|
||||
provider.wixobj `
|
||||
registrykeys.wixobj `
|
||||
$InstallFilesWixobj `
|
||||
-b "$inputDir" `
|
||||
-b "$AuthWsxRoot" `
|
||||
-reusecab `
|
||||
-cc "$CabCache" `
|
||||
-out $MSBuildExtensionsMSIOutput | Out-Host
|
||||
|
||||
if($LastExitCode -ne 0)
|
||||
{
|
||||
$result = $false
|
||||
Write-Output "Light failed with exit code $LastExitCode."
|
||||
}
|
||||
|
||||
popd
|
||||
return $result
|
||||
}
|
||||
|
||||
if(!(Test-Path $inputDir))
|
||||
{
|
||||
throw "$inputDir not found"
|
||||
}
|
||||
|
||||
Write-Output "Creating MSBuild Extensions MSI at $MSBuildExtensionsMSIOutput"
|
||||
|
||||
if([string]::IsNullOrEmpty($WixRoot))
|
||||
{
|
||||
Exit -1
|
||||
}
|
||||
|
||||
if(-Not (RunHeat))
|
||||
{
|
||||
Exit -1
|
||||
}
|
||||
|
||||
if(-Not (RunCandle))
|
||||
{
|
||||
Exit -1
|
||||
}
|
||||
|
||||
if(-Not (RunLight))
|
||||
{
|
||||
Exit -1
|
||||
}
|
||||
|
||||
if(!(Test-Path $MSBuildExtensionsMSIOutput))
|
||||
{
|
||||
throw "Unable to create the MSBuild Extensions msi."
|
||||
Exit -1
|
||||
}
|
||||
|
||||
Write-Output -ForegroundColor Green "Successfully created MSBuild Extensions MSI - $MSBuildExtensionsMSIOutput"
|
||||
|
||||
exit $LastExitCode
|
34
packaging/windows/msbuildextensions/msbuildextensions.wxs
Normal file
34
packaging/windows/msbuildextensions/msbuildextensions.wxs
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<?include "Variables.wxi" ?>
|
||||
<Product Id="*" Name="$(var.ProductName)" Language="$(var.ProductLanguage)" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
|
||||
<Package Compressed="yes" InstallScope="perMachine" InstallerVersion="200" />
|
||||
|
||||
<MajorUpgrade DowngradeErrorMessage="$(var.DowngradeErrorMessage)" Schedule="afterInstallInitialize"/>
|
||||
|
||||
<MediaTemplate CabinetTemplate="dnbe{0}.cab" CompressionLevel="high" EmbedCab="yes" />
|
||||
|
||||
<Feature Id="MainFeature" Title="Main Feature" Level="1">
|
||||
<ComponentGroupRef Id="InstallFiles" />
|
||||
<ComponentGroupRef Id="AuthoredRegistryKeys"/>
|
||||
</Feature>
|
||||
<Feature Id="Provider" Absent="disallow" AllowAdvertise="no" Description="Used for Ref Counting" Display="hidden" Level="1" InstallDefault="local" Title="RefCounting" TypicalDefault="install">
|
||||
<ComponentRef Id="$(var.DependencyKeyId)" />
|
||||
</Feature>
|
||||
<Property Id="ProductFamily" Value="$(var.ProductFamily)" />
|
||||
<Property Id="ProductEdition" Value="$(var.ProductEdition)" />
|
||||
<Property Id="ProductCPU" Value="$(var.Platform)" />
|
||||
<Property Id="RTM_ProductVersion" Value="$(var.Dotnet_ProductVersion)" />
|
||||
<Property Id="MSIFASTINSTALL" Value="7" />
|
||||
<WixVariable Id="WixUILicenseRtf" Value="$(var.MicrosoftEula)" />
|
||||
|
||||
<CustomActionRef Id="WixBroadcastEnvironmentChange" />
|
||||
</Product>
|
||||
<Fragment>
|
||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||
<Directory Id="$(var.Program_Files)">
|
||||
<Directory Id="MSBUILDEXTENSIONSHOME" Name="MSBuild"/>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Fragment>
|
||||
</Wix>
|
9
packaging/windows/msbuildextensions/provider.wxs
Normal file
9
packaging/windows/msbuildextensions/provider.wxs
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:dep="http://schemas.microsoft.com/wix/DependencyExtension">
|
||||
<?include "Variables.wxi" ?>
|
||||
<Fragment>
|
||||
<Component Id="$(var.DependencyKeyId)" Directory="TARGETDIR" Win64="no" Guid="*">
|
||||
<dep:Provides Key="$(var.DependencyKey)" />
|
||||
</Component>
|
||||
</Fragment>
|
||||
</Wix>
|
13
packaging/windows/msbuildextensions/registrykeys.wxs
Normal file
13
packaging/windows/msbuildextensions/registrykeys.wxs
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<?include "Variables.wxi" ?>
|
||||
<Fragment>
|
||||
<ComponentGroup Id="AuthoredRegistryKeys">
|
||||
<Component Id="SetupRegistry_x86" Directory="TARGETDIR" Win64="no">
|
||||
<RegistryKey Root="HKLM" Key="SOFTWARE\dotnet\Setup\InstalledVersions\$(var.Platform)\MSBuildExtensions">
|
||||
<RegistryValue Action="write" Name="$(var.NugetVersion)" Type="integer" Value="1" KeyPath="yes"/>
|
||||
</RegistryKey>
|
||||
</Component>
|
||||
</ComponentGroup>
|
||||
</Fragment>
|
||||
</Wix>
|
24
packaging/windows/msbuildextensions/variables.wxi
Normal file
24
packaging/windows/msbuildextensions/variables.wxi
Normal file
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0"?>
|
||||
<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<?define Servicing_Key_SP = "0" ?>
|
||||
<?define Servicing_Key_SPIndex = "0" ?>
|
||||
<?define Servicing_Key_SPName = "Beta" ?>
|
||||
<?define Dotnet_ProductVersion = "$(var.BuildVersion)" ?>
|
||||
<?define Dotnet_DisplayVersion = "$(var.DisplayVersion)" ?>
|
||||
<?define Dotnet_BuildVersion = "$(var.BuildVersion)" ?>
|
||||
<?define Manufacturer = "Microsoft Corporation" ?>
|
||||
<?define ProductName = "$(var.ProductMoniker) ($(sys.BUILDARCH))" ?>
|
||||
<?define ProductLanguage = "1033" ?>
|
||||
<?define ProductVersion = "$(var.Dotnet_ProductVersion)" ?>
|
||||
<?define ProductFamily = "dotnet" ?>
|
||||
<?define ProductEdition = "001dotnet" ?>
|
||||
<?define LCID = "$(var.ProductLanguage)"?>
|
||||
<?define DowngradeErrorMessage = "A newer version is already installed; please uninstall it and re-run setup."?>
|
||||
|
||||
<?define Platform = "$(sys.BUILDARCH)" ?>
|
||||
<?define Program_Files="ProgramFilesFolder"?>
|
||||
<?define Win64AttributeValue=no?>
|
||||
|
||||
<?define DependencyKey = "Dotnet_MSBUILD_EXTENSIONS_$(var.Dotnet_DisplayVersion)_$(var.Platform)"?>
|
||||
<?define DependencyKeyId = "$(var.DependencyKey)" ?>
|
||||
</Include>
|
|
@ -152,7 +152,7 @@ export VSTEST_TRACE_BUILD=1
|
|||
|
||||
|
||||
# Don't resolve shared frameworks from user or global locations
|
||||
DOTNET_MULTILEVEL_LOOKUP=0
|
||||
export DOTNET_MULTILEVEL_LOOKUP=0
|
||||
|
||||
# Install a stage 0
|
||||
(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "release/2.0.0" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS)
|
||||
|
|
|
@ -4,36 +4,10 @@
|
|||
#
|
||||
|
||||
# Dockerfile that creates a container suitable to build dotnet-cli
|
||||
FROM fedora:23
|
||||
|
||||
# Install the base toolchain we need to build anything (clang, cmake, make and the like)
|
||||
# this does not include libraries that we need to compile different projects, we'd like
|
||||
# them in a different layer.
|
||||
RUN dnf install -y cmake \
|
||||
clang \
|
||||
lldb-devel \
|
||||
make \
|
||||
which && \
|
||||
dnf clean all
|
||||
FROM microsoft/dotnet-buildtools-prereqs:fedora23_prereqs
|
||||
|
||||
# Install tools used by the VSO build automation.
|
||||
RUN dnf install -y git \
|
||||
zip \
|
||||
tar \
|
||||
nodejs \
|
||||
findutils \
|
||||
npm && \
|
||||
dnf clean all && \
|
||||
npm install -g azure-cli && \
|
||||
npm cache clean
|
||||
|
||||
# Dependencies of CoreCLR and CoreFX.
|
||||
RUN dnf install -y libicu-devel \
|
||||
libuuid-devel \
|
||||
libcurl-devel \
|
||||
openssl-devel \
|
||||
libunwind-devel \
|
||||
lttng-ust-devel && \
|
||||
RUN dnf install -y findutils && \
|
||||
dnf clean all
|
||||
|
||||
# Upgrade NSS, used for SSL, to avoid NuGet restore timeouts.
|
||||
|
|
|
@ -3,37 +3,11 @@
|
|||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
#
|
||||
|
||||
FROM opensuse:13.2
|
||||
FROM microsoft/dotnet-buildtools-prereqs:opensuse132_prereqs_v4
|
||||
|
||||
# Install the base toolchain we need to build anything (clang, cmake, make and the like)
|
||||
# this does not include libraries that we need to compile different projects, we'd like
|
||||
# them in a different layer.
|
||||
RUN zypper -n install binutils \
|
||||
cmake \
|
||||
which \
|
||||
gcc \
|
||||
llvm-clang \
|
||||
tar \
|
||||
ncurses-utils \
|
||||
curl \
|
||||
git \
|
||||
sudo && \
|
||||
ln -s /usr/bin/clang++ /usr/bin/clang++-3.5 && \
|
||||
RUN zypper -n install sudo \
|
||||
ncurses-utils && \
|
||||
zypper clean -a
|
||||
|
||||
# Dependencies of CoreCLR and CoreFX. We need to add an additional repository to get lttng.
|
||||
RUN zypper addrepo -G http://download.opensuse.org/repositories/devel:/tools:/lttng/openSUSE_13.2/devel:tools:lttng.repo && \
|
||||
zypper refresh && \
|
||||
zypper -n remove krb5-mini && \
|
||||
zypper -n install libunwind \
|
||||
libicu \
|
||||
lttng-ust \
|
||||
libuuid1 \
|
||||
libopenssl1_0_0 \
|
||||
libcurl4 \
|
||||
krb5 && \
|
||||
zypper clean -a
|
||||
|
||||
# Setup User to match Host User, and give superuser permissions
|
||||
ARG USER_ID=0
|
||||
RUN useradd -m code_executor -u ${USER_ID} -g wheel
|
||||
|
|
2
scripts/obtain/dotnet-install.ps1
vendored
2
scripts/obtain/dotnet-install.ps1
vendored
|
@ -232,7 +232,7 @@ function Get-Latest-Version-Info([string]$AzureFeed, [string]$Channel, [bool]$Co
|
|||
$StringContent = $Response.Content.ReadAsStringAsync().Result
|
||||
|
||||
switch ($Response.Content.Headers.ContentType) {
|
||||
{ ($_ -eq "application/octet-stream") } { $VersionText = [Text.Encoding]::UTF8.GetString($StringContent) }
|
||||
{ ($_ -eq "application/octet-stream") } { $VersionText = $StringContent }
|
||||
{ ($_ -eq "text/plain") } { $VersionText = $StringContent }
|
||||
{ ($_ -eq "text/plain; charset=UTF-8") } { $VersionText = $StringContent }
|
||||
default { throw "``$Response.Content.Headers.ContentType`` is an unknown .version file content type." }
|
||||
|
|
2
scripts/obtain/dotnet-install.sh
vendored
2
scripts/obtain/dotnet-install.sh
vendored
|
@ -346,7 +346,7 @@ get_latest_version_info() {
|
|||
version_file_url="$uncached_feed/Runtime/$channel/latest.version"
|
||||
else
|
||||
if [ "$coherent" = true ]; then
|
||||
version_file_url="$uncached_feed/Runtime/$channel/latest.coherent.version"
|
||||
version_file_url="$uncached_feed/Sdk/$channel/latest.coherent.version"
|
||||
else
|
||||
version_file_url="$uncached_feed/Sdk/$channel/latest.version"
|
||||
fi
|
||||
|
|
|
@ -13,8 +13,10 @@ if [ $current_userid -ne 0 ]; then
|
|||
fi
|
||||
|
||||
host_package_name="dotnet-host"
|
||||
aspnetcore_package_store_package_name="^aspnetcore-store.*"
|
||||
|
||||
remove_all(){
|
||||
apt-get purge -y $aspnetcore_package_store_package_name
|
||||
apt-get purge -y $host_package_name
|
||||
}
|
||||
|
||||
|
|
|
@ -13,9 +13,11 @@ if [ $current_userid -ne 0 ]; then
|
|||
fi
|
||||
|
||||
host_package_name="dotnet-host"
|
||||
aspnetcore_package_store_package_name="aspnetcore-store*"
|
||||
|
||||
remove_all(){
|
||||
yum remove -y $host_package_name
|
||||
yum remove -y $aspnetcore_package_store_package_name
|
||||
}
|
||||
|
||||
is_dotnet_host_installed(){
|
||||
|
|
|
@ -98,7 +98,7 @@ namespace Microsoft.DotNet.Archive
|
|||
}
|
||||
|
||||
long compressedSize = inStream.Length - inStream.Position;
|
||||
var lzmaProgress = new LzmaProgress(progress, "Decompressing", outSize, MeasureBy.Output);
|
||||
var lzmaProgress = new LzmaProgress(progress, LocalizableStrings.Decompressing, outSize, MeasureBy.Output);
|
||||
lzmaProgress.SetProgress(0, 0);
|
||||
decoder.Code(inStream, outStream, compressedSize, outSize, lzmaProgress);
|
||||
lzmaProgress.SetProgress(inStream.Length, outSize);
|
||||
|
|
|
@ -380,7 +380,7 @@ namespace Microsoft.DotNet.Archive
|
|||
extractOperations.AsParallel().ForAll(extractOperation =>
|
||||
{
|
||||
extractOperation.DoOperation();
|
||||
progress.Report("Expanding", Interlocked.Increment(ref opsExecuted), extractOperations.Count);
|
||||
progress.Report(LocalizableStrings.Expanding, Interlocked.Increment(ref opsExecuted), extractOperations.Count);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
126
src/Microsoft.DotNet.Archive/LocalizableStrings.resx
Normal file
126
src/Microsoft.DotNet.Archive/LocalizableStrings.resx
Normal file
|
@ -0,0 +1,126 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Expanding" xml:space="preserve">
|
||||
<value>Expanding</value>
|
||||
</data>
|
||||
<data name="Decompressing" xml:space="preserve">
|
||||
<value>Decompressing</value>
|
||||
</data>
|
||||
</root>
|
|
@ -10,8 +10,13 @@
|
|||
<PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Update="**\*.resx" GenerateSource="true" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NETStandard.Library" Version="1.6.0" />
|
||||
<PackageReference Include="System.Linq.Parallel" Version="4.0.1" />
|
||||
<PackageReference Include="XliffTasks" Version="$(XliffTasksVersion)" PrivateAssets="All" />
|
||||
</ItemGroup>
|
||||
</Project>
|
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.cs.xlf
Normal file
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.cs.xlf
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="cs" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">Rozbalení</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">Dekomprese</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.de.xlf
Normal file
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.de.xlf
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="de" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">Aufklappen</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">Dekomprimieren</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.es.xlf
Normal file
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.es.xlf
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="es" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">Expandiendo</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">Descomprimiendo</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.fr.xlf
Normal file
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.fr.xlf
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="fr" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">Développement</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">Décompression</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.it.xlf
Normal file
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.it.xlf
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="it" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">Espansione</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">Decompressione</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ja.xlf
Normal file
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ja.xlf
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="ja" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">展開中</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">圧縮解除中</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ko.xlf
Normal file
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ko.xlf
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="ko" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">확장하는 중</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">압축을 푸는 중</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.pl.xlf
Normal file
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.pl.xlf
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="pl" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">Rozwijanie</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">Dekompresja</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="pt-BR" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">Expandindo</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">Descompactando</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ru.xlf
Normal file
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ru.xlf
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="ru" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">Идет расширение</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">Идет извлечение</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.tr.xlf
Normal file
17
src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.tr.xlf
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="tr" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">Genişletme</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">Daraltma</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="zh-Hans" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">正在扩展</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">正在解压缩</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
|
||||
<file datatype="xml" source-language="en" target-language="zh-Hant" original="../LocalizableStrings.resx">
|
||||
<body>
|
||||
<trans-unit id="Expanding">
|
||||
<source>Expanding</source>
|
||||
<target state="translated">正在展開</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="Decompressing">
|
||||
<source>Decompressing</source>
|
||||
<target state="translated">正在解壓縮</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
|
@ -39,7 +39,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="ErrorMessageFormatString">
|
||||
<source>Invalid format in line {0}: {1}</source>
|
||||
<target state="translated">Formato non valido a riga {0}: {1}</target>
|
||||
<target state="translated">Formato non valido alla riga {0}: {1}</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="ProjectParsingErrorFormatString">
|
||||
|
|
12
src/Microsoft.DotNet.Cli.Utils/ITelemetryFilter.cs
Normal file
12
src/Microsoft.DotNet.Cli.Utils/ITelemetryFilter.cs
Normal file
|
@ -0,0 +1,12 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Utils
|
||||
{
|
||||
public interface ITelemetryFilter
|
||||
{
|
||||
IEnumerable<ApplicationInsightsEntryFormat> Filter(object o);
|
||||
}
|
||||
}
|
|
@ -7,7 +7,7 @@ namespace Microsoft.DotNet.Cli.Utils
|
|||
{
|
||||
public class Product
|
||||
{
|
||||
public static readonly string LongName = LocalizableStrings.DotNetCommandLineTools;
|
||||
public static string LongName => LocalizableStrings.DotNetCommandLineTools;
|
||||
public static readonly string Version = GetProductVersion();
|
||||
|
||||
private static string GetProductVersion()
|
||||
|
|
|
@ -15,7 +15,7 @@ namespace Microsoft.DotNet.Cli.Utils
|
|||
public RuntimeConfig(string runtimeConfigPath)
|
||||
{
|
||||
JObject runtimeConfigJson;
|
||||
using (var streamReader = new StreamReader(new FileStream(runtimeConfigPath, FileMode.Open)))
|
||||
using (var streamReader = new StreamReader(File.OpenRead(runtimeConfigPath)))
|
||||
{
|
||||
runtimeConfigJson = OpenRuntimeConfig(streamReader);
|
||||
}
|
||||
|
|
87
src/Microsoft.DotNet.Cli.Utils/TelemetryEventEntry.cs
Normal file
87
src/Microsoft.DotNet.Cli.Utils/TelemetryEventEntry.cs
Normal file
|
@ -0,0 +1,87 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Utils
|
||||
{
|
||||
public static class TelemetryEventEntry
|
||||
{
|
||||
public static event EventHandler<InstrumentationEventArgs> EntryPosted;
|
||||
public static ITelemetryFilter TelemetryFilter { get; set; } = new BlockFilter();
|
||||
|
||||
public static void TrackEvent(
|
||||
string eventName = null,
|
||||
IDictionary<string, string> properties = null,
|
||||
IDictionary<string, double> measurements = null)
|
||||
{
|
||||
EntryPosted?.Invoke(typeof(TelemetryEventEntry),
|
||||
new InstrumentationEventArgs(eventName, properties, measurements));
|
||||
}
|
||||
|
||||
public static void SendFiltered(object o = null)
|
||||
{
|
||||
if (o == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (ApplicationInsightsEntryFormat entry in TelemetryFilter.Filter(o))
|
||||
{
|
||||
TrackEvent(entry.EventName, entry.Properties, entry.Measurements);
|
||||
}
|
||||
}
|
||||
|
||||
public static void Subscribe(Action<string,
|
||||
IDictionary<string, string>,
|
||||
IDictionary<string, double>> subscriber)
|
||||
{
|
||||
void Handler(object sender, InstrumentationEventArgs eventArgs)
|
||||
{
|
||||
subscriber(eventArgs.EventName, eventArgs.Properties, eventArgs.Measurements);
|
||||
}
|
||||
|
||||
EntryPosted += Handler;
|
||||
}
|
||||
}
|
||||
|
||||
public class BlockFilter : ITelemetryFilter
|
||||
{
|
||||
public IEnumerable<ApplicationInsightsEntryFormat> Filter(object o)
|
||||
{
|
||||
return new List<ApplicationInsightsEntryFormat>();
|
||||
}
|
||||
}
|
||||
|
||||
public class InstrumentationEventArgs : EventArgs
|
||||
{
|
||||
internal InstrumentationEventArgs(
|
||||
string eventName,
|
||||
IDictionary<string, string> properties,
|
||||
IDictionary<string, double> measurements)
|
||||
{
|
||||
EventName = eventName;
|
||||
Properties = properties;
|
||||
Measurements = measurements;
|
||||
}
|
||||
|
||||
public string EventName { get; }
|
||||
public IDictionary<string, string> Properties { get; }
|
||||
public IDictionary<string, double> Measurements { get; }
|
||||
}
|
||||
|
||||
public class ApplicationInsightsEntryFormat
|
||||
{
|
||||
public ApplicationInsightsEntryFormat(
|
||||
string eventName = null,
|
||||
IDictionary<string, string> properties = null,
|
||||
IDictionary<string, double> measurements = null)
|
||||
{
|
||||
EventName = eventName;
|
||||
Properties = properties;
|
||||
Measurements = measurements;
|
||||
}
|
||||
|
||||
public string EventName { get; }
|
||||
public IDictionary<string, string> Properties { get; }
|
||||
public IDictionary<string, double> Measurements { get; }
|
||||
}
|
||||
}
|
|
@ -14,17 +14,17 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="AttemptingToFindCommand">
|
||||
<source>{0}: attempting to find command {1} in {2}</source>
|
||||
<target state="translated">{0}: pokus o nalezení příkazu {1} v {2}</target>
|
||||
<target state="translated">{0}: Pokus o nalezení příkazu {1} v {2}</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="FailedToFindToolAssembly">
|
||||
<source>{0}: failed to find toolAssembly for {1}</source>
|
||||
<target state="translated">{0}: nepodařilo se najít toolAssembly pro {1}</target>
|
||||
<target state="translated">{0}: Nepodařilo se najít toolAssembly pro {1}</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="FailedToFindCommandPath">
|
||||
<source>{0}: failed to find commandPath {1}</source>
|
||||
<target state="translated">{0}: nepodařilo se najít commandPath {1}</target>
|
||||
<target state="translated">{0}: Nepodařilo se najít commandPath {1}</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="UnableToLocateDotnetMultiplexer">
|
||||
|
@ -121,7 +121,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="AttemptingToCreateCommandSpec">
|
||||
<source>{0}: attempting to create commandspec</source>
|
||||
<target state="translated">{0}: pokus o vytvoření specifikace příkazu commandspec</target>
|
||||
<target state="translated">{0}: Pokus o vytvoření specifikace příkazu commandspec</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="CommandSpecIsNull">
|
||||
|
@ -131,7 +131,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="ExpectDepsJsonAt">
|
||||
<source>{0}: expect deps.json at: {1}</source>
|
||||
<target state="translated">{0}: soubor deps.json se očekává v: {1}</target>
|
||||
<target state="translated">{0}: Soubor deps.json se očekává v: {1}</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="GeneratingDepsJson">
|
||||
|
@ -206,7 +206,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="ProcessExitedWithCode">
|
||||
<source>< {0} exited with {1} in {2} ms.</source>
|
||||
<target state="translated">< {0} skončil s {1} ve {2} ms.</target>
|
||||
<target state="translated">< {0} skončil s {1} za {2} ms.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="UnableToInvokeMemberNameAfterCommand">
|
||||
|
@ -231,7 +231,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="CommandAssembliesNotFound">
|
||||
<source>The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore`</source>
|
||||
<target state="translated">Spustitelný soubor příkazu {0} se nenašel. Projekt zřejmě nebyl obnoven, nebo obnovení selhalo – spusťte příkaz run `dotnet restore`.</target>
|
||||
<target state="translated">Spustitelný soubor příkazu {0} se nenašel. Projekt se nepodařilo obnovit nebo jeho obnovení nebylo úspěšné. Spusťte příkaz dotnet restore.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="AttemptingToFindCommand">
|
||||
<source>{0}: attempting to find command {1} in {2}</source>
|
||||
<target state="translated">{0}: Versuch, Befehl {1} in {2} zu finden</target>
|
||||
<target state="translated">{0}: Nach Befehl {1} wird in {2} gesucht</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="FailedToFindToolAssembly">
|
||||
|
@ -39,7 +39,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="AttemptingToResolve">
|
||||
<source>{0}: attempting to resolve {1}</source>
|
||||
<target state="translated">{0}: Versuch, {1} aufzulösen</target>
|
||||
<target state="translated">{0}: Es wird versucht, {1} aufzulösen</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="DidNotFindAMatchingProject">
|
||||
|
@ -99,7 +99,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="AttemptingToResolveCommandSpec">
|
||||
<source>{0}: Attempting to resolve command spec from tool {1}</source>
|
||||
<target state="translated">{0}: Versuch, commandspec aus Tool {1} aufzulösen.</target>
|
||||
<target state="translated">{0}: Es wird versucht, commandspec aus Tool {1} aufzulösen.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="NuGetPackagesRoot">
|
||||
|
@ -121,7 +121,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="AttemptingToCreateCommandSpec">
|
||||
<source>{0}: attempting to create commandspec</source>
|
||||
<target state="translated">{0}: Versuch, commandspec zu erstellen</target>
|
||||
<target state="translated">{0}: Es wird versucht, commandspec zu erstellen</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="CommandSpecIsNull">
|
||||
|
@ -161,7 +161,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="ProjectNotRestoredOrRestoreFailed">
|
||||
<source>The project may not have been restored or restore failed - run `dotnet restore`</source>
|
||||
<target state="translated">Das Projekt wurde möglicherweise nicht wiederhergestellt, oder bei der Wiederherstellung ist ein Fehler aufgetreten - führen Sie `dotnet restore` aus.</target>
|
||||
<target state="translated">Das Projekt wurde möglicherweise nicht wiederhergestellt, oder bei der Wiederherstellung ist ein Fehler aufgetreten. führen Sie "dotnet restore" aus.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="NoExecutableFoundMatchingCommand">
|
||||
|
@ -206,7 +206,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="ProcessExitedWithCode">
|
||||
<source>< {0} exited with {1} in {2} ms.</source>
|
||||
<target state="translated">< {0} wird in {2} ms mit {1} beendet.</target>
|
||||
<target state="translated">< {0} wurde nach {2} ms mit {1} beendet.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="UnableToInvokeMemberNameAfterCommand">
|
||||
|
@ -231,7 +231,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="CommandAssembliesNotFound">
|
||||
<source>The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore`</source>
|
||||
<target state="translated">Der für "{0}" auszuführende Befehle wurde nicht gefunden. Das Projekt wurde möglicherweise nicht wiederhergestellt, oder bei der Wiederherstellung ist ein Fehler aufgetreten – führen Sie "dotnet restore" aus.</target>
|
||||
<target state="translated">Der für "{0}" auszuführende Befehl wurde nicht gefunden. Das Projekt wurde möglicherweise nicht wiederhergestellt, oder bei der Wiederherstellung ist ein Fehler aufgetreten. Führen Sie "dotnet restore" aus.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
</body>
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="MultipleProjectFilesFound">
|
||||
<source>Specify which project file to use because this '{0}' contains more than one project file.</source>
|
||||
<target state="translated">Specificare il file di progetto da usare perché questo file perché questo elemento '{0}' contiene più file di progetto.</target>
|
||||
<target state="translated">Specificare il file di progetto da usare perché questo elemento '{0}' contiene più file di progetto.</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="DidNotFindProject">
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="DidNotFindAMatchingProject">
|
||||
<source>{0}: Did not find a matching project {1}.</source>
|
||||
<target state="translated">{0}:一致するプロジェクト {1}.が見つかりませんでした。</target>
|
||||
<target state="translated">{0}: 一致するプロジェクト {1}.が見つかりませんでした。</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="InvalidCommandResolverArguments">
|
||||
|
@ -69,12 +69,12 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="MSBuildExePath">
|
||||
<source>{0}: MSBUILD_EXE_PATH = {1}</source>
|
||||
<target state="translated">{0}:MSBUILD_EXE_PATH = {1}</target>
|
||||
<target state="translated">{0}: MSBUILD_EXE_PATH = {1}</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="MSBuildProjectPath">
|
||||
<source>{0}: MSBuild project path = {1}</source>
|
||||
<target state="translated">{0}:MSBuild project path = {1}</target>
|
||||
<target state="translated">{0}: MSBuild project path = {1}</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="MultipleProjectFilesFound">
|
||||
|
@ -99,7 +99,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="AttemptingToResolveCommandSpec">
|
||||
<source>{0}: Attempting to resolve command spec from tool {1}</source>
|
||||
<target state="translated">{0}:ツール {1} から commandspec を解決しようとしています</target>
|
||||
<target state="translated">{0}: ツール {1} から commandspec を解決しようとしています</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="NuGetPackagesRoot">
|
||||
|
@ -161,7 +161,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="ProjectNotRestoredOrRestoreFailed">
|
||||
<source>The project may not have been restored or restore failed - run `dotnet restore`</source>
|
||||
<target state="translated">プロジェクトが復元されていない可能性があるか、または - run `dotnet restore` の復元に失敗しました。</target>
|
||||
<target state="translated">プロジェクトが復元されていないか、復元に失敗した可能性があります。`dotnet restore` を実行します</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="NoExecutableFoundMatchingCommand">
|
||||
|
@ -171,7 +171,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="WaitingForDebuggerToAttach">
|
||||
<source>Waiting for debugger to attach. Press ENTER to continue</source>
|
||||
<target state="translated">デバッガーのアタッチを待っています...続行するには、ENTER キーを押してください</target>
|
||||
<target state="translated">デバッガーのアタッチを待っています。続行するには、ENTER キーを押してください</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="ProcessId">
|
||||
|
|
|
@ -191,7 +191,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="WriteLineForwarderSetPreviously">
|
||||
<source>WriteLine forwarder set previously</source>
|
||||
<target state="translated">WriteLine 전달자가 전에 설정됨</target>
|
||||
<target state="translated">WriteLine 전달자가 이전에 설정됨</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="AlreadyCapturingStream">
|
||||
|
|
|
@ -105,7 +105,7 @@
|
|||
<trans-unit id="NuGetPackagesRoot">
|
||||
<source>{0}: nuget packages root:
|
||||
{1}</source>
|
||||
<target state="translated">{0}: Korzeń pakietów NuGet:
|
||||
<target state="translated">{0}: Katalog główny pakietów NuGet:
|
||||
{1}</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
|
|
|
@ -161,7 +161,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="ProjectNotRestoredOrRestoreFailed">
|
||||
<source>The project may not have been restored or restore failed - run `dotnet restore`</source>
|
||||
<target state="translated">Возможно, проект не был восстановлен или его восстановление завершилось со сбоем, запустите команду "dotnet restore".</target>
|
||||
<target state="translated">Возможно, проект не был восстановлен или его восстановление завершилось со сбоем. Запустите команду "dotnet restore".</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="NoExecutableFoundMatchingCommand">
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="FailedToFindCommandPath">
|
||||
<source>{0}: failed to find commandPath {1}</source>
|
||||
<target state="translated">{0}: {1} için commandPath bulunamadı</target>
|
||||
<target state="translated">{0}: {1} commandPath bulunamadı</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="UnableToLocateDotnetMultiplexer">
|
||||
|
|
|
@ -131,7 +131,7 @@
|
|||
</trans-unit>
|
||||
<trans-unit id="ExpectDepsJsonAt">
|
||||
<source>{0}: expect deps.json at: {1}</source>
|
||||
<target state="translated">{0}: 需要deps.json: {1}</target>
|
||||
<target state="translated">{0}: 需要 deps.json: {1}</target>
|
||||
<note />
|
||||
</trans-unit>
|
||||
<trans-unit id="GeneratingDepsJson">
|
||||
|
|
|
@ -45,10 +45,12 @@ namespace Microsoft.DotNet.Configurer
|
|||
{
|
||||
PrintUnauthorizedAccessMessage();
|
||||
}
|
||||
else
|
||||
{
|
||||
PrintNugetCachePrimeMessage();
|
||||
|
||||
PrintNugetCachePrimeMessage();
|
||||
|
||||
_nugetCachePrimer.PrimeCache();
|
||||
_nugetCachePrimer.PrimeCache();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,6 +83,8 @@ namespace Microsoft.DotNet.Configurer
|
|||
private bool ShouldPrimeNugetCache()
|
||||
{
|
||||
return ShouldRunFirstRunExperience() &&
|
||||
!_nugetCacheSentinel.Exists() &&
|
||||
!_nugetCacheSentinel.InProgressSentinelAlreadyExists() &&
|
||||
!_nugetCachePrimer.SkipPrimingTheCache();
|
||||
}
|
||||
|
||||
|
@ -96,9 +100,7 @@ namespace Microsoft.DotNet.Configurer
|
|||
var skipFirstTimeExperience =
|
||||
_environmentProvider.GetEnvironmentVariableAsBool("DOTNET_SKIP_FIRST_TIME_EXPERIENCE", false);
|
||||
|
||||
return !skipFirstTimeExperience &&
|
||||
!_nugetCacheSentinel.Exists() &&
|
||||
!_nugetCacheSentinel.InProgressSentinelAlreadyExists();
|
||||
return !skipFirstTimeExperience;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,19 +13,24 @@ namespace Microsoft.DotNet.Configurer
|
|||
public static readonly string SENTINEL = $"{Product.Version}.dotnetFirstUseSentinel";
|
||||
|
||||
private readonly IFile _file;
|
||||
private readonly IDirectory _directory;
|
||||
|
||||
private string _dotnetUserProfileFolderPath;
|
||||
|
||||
private string SentinelPath => Path.Combine(_dotnetUserProfileFolderPath, SENTINEL);
|
||||
|
||||
public FirstTimeUseNoticeSentinel(CliFallbackFolderPathCalculator cliFallbackFolderPathCalculator) :
|
||||
this(cliFallbackFolderPathCalculator.DotnetUserProfileFolderPath, FileSystemWrapper.Default.File)
|
||||
this(
|
||||
cliFallbackFolderPathCalculator.DotnetUserProfileFolderPath,
|
||||
FileSystemWrapper.Default.File,
|
||||
FileSystemWrapper.Default.Directory)
|
||||
{
|
||||
}
|
||||
|
||||
internal FirstTimeUseNoticeSentinel(string dotnetUserProfileFolderPath, IFile file)
|
||||
internal FirstTimeUseNoticeSentinel(string dotnetUserProfileFolderPath, IFile file, IDirectory directory)
|
||||
{
|
||||
_file = file;
|
||||
_directory = directory;
|
||||
_dotnetUserProfileFolderPath = dotnetUserProfileFolderPath;
|
||||
}
|
||||
|
||||
|
@ -38,6 +43,11 @@ namespace Microsoft.DotNet.Configurer
|
|||
{
|
||||
if (!Exists())
|
||||
{
|
||||
if (!_directory.Exists(_dotnetUserProfileFolderPath))
|
||||
{
|
||||
_directory.CreateDirectory(_dotnetUserProfileFolderPath);
|
||||
}
|
||||
|
||||
_file.CreateEmptyFile(SentinelPath);
|
||||
}
|
||||
}
|
||||
|
|
12
src/Microsoft.DotNet.Configurer/IUserLevelCacheWriter.cs
Normal file
12
src/Microsoft.DotNet.Configurer/IUserLevelCacheWriter.cs
Normal file
|
@ -0,0 +1,12 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
|
||||
namespace Microsoft.DotNet.Configurer
|
||||
{
|
||||
public interface IUserLevelCacheWriter
|
||||
{
|
||||
string RunWithCache(string cacheKey, Func<string> getValueToCache);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System.IO;
|
||||
using Microsoft.DotNet.Cli.Utils;
|
||||
using Microsoft.Extensions.EnvironmentAbstractions;
|
||||
using NuGet.Configuration;
|
||||
|
||||
namespace Microsoft.DotNet.Configurer
|
||||
{
|
||||
public class NoOpFirstTimeUseNoticeSentinel : IFirstTimeUseNoticeSentinel
|
||||
{
|
||||
public bool Exists()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public void CreateIfNotExists()
|
||||
{
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
|
@ -45,7 +45,7 @@ namespace Microsoft.DotNet.Configurer
|
|||
|
||||
public bool InProgressSentinelAlreadyExists()
|
||||
{
|
||||
return CouldNotGetAHandleToTheInProgressSentinel();
|
||||
return CouldNotGetAHandleToTheInProgressSentinel() && !UnauthorizedAccess;
|
||||
}
|
||||
|
||||
public bool Exists()
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue