React to changes in package layout requirements for global CLI tools (#385)
This commit is contained in:
parent
c6aa71ddc4
commit
af8d61395f
|
|
@ -2,10 +2,8 @@ init:
|
||||||
- git config --global core.autocrlf true
|
- git config --global core.autocrlf true
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
|
||||||
- release
|
|
||||||
- /^rel\/.*/
|
|
||||||
- dev
|
- dev
|
||||||
|
- /^release\/.*/
|
||||||
- /^(.*\/)?ci-.*$/
|
- /^(.*\/)?ci-.*$/
|
||||||
build_script:
|
build_script:
|
||||||
- ps: .\run.ps1 default-build
|
- ps: .\run.ps1 default-build
|
||||||
|
|
|
||||||
|
|
@ -16,10 +16,8 @@ addons:
|
||||||
- libunwind8
|
- libunwind8
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- master
|
|
||||||
- release
|
|
||||||
- dev
|
- dev
|
||||||
- /^rel\/.*/
|
- /^release\/.*/
|
||||||
- /^(.*\/)?ci-.*$/
|
- /^(.*\/)?ci-.*$/
|
||||||
before_install:
|
before_install:
|
||||||
- if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/; fi
|
- if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/; fi
|
||||||
|
|
|
||||||
|
|
@ -15,18 +15,18 @@
|
||||||
],
|
],
|
||||||
"Exclusions": {
|
"Exclusions": {
|
||||||
"WRONG_PUBLICKEYTOKEN": {
|
"WRONG_PUBLICKEYTOKEN": {
|
||||||
"tools/netcoreapp2.1/any/System.Data.SqlClient.dll": "Assembly is built by another project but bundled in our nupkg.",
|
"tools/any/any/System.Data.SqlClient.dll": "Assembly is built by another project but bundled in our nupkg.",
|
||||||
"tools/netcoreapp2.1/any/System.Text.Encoding.CodePages.dll": "Assembly is built by another project but bundled in our nupkg.",
|
"tools/any/any/System.Text.Encoding.CodePages.dll": "Assembly is built by another project but bundled in our nupkg.",
|
||||||
"tools/netcoreapp2.1/any/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll": "Assembly is built by another project but bundled in our nupkg.",
|
"tools/any/any/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll": "Assembly is built by another project but bundled in our nupkg.",
|
||||||
"tools/netcoreapp2.1/any/runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.dll": "Assembly is built by another project but bundled in our nupkg.",
|
"tools/any/any/runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.dll": "Assembly is built by another project but bundled in our nupkg.",
|
||||||
"tools/netcoreapp2.1/any/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll": "Assembly is built by another project but bundled in our nupkg."
|
"tools/any/any/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll": "Assembly is built by another project but bundled in our nupkg."
|
||||||
},
|
},
|
||||||
"ASSEMBLY_INFORMATIONAL_VERSION_MISMATCH": {
|
"ASSEMBLY_INFORMATIONAL_VERSION_MISMATCH": {
|
||||||
"tools/netcoreapp2.1/any/System.Data.SqlClient.dll": "Assembly is built by another project but bundled in our nupkg.",
|
"tools/any/any/System.Data.SqlClient.dll": "Assembly is built by another project but bundled in our nupkg.",
|
||||||
"tools/netcoreapp2.1/any/System.Text.Encoding.CodePages.dll": "Assembly is built by another project but bundled in our nupkg.",
|
"tools/any/any/System.Text.Encoding.CodePages.dll": "Assembly is built by another project but bundled in our nupkg.",
|
||||||
"tools/netcoreapp2.1/any/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll": "Assembly is built by another project but bundled in our nupkg.",
|
"tools/any/any/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll": "Assembly is built by another project but bundled in our nupkg.",
|
||||||
"tools/netcoreapp2.1/any/runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.dll": "Assembly is built by another project but bundled in our nupkg.",
|
"tools/any/any/runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.dll": "Assembly is built by another project but bundled in our nupkg.",
|
||||||
"tools/netcoreapp2.1/any/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll": "Assembly is built by another project but bundled in our nupkg."
|
"tools/any/any/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll": "Assembly is built by another project but bundled in our nupkg."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -36,28 +36,28 @@
|
||||||
],
|
],
|
||||||
"Exclusions": {
|
"Exclusions": {
|
||||||
"NEUTRAL_RESOURCES_LANGUAGE": {
|
"NEUTRAL_RESOURCES_LANGUAGE": {
|
||||||
"tools/netcoreapp2.1/any/Newtonsoft.Json.dll": "Assembly is built by another project but bundled in our nupkg.",
|
"tools/any/any/Newtonsoft.Json.dll": "Assembly is built by another project but bundled in our nupkg.",
|
||||||
"tools/netcoreapp2.1/any/System.Runtime.CompilerServices.Unsafe.dll": "Assembly is built by another project but bundled in our nupkg."
|
"tools/any/any/System.Runtime.CompilerServices.Unsafe.dll": "Assembly is built by another project but bundled in our nupkg."
|
||||||
},
|
},
|
||||||
"SERVICING_ATTRIBUTE": {
|
"SERVICING_ATTRIBUTE": {
|
||||||
"tools/netcoreapp2.1/any/Newtonsoft.Json.dll": "Assembly is built by another project but bundled in our nupkg."
|
"tools/any/any/Newtonsoft.Json.dll": "Assembly is built by another project but bundled in our nupkg."
|
||||||
},
|
},
|
||||||
"VERSION_INFORMATIONALVERSION": {
|
"VERSION_INFORMATIONALVERSION": {
|
||||||
"tools/netcoreapp2.1/any/Newtonsoft.Json.dll": "Assembly is built by another project but bundled in our nupkg."
|
"tools/any/any/Newtonsoft.Json.dll": "Assembly is built by another project but bundled in our nupkg."
|
||||||
},
|
},
|
||||||
"WRONG_PUBLICKEYTOKEN": {
|
"WRONG_PUBLICKEYTOKEN": {
|
||||||
"tools/netcoreapp2.1/any/Newtonsoft.Json.dll": "Assembly is built by another project but bundled in our nupkg.",
|
"tools/any/any/Newtonsoft.Json.dll": "Assembly is built by another project but bundled in our nupkg.",
|
||||||
"tools/netcoreapp2.1/any/System.Runtime.CompilerServices.Unsafe.dll": "Assembly is built by another project but bundled in our nupkg."
|
"tools/any/any/System.Runtime.CompilerServices.Unsafe.dll": "Assembly is built by another project but bundled in our nupkg."
|
||||||
},
|
},
|
||||||
"ASSEMBLY_INFORMATIONAL_VERSION_MISMATCH": {
|
"ASSEMBLY_INFORMATIONAL_VERSION_MISMATCH": {
|
||||||
"tools/netcoreapp2.1/any/Newtonsoft.Json.dll": "Assembly is built by another project but bundled in our nupkg.",
|
"tools/any/any/Newtonsoft.Json.dll": "Assembly is built by another project but bundled in our nupkg.",
|
||||||
"tools/netcoreapp2.1/any/System.Runtime.CompilerServices.Unsafe.dll": "Assembly is built by another project but bundled in our nupkg."
|
"tools/any/any/System.Runtime.CompilerServices.Unsafe.dll": "Assembly is built by another project but bundled in our nupkg."
|
||||||
},
|
},
|
||||||
"ASSEMBLY_FILE_VERSION_MISMATCH": {
|
"ASSEMBLY_FILE_VERSION_MISMATCH": {
|
||||||
"tools/netcoreapp2.1/any/System.Runtime.CompilerServices.Unsafe.dll": "Assembly is built by another project but bundled in our nupkg."
|
"tools/any/any/System.Runtime.CompilerServices.Unsafe.dll": "Assembly is built by another project but bundled in our nupkg."
|
||||||
},
|
},
|
||||||
"ASSEMBLY_VERSION_MISMATCH": {
|
"ASSEMBLY_VERSION_MISMATCH": {
|
||||||
"tools/netcoreapp2.1/any/System.Runtime.CompilerServices.Unsafe.dll": "Assembly is built by another project but bundled in our nupkg."
|
"tools/any/any/System.Runtime.CompilerServices.Unsafe.dll": "Assembly is built by another project but bundled in our nupkg."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -23,10 +23,10 @@ For stable, released versions of the tools, see [these instructions](https://git
|
||||||
Install tools using the .NET Core command-line.
|
Install tools using the .NET Core command-line.
|
||||||
|
|
||||||
```
|
```
|
||||||
dotnet install tool dotnet-watch
|
dotnet install tool --global dotnet-watch
|
||||||
dotnet install tool dotnet-user-secrets
|
dotnet install tool --global dotnet-user-secrets
|
||||||
dotnet install tool dotnet-dev-certs
|
dotnet install tool --global dotnet-dev-certs
|
||||||
dotnet install tool dotnet-sql-cache
|
dotnet install tool --global dotnet-sql-cache
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Label="Package Versions">
|
<PropertyGroup Label="Package Versions">
|
||||||
<InternalAspNetCoreSdkPackageVersion>2.1.0-preview1-15679</InternalAspNetCoreSdkPackageVersion>
|
<InternalAspNetCoreSdkPackageVersion>2.1.0-preview1-15681</InternalAspNetCoreSdkPackageVersion>
|
||||||
<MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion>2.1.0-preview1-28153</MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion>
|
<MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion>2.1.0-preview1-28153</MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion>
|
||||||
<MicrosoftAspNetCoreTestingPackageVersion>2.1.0-preview1-28153</MicrosoftAspNetCoreTestingPackageVersion>
|
<MicrosoftAspNetCoreTestingPackageVersion>2.1.0-preview1-28153</MicrosoftAspNetCoreTestingPackageVersion>
|
||||||
<MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>2.1.0-preview1-28153</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
|
<MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>2.1.0-preview1-28153</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
<MicrosoftExtensionsProcessSourcesPackageVersion>2.1.0-preview1-28153</MicrosoftExtensionsProcessSourcesPackageVersion>
|
<MicrosoftExtensionsProcessSourcesPackageVersion>2.1.0-preview1-28153</MicrosoftExtensionsProcessSourcesPackageVersion>
|
||||||
<MicrosoftNETCoreApp20PackageVersion>2.0.0</MicrosoftNETCoreApp20PackageVersion>
|
<MicrosoftNETCoreApp20PackageVersion>2.0.0</MicrosoftNETCoreApp20PackageVersion>
|
||||||
<MicrosoftNETCoreApp21PackageVersion>2.1.0-preview1-26115-03</MicrosoftNETCoreApp21PackageVersion>
|
<MicrosoftNETCoreApp21PackageVersion>2.1.0-preview1-26115-03</MicrosoftNETCoreApp21PackageVersion>
|
||||||
|
<MicrosoftNETCorePlatformsPackageVersion>2.1.0-preview1-26112-01</MicrosoftNETCorePlatformsPackageVersion>
|
||||||
<MicrosoftNETTestSdkPackageVersion>15.3.0</MicrosoftNETTestSdkPackageVersion>
|
<MicrosoftNETTestSdkPackageVersion>15.3.0</MicrosoftNETTestSdkPackageVersion>
|
||||||
<SystemDataSqlClientPackageVersion>4.5.0-preview1-26112-01</SystemDataSqlClientPackageVersion>
|
<SystemDataSqlClientPackageVersion>4.5.0-preview1-26112-01</SystemDataSqlClientPackageVersion>
|
||||||
<SystemSecurityCryptographyCngPackageVersion>4.5.0-preview1-26112-01</SystemSecurityCryptographyCngPackageVersion>
|
<SystemSecurityCryptographyCngPackageVersion>4.5.0-preview1-26112-01</SystemSecurityCryptographyCngPackageVersion>
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
version:2.1.0-preview1-15679
|
version:2.1.0-preview1-15681
|
||||||
commithash:5347461137cb45a77ddcc0b55b2478092de43338
|
commithash:409cab8f55191829e70f2f8e307196fd6a427b4c
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,6 @@
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<SignedPackageFile Include="$(TargetPath)" PackagePath="tools/$(TargetFramework)/any/$(TargetFileName)" Certificate="$(AssemblySigningCertName)" />
|
<SignedPackageFile Include="$(TargetPath)" PackagePath="tools/any/any/$(TargetFileName)" Certificate="$(AssemblySigningCertName)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@
|
||||||
description=$(Description);
|
description=$(Description);
|
||||||
repositoryUrl=$(RepositoryUrl);
|
repositoryUrl=$(RepositoryUrl);
|
||||||
targetframework=$(TargetFramework);
|
targetframework=$(TargetFramework);
|
||||||
|
MicrosoftNETCorePlatformsPackageVersion=$(MicrosoftNETCorePlatformsPackageVersion);
|
||||||
</NuspecProperties>
|
</NuspecProperties>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
dotnet-dev-certs
|
||||||
|
================
|
||||||
|
|
||||||
|
`dotnet-dev-certs` is a command line tool to generate certificates used in ASP.NET Core during development.
|
||||||
|
|
||||||
|
### How To Install
|
||||||
|
|
||||||
|
From the command-line, execute:
|
||||||
|
|
||||||
|
```
|
||||||
|
dotnet install tool --global dotnet-dev-certs
|
||||||
|
```
|
||||||
|
|
||||||
|
### How To Use
|
||||||
|
|
||||||
|
Run `dotnet dev-certs --help` for more information about usage.
|
||||||
|
|
@ -17,10 +17,13 @@
|
||||||
<packageType name="DotnetTool" />
|
<packageType name="DotnetTool" />
|
||||||
</packageTypes>
|
</packageTypes>
|
||||||
<repository type="git" url="$repositoryUrl$" />
|
<repository type="git" url="$repositoryUrl$" />
|
||||||
<dependencies />
|
<dependencies>
|
||||||
|
<!-- Workaround https://github.com/dotnet/cli/issues/8418 -->
|
||||||
|
<dependency id="Microsoft.NETCore.Platforms" version="$MicrosoftNETCorePlatformsPackageVersion$" />
|
||||||
|
</dependencies>
|
||||||
</metadata>
|
</metadata>
|
||||||
<files>
|
<files>
|
||||||
<file src="$publishdir$" target="tools/$targetframework$/any/" />
|
<file src="$publishdir$" target="tools/any/any/" />
|
||||||
<file src="DotnetToolSettings.xml" target="tools/DotnetToolSettings.xml" />
|
<file src="DotnetToolSettings.xml" target="tools/any/any/DotnetToolSettings.xml" />
|
||||||
</files>
|
</files>
|
||||||
</package>
|
</package>
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ dotnet-sql-cache
|
||||||
From the command-line, execute:
|
From the command-line, execute:
|
||||||
|
|
||||||
```
|
```
|
||||||
dotnet install tool dotnet-sql-cache
|
dotnet install tool --global dotnet-sql-cache
|
||||||
```
|
```
|
||||||
|
|
||||||
### How To Use
|
### How To Use
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<OutputType>exe</OutputType>
|
<OutputType>exe</OutputType>
|
||||||
<Description>Command line tool to create tables and indexes in a Microsoft SQL Server database for distributed caching.</Description>
|
<Description>Command line tool to create tables and indexes in a Microsoft SQL Server database for distributed caching.</Description>
|
||||||
<PackageType>DotnetTool</PackageType>
|
<PackageType>DotnetTool</PackageType>
|
||||||
<PackageBasePath>tools/$(TargetFramework)/any/</PackageBasePath>
|
<PackageBasePath>tools/any/any/</PackageBasePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -17,10 +17,13 @@
|
||||||
<packageType name="DotnetTool" />
|
<packageType name="DotnetTool" />
|
||||||
</packageTypes>
|
</packageTypes>
|
||||||
<repository type="git" url="$repositoryUrl$" />
|
<repository type="git" url="$repositoryUrl$" />
|
||||||
<dependencies />
|
<dependencies>
|
||||||
|
<!-- Workaround https://github.com/dotnet/cli/issues/8418 -->
|
||||||
|
<dependency id="Microsoft.NETCore.Platforms" version="$MicrosoftNETCorePlatformsPackageVersion$" />
|
||||||
|
</dependencies>
|
||||||
</metadata>
|
</metadata>
|
||||||
<files>
|
<files>
|
||||||
<file src="$publishdir$" target="tools/$targetframework$/any/" />
|
<file src="$publishdir$" target="tools/any/any/" />
|
||||||
<file src="DotnetToolSettings.xml" target="tools/DotnetToolSettings.xml" />
|
<file src="DotnetToolSettings.xml" target="tools/any/any/DotnetToolSettings.xml" />
|
||||||
</files>
|
</files>
|
||||||
</package>
|
</package>
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ dotnet-user-secrets
|
||||||
From the command-line, execute:
|
From the command-line, execute:
|
||||||
|
|
||||||
```
|
```
|
||||||
dotnet install tool dotnet-user-secrets
|
dotnet install tool --global dotnet-user-secrets
|
||||||
```
|
```
|
||||||
|
|
||||||
### How To Use
|
### How To Use
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
<PackageType>DotnetTool</PackageType>
|
<PackageType>DotnetTool</PackageType>
|
||||||
<GenerateUserSecretsAttribute>false</GenerateUserSecretsAttribute>
|
<GenerateUserSecretsAttribute>false</GenerateUserSecretsAttribute>
|
||||||
<RootNamespace>Microsoft.Extensions.SecretManager.Tools</RootNamespace>
|
<RootNamespace>Microsoft.Extensions.SecretManager.Tools</RootNamespace>
|
||||||
<PackageBasePath>tools/$(TargetFramework)/any/</PackageBasePath>
|
<PackageBasePath>tools/any/any/</PackageBasePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -17,10 +17,13 @@
|
||||||
<packageType name="DotnetTool" />
|
<packageType name="DotnetTool" />
|
||||||
</packageTypes>
|
</packageTypes>
|
||||||
<repository type="git" url="$repositoryUrl$" />
|
<repository type="git" url="$repositoryUrl$" />
|
||||||
<dependencies />
|
<dependencies>
|
||||||
|
<!-- Workaround https://github.com/dotnet/cli/issues/8418 -->
|
||||||
|
<dependency id="Microsoft.NETCore.Platforms" version="$MicrosoftNETCorePlatformsPackageVersion$" />
|
||||||
|
</dependencies>
|
||||||
</metadata>
|
</metadata>
|
||||||
<files>
|
<files>
|
||||||
<file src="$publishdir$" target="tools/$targetframework$/any/" />
|
<file src="$publishdir$" target="tools/any/any/" />
|
||||||
<file src="DotnetToolSettings.xml" target="tools/DotnetToolSettings.xml" />
|
<file src="DotnetToolSettings.xml" target="tools/any/any/DotnetToolSettings.xml" />
|
||||||
</files>
|
</files>
|
||||||
</package>
|
</package>
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ dotnet-watch
|
||||||
From the command-line, execute:
|
From the command-line, execute:
|
||||||
|
|
||||||
```
|
```
|
||||||
dotnet install tool dotnet-watch
|
dotnet install tool --global dotnet-watch
|
||||||
```
|
```
|
||||||
|
|
||||||
### How To Use
|
### How To Use
|
||||||
|
|
|
||||||
|
|
@ -17,10 +17,13 @@
|
||||||
<packageType name="DotnetTool" />
|
<packageType name="DotnetTool" />
|
||||||
</packageTypes>
|
</packageTypes>
|
||||||
<repository type="git" url="$repositoryUrl$" />
|
<repository type="git" url="$repositoryUrl$" />
|
||||||
<dependencies />
|
<dependencies>
|
||||||
|
<!-- Workaround https://github.com/dotnet/cli/issues/8418 -->
|
||||||
|
<dependency id="Microsoft.NETCore.Platforms" version="$MicrosoftNETCorePlatformsPackageVersion$" />
|
||||||
|
</dependencies>
|
||||||
</metadata>
|
</metadata>
|
||||||
<files>
|
<files>
|
||||||
<file src="$publishdir$" target="tools/$targetframework$/any/" />
|
<file src="$publishdir$" target="tools/any/any/" />
|
||||||
<file src="DotnetToolSettings.xml" target="tools/DotnetToolSettings.xml" />
|
<file src="DotnetToolSettings.xml" target="tools/any/any/DotnetToolSettings.xml" />
|
||||||
</files>
|
</files>
|
||||||
</package>
|
</package>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue