Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
Dapper
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tsai
Dapper
Commits
829ba167
Commit
829ba167
authored
Apr 12, 2017
by
m0sa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
build.ps1 must work with dotnet msbuild
parent
70bbb472
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
134 additions
and
82 deletions
+134
-82
Dapper.Contrib.csproj
Dapper.Contrib/Dapper.Contrib.csproj
+2
-2
Dapper.EntityFramework.StrongName.csproj
....EntityFramework/Dapper.EntityFramework.StrongName.csproj
+4
-4
Dapper.EntityFramework.csproj
Dapper.EntityFramework/Dapper.EntityFramework.csproj
+4
-4
Dapper.SqlBuilder.csproj
Dapper.SqlBuilder/Dapper.SqlBuilder.csproj
+2
-2
Dapper.sln
Dapper.sln
+7
-0
Dapper.StrongName.csproj
Dapper/Dapper.StrongName.csproj
+3
-3
Dapper.csproj
Dapper/Dapper.csproj
+3
-3
Directory.build.props
Directory.build.props
+5
-62
AddFrameworkAssemblies.cs
NuGet.FrameworkAssemblyPacker/AddFrameworkAssemblies.cs
+45
-0
NuGet.FrameworkAssemblyPacker.csproj
...meworkAssemblyPacker/NuGet.FrameworkAssemblyPacker.csproj
+22
-0
NuGet.FrameworkAssemblyPacker.targets
...eworkAssemblyPacker/NuGet.FrameworkAssemblyPacker.targets
+35
-0
build.ps1
build.ps1
+2
-2
No files found.
Dapper.Contrib/Dapper.Contrib.csproj
View file @
829ba167
...
...
@@ -17,10 +17,10 @@
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net40' OR '$(TargetFramework)' == 'net45' ">
<Reference Include="System.Data">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System.Data.Linq">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
...
...
Dapper.EntityFramework/Dapper.EntityFramework.StrongName.csproj
View file @
829ba167
...
...
@@ -16,16 +16,16 @@
<PackageReference Include="EntityFramework" Version="6.1.3" />
<PackageReference Include="Microsoft.SqlServer.Types" Version="11.0.2" />
<Reference Include="System.Configuration">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System.Data">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System.Data.Linq">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System.Xml">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
...
...
Dapper.EntityFramework/Dapper.EntityFramework.csproj
View file @
829ba167
...
...
@@ -13,16 +13,16 @@
<PackageReference Include="EntityFramework" Version="6.1.3" />
<PackageReference Include="Microsoft.SqlServer.Types" Version="11.0.2" />
<Reference Include="System.Configuration">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System.Data">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System.Data.Linq">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System.Xml">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
...
...
Dapper.SqlBuilder/Dapper.SqlBuilder.csproj
View file @
829ba167
...
...
@@ -15,10 +15,10 @@
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net40' OR '$(TargetFramework)' == 'net45' ">
<Reference Include="System.Data">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System.Data.Linq">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
...
...
Dapper.sln
View file @
829ba167
...
...
@@ -38,6 +38,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Dapper.EntityFramework.Stro
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Dapper.Tests.Performance", "Dapper.Tests.Performance\Dapper.Tests.Performance.csproj", "{F017075A-2969-4A8E-8971-26F154EB420F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NuGet.FrameworkAssemblyPacker", "NuGet.FrameworkAssemblyPacker\NuGet.FrameworkAssemblyPacker.csproj", "{F50ECE3D-EB6C-4DC0-AAEA-B9423AB03BE2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
...
...
@@ -84,6 +86,10 @@ Global
{F017075A-2969-4A8E-8971-26F154EB420F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F017075A-2969-4A8E-8971-26F154EB420F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F017075A-2969-4A8E-8971-26F154EB420F}.Release|Any CPU.Build.0 = Release|Any CPU
{F50ECE3D-EB6C-4DC0-AAEA-B9423AB03BE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F50ECE3D-EB6C-4DC0-AAEA-B9423AB03BE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F50ECE3D-EB6C-4DC0-AAEA-B9423AB03BE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F50ECE3D-EB6C-4DC0-AAEA-B9423AB03BE2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
...
...
@@ -99,5 +105,6 @@ Global
{8A74F0B6-188F-45D2-8A4B-51E4F211805A} = {4E956F6B-6BD8-46F5-BC85-49292FF8F9AB}
{39D3EEB6-9C05-4F4A-8C01-7B209742A7EB} = {4E956F6B-6BD8-46F5-BC85-49292FF8F9AB}
{F017075A-2969-4A8E-8971-26F154EB420F} = {568BD46C-1C65-4D44-870C-12CD72563262}
{F50ECE3D-EB6C-4DC0-AAEA-B9423AB03BE2} = {4E956F6B-6BD8-46F5-BC85-49292FF8F9AB}
EndGlobalSection
EndGlobal
Dapper/Dapper.StrongName.csproj
View file @
829ba167
...
...
@@ -11,13 +11,13 @@
</PropertyGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net40' OR '$(TargetFramework)' == 'net45' OR '$(TargetFramework)' == 'net451' ">
<Reference Include="System.Data">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System.Xml">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System.Xml.Linq">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
...
...
Dapper/Dapper.csproj
View file @
829ba167
...
...
@@ -9,13 +9,13 @@
</PropertyGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net40' OR '$(TargetFramework)' == 'net45' OR '$(TargetFramework)' == 'net451' ">
<Reference Include="System.Data">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System.Xml">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System.Xml.Linq">
<
NuSpecFrameworkAssembly>true</NuSpec
FrameworkAssembly>
<
PackAsFrameworkAssembly>true</PackAs
FrameworkAssembly>
</Reference>
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
...
...
Directory.build.props
View file @
829ba167
...
...
@@ -27,72 +27,15 @@
<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.3' ">
<DefineConstants>$(DefineConstants);ASYNC;COREFX</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="SourceLink.Create.GitHub" Version="2.0.2" PrivateAssets="All" />
<DotNetCliToolReference Include="dotnet-sourcelink" Version="2.0.2" />
<DotNetCliToolReference Include="dotnet-sourcelink-git" Version="2.0.2" />
</ItemGroup>
<!--
This is a temporary workaround for Nuget Issue #4853 - https://github.com/NuGet/Home/issues/4853#issuecomment-292719597
Ideally this belongs into Directory.build.targets, but that doesn't work either - https://github.com/Microsoft/msbuild/issues/1721
-->
<Target Name="_CleanNuSpec">
<PropertyGroup>
<_NuSpecPrefix>$(MSBuildProjectDirectory)\$(BaseIntermediateOutputPath)$(MSBuildProjectName).$(PackageVersion)</_NuSpecPrefix>
<_NuSpec>$(_NuSpecPrefix).nuspec</_NuSpec>
<_NuSpecPatched>$(_NuSpecPrefix).patched.nuspec</_NuSpecPatched>
</PropertyGroup>
<Delete Files="$(_NuSpec)" Condition="Exists('$(_NuSpec)')" />
<Delete Files="$(_NuSpecPatched)" Condition="Exists('$(_NuSpecPatched)')" />
</Target>
<Target Name="_ExtractReferences">
<ItemGroup>
<_ExtractReferenceTarget Include="$(TargetFrameworks)" />
</ItemGroup>
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="ExtractReferencesPerTarget" Properties="TargetFramework=%(_ExtractReferenceTarget.Identity)">
<Output TaskParameter="TargetOutputs" ItemName="_Reference" />
</MSBuild>
</Target>
<Target Name="ExtractReferencesPerTarget" Outputs="@(_AssemblyReference)">
<ItemGroup>
<_AssemblyReference Include="@(Reference)" Condition="'%(Reference.NuSpecFrameworkAssembly)' == 'true'">
<NuSpecFrameworkAssembly>$(TargetFramework)</NuSpecFrameworkAssembly>
</_AssemblyReference>
</ItemGroup>
</Target>
<UsingTask TaskName="AddFrameworkAssemblies" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" >
<ParameterGroup>
<NuSpecFile ParameterType="System.String" Required="true" />
<PatchedNuSpecFile ParameterType="System.String" Required="true" />
<References ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
</ParameterGroup>
<Task>
<Code Type="Fragment" Language="cs"><![CDATA[
var content = System.IO.File.ReadAllText(NuSpecFile);
var end = content.IndexOf("</metadata>");
var newContent = content.Substring(0, end);
newContent += "<frameworkAssemblies>\n";
foreach (var r in References)
{
var targetFrameworksStr = r.GetMetadata("NuSpecFrameworkAssembly");
foreach (var targetFramework in (targetFrameworksStr ?? "").Split(new char[] {',', ' ', ';'}, System.StringSplitOptions.RemoveEmptyEntries))
{
newContent += " <frameworkAssembly assemblyName=\"" + r.ItemSpec + "\" targetFramework=\"" + targetFramework + "\" />\n";
}
}
newContent += " </frameworkAssemblies>\n ";
newContent += content.Substring(end);
File.WriteAllText(PatchedNuSpecFile, newContent);
]]></Code>
</Task>
</UsingTask>
<Target Name="PackWithFrameworkAssemblies" DependsOnTargets="_CleanNuSpec;_ExtractReferences;Pack" Condition="'$(IsPackable)' == 'true'">
<Message Text="Repackaging -> '$(MSBuildProjectName)' from '$(_NuSpecPatched)'" Importance="high" Condition=" '@(_Reference)' != '' " />
<AddFrameworkAssemblies NuSpecFile="$(_NuSpec)" PatchedNuSpecFile="$(_NuSpecPatched)" References="@(_Reference)" Condition=" '@(_Reference)' != '' " />
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Pack" Properties="NuspecFile=$(_NuSpecPatched)" Condition=" '@(_Reference)' != '' " />
</Target>
<PropertyGroup>
<FrameworkAssemblyPacker>$(MSBuildThisFileDirectory)\NuGet.FrameworkAssemblyPacker\bin\$(Configuration)\netstandard1.3\NuGet.FrameworkAssemblyPacker.targets</FrameworkAssemblyPacker>
</PropertyGroup>
<Import Project="$(FrameworkAssemblyPacker)" Condition=" '$(IsPackable)' != 'false' AND Exists('$(FrameworkAssemblyPacker)')" />
</Project>
\ No newline at end of file
NuGet.FrameworkAssemblyPacker/AddFrameworkAssemblies.cs
0 → 100644
View file @
829ba167
using
System
;
using
System.IO
;
using
Microsoft.Build.Framework
;
namespace
NuGet.FrameworkAssemblyPacker
{
public
class
AddFrameworkAssemblies
:
Microsoft
.
Build
.
Utilities
.
Task
{
[
Required
]
public
string
NuSpecFile
{
get
;
set
;
}
[
Required
]
public
string
PatchedNuSpecFile
{
get
;
set
;
}
[
Required
]
public
ITaskItem
[]
FrameworkAssemblies
{
get
;
set
;
}
public
override
bool
Execute
()
{
var
content
=
File
.
ReadAllText
(
NuSpecFile
);
if
(
content
.
IndexOf
(
"<frameworkAssemblies>"
,
StringComparison
.
Ordinal
)
>=
0
)
{
Log
.
LogWarning
(
"'{0}' already contains a frameworkAssemblies element, you can probably don't need the NuGet.FrameworkAssemblyPacker package"
,
NuSpecFile
);
return
false
;
}
var
end
=
content
.
IndexOf
(
"</metadata>"
,
StringComparison
.
Ordinal
);
var
newContent
=
content
.
Substring
(
0
,
end
);
newContent
+=
"<frameworkAssemblies>\n"
;
foreach
(
var
r
in
FrameworkAssemblies
??
new
ITaskItem
[
0
])
{
var
targetFramework
=
r
.
GetMetadata
(
"TargetFramework"
);
if
(
string
.
IsNullOrEmpty
(
targetFramework
))
{
continue
;
}
newContent
+=
" <frameworkAssembly assemblyName=\""
+
r
.
ItemSpec
+
"\" targetFramework=\""
+
targetFramework
+
"\" />\n"
;
}
newContent
+=
" </frameworkAssemblies>\n "
;
newContent
+=
content
.
Substring
(
end
);
File
.
WriteAllText
(
PatchedNuSpecFile
,
newContent
);
return
true
;
}
}
}
NuGet.FrameworkAssemblyPacker/NuGet.FrameworkAssemblyPacker.csproj
0 → 100644
View file @
829ba167
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard1.3</TargetFramework>
<MinClientVersion>4.0</MinClientVersion>
<IsTool>true</IsTool>
<DevelopmentDependency>true</DevelopmentDependency>
<DebugType>embedded</DebugType>
<IsPackable>false</IsPackable>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<Content Include="NuGet.FrameworkAssemblyPacker.targets">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="15.1.1012" />
</ItemGroup>
</Project>
\ No newline at end of file
NuGet.FrameworkAssemblyPacker/NuGet.FrameworkAssemblyPacker.targets
0 → 100644
View file @
829ba167
<Project>
<Target Name="_ExtractReferences">
<ItemGroup>
<_ExtractReferenceTarget Include="$(TargetFrameworks)" />
</ItemGroup>
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_ExtractReferencesPerTarget" Properties="TargetFramework=%(_ExtractReferenceTarget.Identity)">
<Output TaskParameter="TargetOutputs" ItemName="_FrameworkAssembly" />
</MSBuild>
</Target>
<Target Name="_ExtractReferencesPerTarget" Outputs="@(_FrameworkAssembly)">
<ItemGroup>
<_FrameworkAssembly Include="@(Reference)" Condition="'%(Reference.PackAsFrameworkAssembly)' == 'true'">
<TargetFramework>$(TargetFramework)</TargetFramework>
</_FrameworkAssembly>
</ItemGroup>
</Target>
<UsingTask
TaskName="NuGet.FrameworkAssemblyPacker.AddFrameworkAssemblies"
AssemblyFile="$(MSBuildThisFileDirectory)\NuGet.FrameworkAssemblyPacker.dll" />
<Target Name="PackWithFrameworkAssemblies" DependsOnTargets="_ExtractReferences;$(PackDependsOn)" AfterTargets="Pack" Condition="'$(IsPackable)' == 'true'">
<PropertyGroup>
<_NuSpecPrefix>$(MSBuildProjectDirectory)\$(BaseIntermediateOutputPath)$(MSBuildProjectName).$(PackageVersion)</_NuSpecPrefix>
<_NuSpec>$(_NuSpecPrefix).nuspec</_NuSpec>
<_NuSpecPatched>$(_NuSpecPrefix).patched.nuspec</_NuSpecPatched>
</PropertyGroup>
<Message Text="Repackaging -> '$(MSBuildProjectName)' from '$(_NuSpecPatched)'" Importance="high" Condition=" '@(_FrameworkAssembly)' != '' " />
<AddFrameworkAssemblies NuSpecFile="$(_NuSpec)" PatchedNuSpecFile="$(_NuSpecPatched)" FrameworkAssemblies="@(_FrameworkAssembly)" Condition=" '@(_FrameworkAssembly)' != '' " />
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Pack" Properties="NuspecFile=$(_NuSpecPatched)" Condition=" '@(_FrameworkAssembly)' != '' " />
</Target>
</Project>
\ No newline at end of file
build.ps1
View file @
829ba167
...
...
@@ -7,7 +7,7 @@ $packageOutputFolder = "$PSScriptRoot\.nupkgs"
# Restore packages and build product
Write-Host
"Building..."
-ForegroundColor
"Green"
msbuild
"
$PSScriptRoot
\Dapper.sln"
/m /v:m /nologo
"/t:Restore;Build"
/p:Configuration
=
Debug
"/p:PackageVersionSuffix=
$PreReleaseSuffix
"
dotnet
msbuild
"
$PSScriptRoot
\Dapper.sln"
/m /v:m /nologo
"/t:Restore;Build"
/p:Configuration
=
Debug
"/p:PackageVersionSuffix=
$PreReleaseSuffix
"
# Run tests
if
(
$SkipTests
)
...
...
@@ -25,4 +25,4 @@ else
# Package all
Write-Host
"Packaging..."
-ForegroundColor
"Green"
msbuild
"
$PSScriptRoot
\Dapper.sln"
/m /v:m /nologo
"/t:Build;PackWithFrameworkAssemblies"
/p:Configuration
=
Release
"/p:PackageOutputPath=
$packageOutputFolder
"
"/p:PackageVersionSuffix=
$PreReleaseSuffix
"
\ No newline at end of file
dotnet msbuild
"
$PSScriptRoot
\Dapper.sln"
/m /v:m /nologo
"/t:Restore;Build;Pack"
/p:Configuration
=
Release
"/p:PackageOutputPath=
$packageOutputFolder
"
"/p:PackageVersionSuffix=
$PreReleaseSuffix
"
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment