Skip to content
This repository has been archived by the owner on May 21, 2019. It is now read-only.

api-check support for csproj #143

Closed
natemcmaster opened this issue Dec 13, 2016 · 3 comments
Closed

api-check support for csproj #143

natemcmaster opened this issue Dec 13, 2016 · 3 comments
Assignees

Comments

@natemcmaster
Copy link
Contributor

Currently only works with project.json.

cc @javiercn

@Eilon
Copy link
Member

Eilon commented Mar 7, 2017

@dougbu should we assign this to you?

@dougbu dougbu assigned dougbu and unassigned javiercn Mar 7, 2017
@dougbu
Copy link
Member

dougbu commented Mar 7, 2017

Yeah, reassigned. I'm doing this.

@Eilon Eilon added this to the 2.0.0 milestone Mar 7, 2017
@Eilon Eilon added the task label Mar 7, 2017
dougbu added a commit to aspnet/BuildTools that referenced this issue Mar 22, 2017
- aspnet/KoreBuild#143

Add Microsoft.AspNetCore.BuildTools.ApiCheck.Task project
  - include task assembly in the Microsoft.AspNetMicrosoft.AspNetCore.BuildTools.ApiCheck package
  - add *.props and *.targets files to hook task into `Pack` target; runs just before .nupkg is created
- reference Microsoft.AspNetMicrosoft.AspNetCore.BuildTools.ApiCheck project from the Sdk project
  - requires lots of hacks; dotnet/sdk#939 workarounds fail in this scenario

Fall back to `RuntimeTargets` when `RuntimeAssemblies` yields no assemblies

Improve project-to-project reference and native assembly handling
- avoid `FileNotFoundException` in `AssemblyLoadContext.GetAssemblyName()` due to `\placeholder\` paths
- catch and ignore `BadImageFormatException` in `AssemblyLoadContext.GetAssemblyName()`
- avoid `InvalidOperationException` in `PackageGraph.RuntimeIsCompatible()` due to missing .sha512 file

Change ApiCheck.exe's options and output
- add `api-check --compact-output` option
- generally make tool's output more useful to the task
  - catch and log `FileNotFoundException`; output types and stack traces of caught `Exception`s
- remove `--framework` option; unused in .NET Framework already
- change ApiCheck.exe option from `--ApiListing` to `--api-listing` for consistency w/ other options

nits:
- remove `PackageGraph.RuntimeIsCompatible()` `candidateRuntime` parameter
  - not needed and confusingly-named; passed value included in `compatibleRuntimes`
- update solution to use current project type GUID
- ignore global.json and launchSettings.json
- make some Linq a bit more readable
- whitespace and `using` cleanup
- move all property groups above item groups in Microsoft.AspNetMicrosoft.AspNetCore.BuildTools.ApiCheck.csproj
- make a couple of constructors `private`; used only in `public static` methods
- ignore case a bit more

notes:
- don't use `UseCommandProcessor==true`; `ToolTask` writes out .cmd file with a BOM that cmd.exe hates
dougbu added a commit to aspnet/BuildTools that referenced this issue Mar 23, 2017
- aspnet/KoreBuild#143

Add Microsoft.AspNetCore.BuildTools.ApiCheck.Task project
  - include task assembly in the Microsoft.AspNetMicrosoft.AspNetCore.BuildTools.ApiCheck package
  - add *.props and *.targets files to hook task into `Pack` target; runs just before .nupkg is created
- reference Microsoft.AspNetMicrosoft.AspNetCore.BuildTools.ApiCheck project from the Sdk project
  - requires lots of hacks; dotnet/sdk#939 workarounds fail in this scenario

Fall back to `RuntimeTargets` when `RuntimeAssemblies` yields no assemblies

Improve project-to-project reference and native assembly handling
- avoid `FileNotFoundException` in `AssemblyLoadContext.GetAssemblyName()` due to `\placeholder\` paths
- catch and ignore `BadImageFormatException` in `AssemblyLoadContext.GetAssemblyName()`
- avoid `InvalidOperationException` in `PackageGraph.RuntimeIsCompatible()` due to missing .sha512 file

Change ApiCheck.exe's options and output
- add `api-check --compact-output` option
- generally make tool's output more useful to the task
  - catch and log `FileNotFoundException`; output types and stack traces of caught `Exception`s
- remove `--framework` option; unused in .NET Framework already
- change ApiCheck.exe option from `--ApiListing` to `--api-listing` for consistency w/ other options

nits:
- remove `PackageGraph.RuntimeIsCompatible()` `candidateRuntime` parameter
  - not needed and confusingly-named; passed value included in `compatibleRuntimes`
- update solution to use current project type GUID
- ignore global.json and launchSettings.json
- make some Linq a bit more readable
- whitespace and `using` cleanup
- move all property groups above item groups in Microsoft.AspNetMicrosoft.AspNetCore.BuildTools.ApiCheck.csproj
- make a couple of constructors `private`; used only in `public static` methods
- ignore case a bit more

notes:
- don't use `UseCommandProcessor==true`; `ToolTask` writes out .cmd file with a BOM that cmd.exe hates
dougbu added a commit to aspnet/BuildTools that referenced this issue Mar 24, 2017
- aspnet/KoreBuild#143

Add Microsoft.AspNetCore.BuildTools.ApiCheck.Task project
  - include task assembly in the Microsoft.AspNetMicrosoft.AspNetCore.BuildTools.ApiCheck package
  - add *.props and *.targets files to hook task into `Pack` target; runs just before .nupkg is created
- reference Microsoft.AspNetMicrosoft.AspNetCore.BuildTools.ApiCheck project from the Sdk project
  - requires lots of hacks; dotnet/sdk#939 workarounds fail in this scenario

Fall back to `RuntimeTargets` when `RuntimeAssemblies` yields no assemblies

Improve project-to-project reference and native assembly handling
- avoid `FileNotFoundException` in `AssemblyLoadContext.GetAssemblyName()` due to `\placeholder\` paths
- catch and ignore `BadImageFormatException` in `AssemblyLoadContext.GetAssemblyName()`
- avoid `InvalidOperationException` in `PackageGraph.RuntimeIsCompatible()` due to missing .sha512 file

Change ApiCheck.exe's options and output
- add `api-check --compact-output` option
- generally make tool's output more useful to the task
  - catch and log `FileNotFoundException`; output types and stack traces of caught `Exception`s
- remove `--framework` option; unused in .NET Framework already
- change ApiCheck.exe option from `--ApiListing` to `--api-listing` for consistency w/ other options

nits:
- remove `PackageGraph.RuntimeIsCompatible()` `candidateRuntime` parameter
  - not needed and confusingly-named; passed value included in `compatibleRuntimes`
- update solution to use current project type GUID
- ignore global.json and launchSettings.json
- make some Linq a bit more readable
- whitespace and `using` cleanup
- move all property groups above item groups in Microsoft.AspNetMicrosoft.AspNetCore.BuildTools.ApiCheck.csproj
- make a couple of constructors `private`; used only in `public static` methods
- ignore case a bit more

notes:
- don't use `UseCommandProcessor==true`; `ToolTask` writes out .cmd file with a BOM that cmd.exe hates
dougbu added a commit to aspnet/BuildTools that referenced this issue Mar 25, 2017
- aspnet/KoreBuild#143

Add Microsoft.AspNetCore.BuildTools.ApiCheck.Task project
  - include task assembly in the Microsoft.AspNetMicrosoft.AspNetCore.BuildTools.ApiCheck package
  - add *.props and *.targets files to hook task into `Pack` target; runs just before .nupkg is created
- reference Microsoft.AspNetMicrosoft.AspNetCore.BuildTools.ApiCheck project from the Sdk project
  - requires lots of hacks; dotnet/sdk#939 workarounds fail in this scenario
- bump ApiCheck package version

Improve project-to-project reference and native assembly handling
- avoid `FileNotFoundException` in `AssemblyLoadContext.GetAssemblyName()` due to `\placeholder\` paths
- catch and ignore `BadImageFormatException` in `AssemblyLoadContext.GetAssemblyName()`
- avoid `InvalidOperationException` in `PackageGraph.RuntimeIsCompatible()` due to missing .sha512 file

Fall back to `RuntimeTargets` when `RuntimeAssemblies` yields no assemblies

Change ApiCheck.exe's options and output
- add `api-check --compact-output` option
- generally make tool's output more useful to the task
  - catch and log `FileNotFoundException`; output types and stack traces of caught `Exception`s
- change ApiCheck.exe option from `--ApiListing` to `--api-listing` for consistency w/ other options

Use Microsoft.Extensions.CommandLineUtils.Sources package
- VersionTool project cannot do this because it has `public` properties of these `internal` types

Update appveyor.yml now that VS 2017 RC image is no more

nits:
- remove `PackageGraph.RuntimeIsCompatible()` `candidateRuntime` parameter
  - not needed and confusingly-named; passed value included in `compatibleRuntimes`
- update solution to use current project type GUID
- ignore global.json and launchSettings.json
- make some Linq a bit more readable
- whitespace and `using` cleanup
- move all property groups above item groups in Microsoft.AspNetMicrosoft.AspNetCore.BuildTools.ApiCheck.csproj
- make a couple of constructors `private`; used only in `public static` methods
- ignore case a bit more
- remove duplicate `<PropertyGroup>` from `NugetReferenceResolver` project
- get this repo building on Linux
- don't need API checks in this repo
- centralize a few more properties in dependencies.props

notes:
- don't use `UseCommandProcessor==true`; `ToolTask` writes out .cmd file with a BOM that cmd.exe hates
@dougbu
Copy link
Member

dougbu commented Mar 25, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants