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

Merge future to master #917

Merged
merged 42 commits into from
Feb 27, 2017
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
b9b16f6
Bump future's minor version
nguerrera Dec 7, 2016
d4b6277
Merge pull request #467 from nguerrera/bump-version
nguerrera Dec 7, 2016
3deebc0
Merge remote-tracking branch 'refs/remotes/upstream/master'
eerhardt Jan 9, 2017
076054b
Update NuGet to include new TFMs for .NET Core 2.0.
eerhardt Jan 10, 2017
5352d82
Merge pull request #617 from eerhardt/UpdateNuGet
eerhardt Jan 10, 2017
6e119bc
Compose cache
ramarag Dec 30, 2016
6043430
Integration Test for ComposeCache
ramarag Jan 18, 2017
dc0b6ea
Merge pull request #591 from ramarag/dotnet-cache
ramarag Jan 21, 2017
a07294d
Adding a FilterProfile option to filter out the closure of specified …
ramarag Jan 14, 2017
c11f9f7
Integration test for publish filter profile
ramarag Jan 19, 2017
2d2957d
Merge pull request #685 from ramarag/dotnet-filter
ramarag Jan 27, 2017
00a3037
Merge master into future
dsplaisted Jan 31, 2017
73e5700
Fixed the download scripts to consume cli rel/1.0.0 branch
333fred Jan 24, 2017
ac9f638
Merge pull request #770 from ramarag/point_fix_future
nguerrera Feb 1, 2017
feb7131
Fix Global user path
ramarag Jan 30, 2017
89dd925
Fix test for new runtimeconfig.json property.
eerhardt Feb 1, 2017
146a103
Refactoring Crossgen and enabling parallel execution of Crossgen
ramarag Jan 31, 2017
9ea4f2e
Merge pull request #761 from ramarag/parallelize_Cache
ramarag Feb 2, 2017
306c5ed
Creating an Intermediate directory for cache to work in
ramarag Feb 3, 2017
a9e9c84
Merge pull request #800 from ramarag/create_working_dir_for_cache
ramarag Feb 3, 2017
2c87d5e
Merge branch 'master' into merge-master
nguerrera Feb 3, 2017
542d3e9
Merge branch 'future' into merge-master
nguerrera Feb 3, 2017
756966e
Set VS Install location environment variables in netci.groovy
dsplaisted Jan 26, 2017
6929f00
Merge pull request #808 from ramarag/future_is_2017
ramarag Feb 3, 2017
9e76a59
Merge remote-tracking branch 'upstream/future' into merge-master
ramarag Feb 3, 2017
8a3bb94
Try fixing groovy script
dsplaisted Jan 26, 2017
19641cb
Don't set environment variables for VS SDK during CI runs
dsplaisted Jan 26, 2017
1a1c295
Use Dev15 CI machines for Windows builds
dsplaisted Jan 27, 2017
fc6c001
Build with VS 15 dev tools
dsplaisted Jan 26, 2017
acf87a3
Merge pull request #812 from ramarag/fututre_shoulbe_2017
ramarag Feb 4, 2017
d70eec0
Merge pull request #767 from dsplaisted/merge-master
ramarag Feb 4, 2017
437e2c0
Remove Default FX_Version, as we let it to default to CLI in usage
ramarag Feb 7, 2017
3c65076
Merge pull request #827 from ramarag/fix_FX_version
ramarag Feb 7, 2017
b3ee71d
Filter out System files during caching step
ramarag Feb 9, 2017
9cbb171
Merge pull request #837 from ramarag/remove_system_files
ramarag Feb 9, 2017
f5c65ef
Merge remote-tracking branch 'refs/remotes/upstream/master'
eerhardt Feb 10, 2017
1f2a62b
Merge pull request #857 from eerhardt/merge-master
eerhardt Feb 10, 2017
5adcbb6
Merge pull request #882 from dotnet/master
srivatsn Feb 17, 2017
7b03b20
Merge branch 'master' into merge-master
nguerrera Feb 24, 2017
4878186
Fix test expectation to match project change coming from master
nguerrera Feb 24, 2017
f1590d1
fixing iteration of publish filter list
ramarag Feb 24, 2017
44c528d
Merge pull request #913 from nguerrera/merge-master
nguerrera Feb 25, 2017
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
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,9 @@
<None Include="build\Microsoft.NET.ComposeCache.targets">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="build\Microsoft.NET.CrossGen.targets">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="build\Microsoft.NET.TargetFrameworkInference.targets">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions src/Tasks/Microsoft.NET.Build.Tasks/Resources/Strings.resx
Original file line number Diff line number Diff line change
Expand Up @@ -237,4 +237,7 @@
<data name="PackageReferenceOverrideWarning" xml:space="preserve">
<value>A PackageReference for '{0}' was included in your project. This package is implicitly referenced by the .NET SDK and you do not typically need to reference it from your project. For more information, see {1}</value>
</data>
<data name="FolderAlreadyExists" xml:space="preserve">
<value>Folder '{0}' already exists either delete it or provide a different ComposeWorkingDir</value>
</data>
</root>
Original file line number Diff line number Diff line change
Expand Up @@ -39,37 +39,40 @@ Copyright (c) .NET Foundation. All rights reserved.

<PropertyGroup>
<PreserveCacheLayout Condition="'$(PreserveCacheLayout)' == ''">true</PreserveCacheLayout>
<SkipCrossgen Condition="'$(RuntimeIdentifier)' == ''">true</SkipCrossgen>
<SkipOptimization Condition="'$(RuntimeIdentifier)' == ''">true</SkipOptimization>
<_TFM Condition="'$(_TFM)' == ''">$(TargetFramework)</_TFM>
<FX_Version Condition="'$(FX_Version)' == ''">$(_ShortFrameworkVersion)</FX_Version>
<PathSeparator>$([System.IO.Path]::PathSeparator)</PathSeparator>
</PropertyGroup>

<NETSdkError Condition="'$(RuntimeIdentifier)' =='' and '$(_PureManagedAssets)' == ''"
ResourceName="RuntimeIdentifierMustBeSetForNETFramework"/>
ResourceName="RuntimeIdentifierMustBeSetForNETFramework"/>

<NETSdkError Condition="'$(_TFM)' ==''"
ResourceName="AtLeastOneTargetFrameworkMustBeSpecified"/>
ResourceName="AtLeastOneTargetFrameworkMustBeSpecified"/>

<PropertyGroup>
<DefaultComposeDir>$(HOME)</DefaultComposeDir>
<DefaultComposeDir Condition="$(OS.ToUpper().Contains('WINDOWS'))">$(USERPROFILE)</DefaultComposeDir>
<DefaultComposeDir>$([System.IO.Path]::Combine($(DefaultComposeDir), '.dotnet', 'packages'))</DefaultComposeDir>
<DefaultComposeDir>$([System.IO.Path]::Combine($(DefaultComposeDir), '.dotnet', $(PlatformTarget), 'packages'))</DefaultComposeDir>
<ComposeDir Condition="'$(ComposeDir)' != '' and '$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ComposeDir), $(PlatformTarget)))</ComposeDir>
<ComposeDir Condition="'$(ComposeDir)' == ''">$(DefaultComposeDir)</ComposeDir>
<ComposeDir Condition="'$(DoNotDecorateComposeDir)' == ''">$(ComposeDir)$(PlatformTarget)\$(_TFM)\</ComposeDir>
<ComposeDir Condition="'$(DoNotDecorateComposeDir)' != 'true'">$([System.IO.Path]::Combine($(ComposeDir), $(_TFM)))</ComposeDir>
<PublishDir>$([System.IO.Path]::GetFullPath($(ComposeDir)))</PublishDir>
<_CrossProjFileDir>$([System.IO.Path]::Combine($(MSBuildProjectExtensionsPath),"Optimize"))</_CrossProjFileDir>
<TEMP Condition="'$(TEMP)' == ''">$([System.IO.Path]::GetTempPath())</TEMP>
<_RandomFileName>$([System.IO.Path]::GetRandomFileName())</_RandomFileName>
<ComposeWorkingDir Condition="'$(ComposeWorkingDir)' == ''">$([System.IO.Path]::Combine($(TEMP), $(_RandomFileName)))</ComposeWorkingDir>
<ComposeWorkingDir>$([System.IO.Path]::GetFullPath($(ComposeWorkingDir)))</ComposeWorkingDir>
<_CrossProjFileDir>$([System.IO.Path]::Combine($(ComposeWorkingDir),"Optimize"))</_CrossProjFileDir>
<!-- Ensure any PublishDir has a trailing slash, so it can be concatenated -->
<PublishDir Condition="!HasTrailingSlash('$(PublishDir)')">$(PublishDir)\</PublishDir>
</PropertyGroup>

