Skip to content
This repository was archived by the owner on Dec 12, 2020. It is now read-only.

Commit ef0c06b

Browse files
committed
2 parents f36a658 + e454034 commit ef0c06b

22 files changed

+153
-259
lines changed
Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="MSBuild.Sdk.Extras">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netstandard1.0;net40;net20;portable-net40+win8+wpa81;portable-net45+win8+wpa81+wp8</TargetFrameworks>
4+
<TargetFrameworks>netstandard1.0;netstandard2.0;net40;net20;portable-net40+win8+wpa81;portable-net45+win8+wpa81+wp8</TargetFrameworks>
55
<AssemblyName>CodeGeneration.Roslyn.Attributes</AssemblyName>
66
<RootNamespace>CodeGeneration.Roslyn</RootNamespace>
77
<SignAssembly>True</SignAssembly>
@@ -14,10 +14,5 @@
1414
<Visible>false</Visible>
1515
</AdditionalFiles>
1616
</ItemGroup>
17-
18-
<ItemGroup>
19-
<PackageReference Include="MSBuild.Sdk.Extras" Version="1.1.0" PrivateAssets="all" />
20-
</ItemGroup>
21-
22-
<Import Project="$(MSBuildSDKExtrasTargets)" Condition="Exists('$(MSBuildSDKExtrasTargets)')" />
17+
2318
</Project>

src/CodeGeneration.Roslyn.Tasks/App.config

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,29 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="MSBuild.Sdk.Extras">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netstandard1.5;net45</TargetFrameworks>
5-
<AssemblyOriginatorKeyFile>..\opensource.snk</AssemblyOriginatorKeyFile>
6-
<SignAssembly>true</SignAssembly>
4+
<TargetFrameworks>netstandard1.0;netstandard2.0;net40;net20;portable-net40+win8+wpa81;portable-net45+win8+wpa81+wp8</TargetFrameworks>
75
<PackageId>CodeGeneration.Roslyn.BuildTime</PackageId>
86
<Description>The build-time development dependency that generates code for a project that consumes code generation attributes.</Description>
7+
<BeforePack>SetPackageVersionInProps;$(BeforePack)</BeforePack>
8+
<PropsFileName>$(PackageId).props</PropsFileName>
9+
<IncludeBuildOutput>false</IncludeBuildOutput>
10+
<DevelopmentDependency>true</DevelopmentDependency>
11+
<MinClientVersion>2.5</MinClientVersion>
912
</PropertyGroup>
1013

1114
<ItemGroup>
1215
<AdditionalFiles Include="..\stylecop.json">
1316
<Visible>false</Visible>
1417
</AdditionalFiles>
18+
<None Include="build\**">
19+
<Pack>true</Pack>
20+
<PackagePath>build\%(RecursiveDir)%(FileName)%(Extension)</PackagePath>
21+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
22+
</None>
23+
<None Update="build\$(PropsFileName)">
24+
<Pack>false</Pack>
25+
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
26+
</None>
1527
</ItemGroup>
1628

1729
<ItemDefinitionGroup>
@@ -23,8 +35,22 @@
2335
</ProjectReference>
2436
</ItemDefinitionGroup>
2537

26-
<ItemGroup>
27-
<PackageReference Include="Nerdbank.MSBuildExtension" Version="0.1.17-beta" PrivateAssets="all" />
28-
</ItemGroup>
29-
38+
<Target Name="SetPackageVersionInProps" DependsOnTargets="GetBuildVersion">
39+
<PropertyGroup>
40+
<PropsFileDestinationDirectory>$(IntermediateOutputPath)build\</PropsFileDestinationDirectory>
41+
<PropsFilePath>$(PropsFileDestinationDirectory)\$(PropsFileName)</PropsFilePath>
42+
<_ProjectNamespaces>
43+
<Namespace Prefix="dn" Uri="http://schemas.microsoft.com/developer/msbuild/2003" />
44+
</_ProjectNamespaces>
45+
</PropertyGroup>
46+
<MakeDir Directories="$(PropsFileDestinationDirectory)" />
47+
<Copy SourceFiles="build\$(PropsFileName)" DestinationFiles="$(PropsFilePath)" />
48+
<XmlPoke XmlInputPath="$(PropsFilePath)" Value="$(PackageVersion)" Query="/dn:Project/dn:ItemGroup/dn:DotNetCliToolReference/@Version" Namespaces="$(_ProjectNamespaces)" />
49+
<ItemGroup>
50+
<None Include="$(PropsFilePath)">
51+
<Pack>true</Pack>
52+
<PackagePath>build\</PackagePath>
53+
</None>
54+
</ItemGroup>
55+
</Target>
3056
</Project>

