Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add analayzer to nuget #999

Merged
merged 2 commits into from
Sep 24, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pkg/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@

<ItemGroup>
<Content Include="$(PackageAssetsPath)$(PackageIdFolderName)\lib\**\*" Pack="true" PackagePath="lib" />
<Content Include="$(PackageAssetsPath)$(PackageIdFolderName)\analyzers\**\*" Pack="true" PackagePath="analyzers" />
<Content Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\**\*" Pack="true" PackagePath="runtimes" />
</ItemGroup>

Expand Down
12 changes: 9 additions & 3 deletions src/Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
<Import Project="..\Directory.Build.targets" />

<Target Name="PreparePackageAssets"
AfterTargets="Build"
Condition="'$(IncludeInPackage)' != ''">
AfterTargets="Build">

<ItemGroup>
<ItemGroup Condition="'$(IncludeInPackage)' != ''">
<PackageAsset Include="$(TargetPath)"
RelativePath="$(IncludeInPackage)\lib\$(TargetFramework)" />
<PackageAsset Include="@(DebugSymbolsProjectOutputGroupOutput)"
Expand All @@ -15,6 +14,13 @@
RelativePath="$(IncludeInPackage)\lib\$(TargetFramework)" />
</ItemGroup>

<ItemGroup Condition="'$(IncludeAnalyzerInPackage)' != ''">
<PackageAsset Include="$(TargetPath)"
RelativePath="$(IncludeAnalyzerInPackage)\analyzers\dotnet\cs" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We may want to double check that we don't need this dotnet to be parallel with other tfms in the package to avoid the package installing and only supplying an analyzer on a unsupported framework.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In other words, don't reintroduce this issue: #357.

I think this should be simple to test, I'm not familiar enough with NuGet conventions for analyzers to know if it would have this problem without testing it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may be an unfounded concern. I looked into how NuGet resolves these and its actually different than the rest of the content. Essentially these appear to be ignored by restore / package applicability checks, and just resolved via a separate content selection algo at build time (not restore time https://github.com/NuGet/NuGet.BuildTasks/blob/640c8e13a9b7ab6e86264a296638fbf3cc016ad1/src/Microsoft.NuGet.Build.Tasks/ResolveNuGetPackageAssets.cs#L371).

Net result, ignore this comment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool!! Thanks for your attention though @ericstj

<PackageAsset Include="@(DebugSymbolsProjectOutputGroupOutput)"
RelativePath="$(IncludeAnalyzerInPackage)\analyzers\dotnet\cs" />
</ItemGroup>

<Copy SourceFiles="@(PackageAsset)"
DestinationFolder="$(PackageAssetsPath)%(PackageAsset.RelativePath)" />

Expand Down
1 change: 1 addition & 0 deletions src/Microsoft.ML.Analyzer/Microsoft.ML.Analyzer.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

<PropertyGroup>
<TargetFramework>netstandard1.3</TargetFramework>
<IncludeAnalyzerInPackage>Microsoft.ML</IncludeAnalyzerInPackage>
</PropertyGroup>

<ItemGroup>
Expand Down