<RemoveDir
Condition="Exists($(PublishDir))"
Directories="$(PublishDir)" />

<RemoveDir
Condition="Exists($(_CrossProjFileDir))"
Directories="$(_CrossProjFileDir)" />
<NETSdkError Condition="Exists($(ComposeWorkingDir))"
ResourceName="FolderAlreadyExists"
FormatArguments="$(ComposeWorkingDir)" />


<MakeDir Directories="$(PublishDir)" />

Expand All @@ -84,10 +87,15 @@ Copyright (c) .NET Foundation. All rights reserved.
-->
<Target Name="RestoreForComposeCache">

<PropertyGroup>
<ProjectAssetsFile>$(ComposeWorkingDir)\project.assets.json</ProjectAssetsFile>
</PropertyGroup>

<MSBuild Projects="$(MSBuildProjectFullPath)"
Targets="Restore"
Properties="RestoreGraphProjectInput=$(MSBuildProjectFullPath);
DisableImplicitFrameworkReferences=true;
RestoreOutputPath=$(ComposeWorkingDir);
TargetFramework=$(_TFM);"/>

</Target>
Expand Down Expand Up @@ -118,8 +126,8 @@ Copyright (c) .NET Foundation. All rights reserved.
<Message Text="Files were composed in $(PublishDir)"
Importance="high"/>
<RemoveDir
Condition="'$(PreserveCrossProjFolder)' == ''"
Directories="$(_CrossProjFileDir)" />
Condition="'$(PreserveComposeWorkingDir)' != 'true'"
Directories="$(ComposeWorkingDir)" />
</Target>

<!--
Expand Down Expand Up @@ -189,7 +197,7 @@ Copyright (c) .NET Foundation. All rights reserved.
============================================================
-->
<Target Name="_SplitResolvedFiles"
Condition="$(SkipCrossgen) !='true' "
Condition="$(SkipOptimization) !='true' "
DependsOnTargets="_GetResolvedFilesToCache">
<ItemGroup>
<_ManagedResolvedFileToPublishCandidates Include="@(ResolvedFileToPublish)"
Expand All @@ -200,7 +208,7 @@ Copyright (c) .NET Foundation. All rights reserved.
</ItemGroup>

<PropertyGroup>
<SkipCrossgen Condition="'@(_ManagedResolvedFileToPublishCandidates)'==''">true</SkipCrossgen>
<SkipOptimization Condition="'@(_ManagedResolvedFileToPublishCandidates)'==''">true</SkipOptimization>
</PropertyGroup>

</Target>
Expand All @@ -213,7 +221,7 @@ Copyright (c) .NET Foundation. All rights reserved.
============================================================
-->
<Target Name="_GetResolvedFilesToCache"
Condition="$(SkipCrossgen) == 'true' ">
Condition="$(SkipOptimization) == 'true' ">
<ItemGroup>
<_UnOptimizedResolvedFileToPublish Include="@(ResolvedFileToPublish)" />
</ItemGroup>
Expand Down Expand Up @@ -244,200 +252,4 @@ Copyright (c) .NET Foundation. All rights reserved.

</Target>

<!--
============================================================
_RunOptimizer

Start the optimization phase
============================================================
-->
<Target Name="_RunOptimizer"
DependsOnTargets="_ComputeResolvedFilesToCacheTypes;
_GenerateCrossgenProj;
_SetupCrossgenStage;
_RestoreCrossgen"
Condition="$(SkipCrossgen) != 'true' ">
<!-- Get the coreclr path -->
<ItemGroup>
<_CoreclrResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)"
Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='coreclr'" />
<_CoreclrResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)"
Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='libcoreclr'" />
<_JitResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)"
Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='clrjit'" />
<_JitResolvedPath Include="@(CrossgenResolvedAssembliesToPublish)"
Condition="'%(CrossgenResolvedAssembliesToPublish.Filename)'=='libclrjit'" />
<_AssembliestoCrossGen Include="$(_RuntimeDir)\**\*.*" />
</ItemGroup>