src/CodeGeneration.Roslyn.Tasks/GenerateCodeFromAttributes.cs

Lines changed: 0 additions & 141 deletions
This file was deleted.

src/CodeGeneration.Roslyn.Tasks/build/CodeGeneration.Roslyn.BuildTime.props

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
<?xml version="1.0" encoding="utf-8" ?>
1+
<?xml version="1.0" encoding="utf-8" ?>
22
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<PropertyGroup>
4-
<CodeGenerationRoslynToolsRootPath Condition=" '$(CodeGenerationRoslynToolsRootPath)' == '' ">$(MSBuildThisFileDirectory)</CodeGenerationRoslynToolsRootPath>
5-
<CodeGenerationRoslynToolsSubPath Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netstandard1.5\</CodeGenerationRoslynToolsSubPath>
6-
<CodeGenerationRoslynToolsSubPath Condition=" '$(MSBuildRuntimeType)' != 'Core' ">net45\</CodeGenerationRoslynToolsSubPath>
7-
</PropertyGroup>
3+
<ItemGroup>
4+
<!--Version metadata is updated to match the package's one
5+
by SetPackageVersionInProps target in .csproj-->
6+
<DotNetCliToolReference Include="dotnet-codegen" Version="*" />
7+
</ItemGroup>
88

99
<ItemDefinitionGroup>
1010
<Compile>
Lines changed: 45 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,51 @@
11
<?xml version="1.0" encoding="utf-8" ?>
22
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<PropertyGroup>
4-
<CodeGenerationRoslynToolsPath Condition=" '$(CodeGenerationRoslynToolsPath)' == '' ">$(CodeGenerationRoslynToolsRootPath)$(CodeGenerationRoslynToolsSubPath)</CodeGenerationRoslynToolsPath>
5-
6-
<PrepareResourcesDependsOn>
7-
GenerateCodeFromAttributes;
8-
$(PrepareResourcesDependsOn)
9-
</PrepareResourcesDependsOn>
10-
11-
<CoreCompileDependsOn>
12-
GenerateCodeFromAttributes;
13-
$(CoreCompileDependsOn)
14-
</CoreCompileDependsOn>
15-
</PropertyGroup>
16-
17-
<UsingTask TaskName="GenerateCodeFromAttributes" AssemblyFile="$(CodeGenerationRoslynToolsPath)CodeGeneration.Roslyn.Tasks.dll" />
18-
19-
<Target Name="GenerateCodeFromAttributes" DependsOnTargets="ResolveReferences" BeforeTargets="CoreCompile">
20-
<GenerateCodeFromAttributes
21-
ToolLocationOverride="$(GenerateCodeFromAttributesToolPathOverride)"
22-
ProjectDirectory="$(MSBuildProjectDirectory)"
23-
Compile="@(Compile)"
24-
ReferencePath="@(ReferencePath)"
25-
GeneratorAssemblySearchPaths="@(GeneratorAssemblySearchPaths)"
26-
IntermediateOutputDirectory="$(IntermediateOutputPath)">
27-
<Output TaskParameter="GeneratedCompile" ItemName="GeneratedCodeFromAttribute_Compile" />
28-
<Output TaskParameter="GeneratedCompile" ItemName="FileWrites" />
29-
<Output TaskParameter="AdditionalWrittenFiles" ItemName="FileWrites" />
30-
</GenerateCodeFromAttributes>
3+
4+
<Target Name="GenerateCodeFromAttributes" DependsOnTargets="ResolveReferences" BeforeTargets="CoreCompile;PrepareResources">
5+
<PropertyGroup>
6+
<GenerateCodeFromAttributesToolPathOverride Condition="'$(GenerateCodeFromAttributesToolPathOverride)' == ''">codegen</GenerateCodeFromAttributesToolPathOverride>
7+
<_CodeGenToolOutputBasePath>$(IntermediateOutputPath)$(MSBuildProjectFile).dotnet-codegen</_CodeGenToolOutputBasePath>
8+
<_CodeGenToolResponseFileFullPath>$(_CodeGenToolOutputBasePath).rsp</_CodeGenToolResponseFileFullPath>
9+
<_CodeGenToolGeneratedFileListFullPath>$(_CodeGenToolOutputBasePath).GeneratedFileList.txt</_CodeGenToolGeneratedFileListFullPath>
10+
<_CodeGenToolWarningText>dotnet-codegen: Failed to generate the list of generated files. The tool didn't run succesfully. Please check https://github.com/AArnott/CodeGeneration.Roslyn for usage instructions.</_CodeGenToolWarningText>
11+
<_CodeGenToolResponseFileLines>
12+
@(ReferencePath->'-r%0d%0a%(Identity)', '%0d%0a')
13+
@(GeneratorAssemblySearchPaths->'--generatorSearchPath%0d%0a%(Identity)', '%0d%0a')
14+
--out
15+
$(IntermediateOutputPath)
16+
--projectDir
17+
$(MSBuildProjectDirectory)
18+
--generatedFilesList
19+
$(_CodeGenToolGeneratedFileListFullPath)
20+
--
21+
@(Compile, '%0d%0a')
22+
</_CodeGenToolResponseFileLines>
23+
<_GenerateCodeToolVersion>(n/a)</_GenerateCodeToolVersion>
24+
</PropertyGroup>
25+
<!--Write response file with arguments for dotnet codegen-->
26+
<WriteLinesToFile File="$(_CodeGenToolResponseFileFullPath)" Lines="$(_CodeGenToolResponseFileLines)" Overwrite="true" />
27+
<Delete Condition="Exists('$(_CodeGenToolGeneratedFileListFullPath)') == 'true'"
28+
Files="$(_CodeGenToolGeneratedFileListFullPath)" ContinueOnError="true" />
29+
30+
<!--Check and print tool version used-->
31+
<Exec Command="dotnet $(GenerateCodeFromAttributesToolPathOverride) --version" ConsoleToMsBuild="true"
32+
StandardOutputImportance="normal" ContinueOnError="true">
33+
<Output TaskParameter="ConsoleOutput" PropertyName="_GenerateCodeToolVersion"/>
34+
</Exec>
35+
<Message Text="Running CodeGeneration.Roslyn.Tool v$(_GenerateCodeToolVersion)" Importance="normal" />
36+
<!--Run the tool and process results-->
37+
<Exec Command="dotnet $(GenerateCodeFromAttributesToolPathOverride) &quot;%40$(_CodeGenToolResponseFileFullPath)&quot;"
38+
StandardOutputImportance="normal" ContinueOnError="true" />
39+
<Warning Condition="Exists('$(_CodeGenToolGeneratedFileListFullPath)') != 'true'"
40+
Text="$(_CodeGenToolWarningText)" Code="CGR1000" />
41+
<ReadLinesFromFile File="$(_CodeGenToolGeneratedFileListFullPath)">
42+
<Output TaskParameter="Lines" ItemName="CodeGenerationRoslynOutput_Compile"/>
43+
<Output TaskParameter="Lines" ItemName="FileWrites"/>
44+
</ReadLinesFromFile>
3145
<ItemGroup>
32-
<Compile Include="@(GeneratedCodeFromAttribute_Compile)" />
46+
<Compile Include="@(CodeGenerationRoslynOutput_Compile)" />
47+
<FileWrites Include="$(_CodeGenToolResponseFileFullPath);$(_CodeGenToolGeneratedFileListFullPath)" />
3348
</ItemGroup>
3449
</Target>
50+
3551
</Project>

src/CodeGeneration.Roslyn.Tasks/build/net20/CodeGeneration.Roslyn.BuildTime.props

Lines changed: 0 additions & 4 deletions
This file was deleted.

src/CodeGeneration.Roslyn.Tasks/build/net20/CodeGeneration.Roslyn.BuildTime.targets

Lines changed: 0 additions & 4 deletions
This file was deleted.

src/CodeGeneration.Roslyn.Tasks/build/netstandard1.0/CodeGeneration.Roslyn.BuildTime.props

Lines changed: 0 additions & 4 deletions
This file was deleted.

src/CodeGeneration.Roslyn.Tasks/build/netstandard1.0/CodeGeneration.Roslyn.BuildTime.targets

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)