<NETSdkError Condition="'@(_CoreclrResolvedPath->Count())' &gt; 1"
ResourceName="MultipleFilesResolved"
FormatArguments="coreclr" />

<NETSdkError Condition="'@(_CoreclrResolvedPath)'== ''"
ResourceName="UnableToFindResolvedPath"
FormatArguments="coreclr" />

<NETSdkError Condition="'@(_JitResolvedPath->Count())' &gt; 1"
ResourceName="MultipleFilesResolved"
FormatArguments="jit" />

<NETSdkError Condition="'@(_JitResolvedPath)'== ''"
ResourceName="UnableToFindResolvedPath"
FormatArguments="jit" />



<!-- Get the crossgen and jit path-->
<PropertyGroup>
<_CoreclrPath>@(_CoreclrResolvedPath)</_CoreclrPath>
<_JitPath>@(_JitResolvedPath)</_JitPath>
<_CoreclrDir>$([System.IO.Path]::GetDirectoryName($(_CoreclrPath)))</_CoreclrDir>
<_CoreclrPkgDir>$([System.IO.Path]::Combine($(_CoreclrDir),"..\..\..\"))</_CoreclrPkgDir>
<_CrossgenDir>$([System.IO.Path]::Combine($(_CoreclrPkgDir),"tools"))</_CrossgenDir>
<!-- TODO override with rid specific tools path for x-arch -->
<_Crossgen>$([System.IO.Path]::Combine($(_CrossgenDir),"crossgen"))</_Crossgen>
<_Crossgen Condition="$(OS.ToUpper().Contains('WINDOWS'))">$([System.IO.Path]::Combine($(_CrossgenDir),"crossgen.exe"))</_Crossgen>
</PropertyGroup>

<NETSdkError Condition="!Exists($(_Crossgen))"
ResourceName="UnableToFindResolvedPath"
FormatArguments="$(_Crossgen)" />

<PropertyGroup>
<_Crossgen> $([System.IO.Path]::GetFullPath($(_Crossgen)))</_Crossgen>
</PropertyGroup>

<!-- Create the output directory where crossgened assemblies are going to be present -->
<ItemGroup>
<_RuntimeOptimizedDirectories Include="@(_AssembliestoCrossGen -> '$(_RuntimeOptimizedDir)\%(RecursiveDir)')"/>
</ItemGroup>
<MakeDir Directories="@(_RuntimeOptimizedDirectories)"/>

<!-- CrossGen the assemblies -->
<Message Text="$(_Crossgen) -readytorun -in %(_AssembliestoCrossGen.Fullpath) -out $([System.IO.Path]::Combine($(_RuntimeOptimizedDir),%(RecursiveDir)%(Filename)%(Extension))) -jitpath $(_JitPath) -platform_assemblies_paths $(_RuntimeRefDir)$(PathSeparator)$(_NetCoreRefDir)"/>
<Exec
Command="$(_Crossgen) -readytorun -in %(_AssembliestoCrossGen.Fullpath) -out $([System.IO.Path]::Combine($(_RuntimeOptimizedDir),%(RecursiveDir)%(Filename)%(Extension))) -jitpath $(_JitPath) -platform_assemblies_paths $(_RuntimeRefDir)$(PathSeparator)$(_NetCoreRefDir)">
<Output TaskParameter="ExitCode" PropertyName="ErrorCode"/>
</Exec>


<!-- Copy by proxy the directory structure to PublishDir-->
<ItemGroup>
<_ManagedResolvedFileToPublish Include="$(_RuntimeOptimizedDir)\**\*.*" />
</ItemGroup>
</Target>


<!--
============================================================
_GenerateCrossgenProj
Generates the project used to restore netcoreapp correspoding to FX_Version
============================================================
-->
<Target Name="_GenerateCrossgenProj">
<!-- Create a Project to Restore Crossgen -->
<PropertyGroup>
<_CrossgenProjContent>
<![CDATA[
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="$(MSBuildToolsVersion)">
<PropertyGroup>
<TargetFramework>$(_TFM)</TargetFramework>
<RuntimeIdentifier>$(RuntimeIdentifier)</RuntimeIdentifier>
<DisableImplicitFrameworkReferences Condition="'$(FX_Version)' != ''">true</DisableImplicitFrameworkReferences> <!-- Preserve this is as netcoreapp is given by the user -->
</PropertyGroup>
<ItemGroup Condition="'$(FX_Version)' != ''">
<PackageReference Include="Microsoft.NETCore.App" Version="$(FX_Version)" />
</ItemGroup>

</Project>

]]>
</_CrossgenProjContent>
</PropertyGroup>

<PropertyGroup>
<_RuntimeDir>$([System.IO.Path]::Combine($(_CrossProjFileDir),"runtime"))</_RuntimeDir> <!-- app managed assemblies in nuget cache layout-->
<_RuntimeRefDir>$([System.IO.Path]::Combine($(_CrossProjFileDir), "runtimeref"))</_RuntimeRefDir> <!-- flat app managed assemblies -->
<_NetCoreRefDir>$([System.IO.Path]::Combine($(_CrossProjFileDir), "netcoreapp"))</_NetCoreRefDir> <!-- flat netcore app assemblies-->
<_RuntimeOptimizedDir>$([System.IO.Path]::Combine($(_CrossProjFileDir), "runtimopt"))</_RuntimeOptimizedDir> <!-- optimized app managed assemblies in nuget cache layout -->
<_CrossProjFile>$([System.IO.Path]::Combine($(_CrossProjFileDir), "Optimize_Crossgen_$(RuntimeIdentifier)_$(_TFM)_$(FX_Version).csproj"))</_CrossProjFile>
<_CrossProjAssetsFile>$([System.IO.Path]::Combine($(_CrossProjFileDir), "obj", project.assets.json))</_CrossProjAssetsFile>
</PropertyGroup>

<MakeDir Directories="$(_CrossProjFileDir)"/>
<MakeDir Directories="$(_RuntimeDir)"/>
<WriteLinesToFile
File="$(_CrossProjFile)"
Lines="$(_CrossgenProjContent)"
Overwrite="true" />
</Target>

<!--
============================================================
_SetupCrossgenStage
============================================================
-->
<Target Name="_SetupCrossgenStage">
<!-- Copy managed files to temp directory maintaining the structure -->
<Copy SourceFiles = "@(_ManagedResolvedFileToPublishCandidates)"
DestinationFiles="$(_RuntimeDir)\%(_ManagedResolvedFileToPublishCandidates.DestinationSubPath)"
OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
Retries="$(CopyRetryCount)"
RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)"
UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">

<Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
</Copy>

<!-- Copy managed files to a flat temp directory for passing it as ref -->
<Copy SourceFiles = "@(_ManagedResolvedFileToPublishCandidates)"
DestinationFolder="$(_RuntimeRefDir)"
OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
Retries="$(CopyRetryCount)"
RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)"
UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">

<Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
</Copy>

</Target>
<!--
============================================================
_RestoreCrossgen
Restores netcoreapp and publishes it to a temp directory
============================================================
-->
<Target Name="_RestoreCrossgen">
<MSBuild Projects="$(_CrossProjFile)"
Targets="Restore"
Properties="RestoreGraphProjectInput=$(_CrossProjFile);"/>

<ResolvePublishAssemblies ProjectPath="$(_CrossProjFileDir)"
AssetsFilePath="$(_CrossProjAssetsFile)"
TargetFramework="$(_TFM)"
RuntimeIdentifier="$(RuntimeIdentifier)"
PlatformLibraryName="$(MicrosoftNETPlatformLibrary)"
PrivateAssetsPackageReferences="@(PrivateAssetsPackageReference)"
PreserveCacheLayout="false">

<Output TaskParameter="AssembliesToPublish" ItemName="CrossgenResolvedAssembliesToPublish" />
</ResolvePublishAssemblies>

<!-- Copy managed files to a flat temp directory for passing it as ref for crossgen -->
<Copy SourceFiles = "@(CrossgenResolvedAssembliesToPublish)"
DestinationFolder="$(_NetCoreRefDir)"
OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
Retries="$(CopyRetryCount)"
RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)"
UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">

<Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
</Copy>
</Target>


</Project>
Loading