Skip to content

Merge release/2.0-vs into release/2.0.0 #1600

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

Merged
merged 25 commits into from
Sep 22, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
df2abd2
Insert NuGet Build 4.4.0-preview1-4365 and corresponding CLI version …
dsplaisted Aug 17, 2017
9ee6d73
Merge pull request #1506 from dsplaisted/release/2.0-vs
dsplaisted Aug 17, 2017
2debd7b
Insert NuGet Build 4.4.0-preview1-4434 into sdk
nugetlurker Aug 22, 2017
623b546
fix intermediate nuspec path
Aug 24, 2017
7fdfc89
Update DotnetCLIVersion
Aug 25, 2017
7ef4b4b
Merge pull request #1528 from dotnet/nuget-insertbuild4434
Aug 25, 2017
2df15b5
Update support libraries to those that are only lib.
ericstj Sep 12, 2017
e0c9b27
Insert NuGet Build 4.4.0-preview3-4475 into sdk
nugetlurker Sep 14, 2017
187bc20
Disable multilevel lookup in build/test to prevent accidental machine…
nguerrera Aug 17, 2017
82888a0
Disable multilevel lookup for Tests
dsplaisted Sep 6, 2017
28102a0
Use correct target path for runtimeTargets items when resolving confl…
dsplaisted Sep 6, 2017
db98a33
Change log verbosity to normal when checking whether projects encount…
dsplaisted Sep 6, 2017
7bdd496
Add comment clarifying test expectation
dsplaisted Sep 7, 2017
a5b0502
Take locale portion of target path for satellite assemblies into acco…
dsplaisted Sep 7, 2017
ebbf880
Fix satellite assembly conflict resolution when targeting .NET Core
dsplaisted Sep 11, 2017
2955e55
Add build/test environment scripts
dsplaisted Sep 13, 2017
34da6b6
Fix perf regression with setting DestinationSubPath on items for conf…
dsplaisted Sep 13, 2017
65bb756
Fix test issue with path separator character
dsplaisted Sep 13, 2017
0c0ffce
Merge pull request #1582 from ericstj/updateNetFxNS2Bits
ericstj Sep 14, 2017
3b62083
Merge upstream changes
dsplaisted Sep 14, 2017
399aa14
Merge pull request #1565 from dsplaisted/1510-conflict-resolution
dsplaisted Sep 14, 2017
8ad4009
Merge upstream changes
dsplaisted Sep 21, 2017
f4661d4
Update CLI version
dsplaisted Sep 21, 2017
48c1df7
Merge pull request #1585 from dotnet/nuget-insertbuild4475
Sep 21, 2017
4ef82a2
Merge branch 'release/2.0-vs' into merge_release20_vs
livarcocc Sep 22, 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
2 changes: 1 addition & 1 deletion DotnetCLIVersion.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.0.0-preview3-006920
2.0.2-vspre-006963

This file was deleted.

This file was deleted.

4 changes: 2 additions & 2 deletions build/DependencyVersions.props
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
<MsBuildPackagesVersion>15.2.0-preview-000093-02</MsBuildPackagesVersion>
<DependencyModelVersion>2.0.0-preview1-001960</DependencyModelVersion>
<PlatformAbstractionsVersion>2.0.0-preview1-001960</PlatformAbstractionsVersion>
<NuGetVersion>4.3.0-rtm-4382</NuGetVersion>
<NuGetVersion>4.4.0-preview3-4475</NuGetVersion>
<NewtonsoftJsonVersion>9.0.1</NewtonsoftJsonVersion>
<SystemReflectionMetadataVersion>1.4.2</SystemReflectionMetadataVersion>
<NETStandardLibraryNETFrameworkVersion>2.0.0-preview2-25405-01</NETStandardLibraryNETFrameworkVersion>
<NETStandardLibraryNETFrameworkVersion>2.0.1-servicing-25708-01</NETStandardLibraryNETFrameworkVersion>
<XliffTasksVersion>0.2.0-beta-000042</XliffTasksVersion>
</PropertyGroup>

Expand Down
18 changes: 18 additions & 0 deletions build/sdk-build-env.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
@echo off

REM Copyright (c) .NET Foundation and contributors. All rights reserved.
REM Licensed under the MIT license. See LICENSE file in the project root for full license information.

REM Get normalized version of parent path
for %%i in (%~dp0..\) DO (
SET SDK_REPO_ROOT=%%~dpi
)

title SDK Build (%SDK_REPO_ROOT%)
set PATH=%SDK_REPO_ROOT%.dotnet_cli;%PATH%
set /P SDK_CLI_VERSION=<%SDK_REPO_ROOT%DotnetCLIVersion.txt
rem set DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR=%SDK_REPO_ROOT%.dotnet_cli\sdk\%SDK_CLI_VERSION%\Sdks
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
set DOTNET_MULTILEVEL_LOOKUP=0

set NUGET_PACKAGES=%SDK_REPO_ROOT%packages
23 changes: 23 additions & 0 deletions build/sdk-build-env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/usr/bin/env bash
#
# Copyright (c) .NET Foundation and contributors. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
#

SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done

REPO_ROOT="$( cd -P "$( dirname "$SOURCE" )/../" && pwd )"

STAGE0_DIR=$REPO_ROOT/.dotnet_cli
export PATH=$STAGE0_DIR:$PATH


export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
export DOTNET_MULTILEVEL_LOOKUP=0

export NUGET_PACKAGES=$REPO_ROOT/packages
22 changes: 22 additions & 0 deletions build/sdk-test-env.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
@echo off

REM Copyright (c) .NET Foundation and contributors. All rights reserved.
REM Licensed under the MIT license. See LICENSE file in the project root for full license information.

REM Get normalized version of parent path
for %%i in (%~dp0..\) DO (
SET SDK_REPO_ROOT=%%~dpi
)

title SDK Test (%SDK_REPO_ROOT%)
set DOTNET_MULTILEVEL_LOOKUP=0
set PATH=%SDK_REPO_ROOT%.dotnet_cli;%PATH%
set NUGET_PACKAGES=%SDK_REPO_ROOT%packages
set /P SDK_CLI_VERSION=<%SDK_REPO_ROOT%DotnetCLIVersion.txt
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
set MSBuildSDKsPath=%SDK_REPO_ROOT%bin\Debug\Sdks
set DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR=%SDK_REPO_ROOT%bin\Debug\Sdks
set NETCoreSdkBundledVersionsProps=%SDK_REPO_ROOT%.dotnet_cli\sdk\%SDK_CLI_VERSION%\Microsoft.NETCoreSdk.BundledVersions.props
set CustomAfterMicrosoftCommonTargets=%SDK_REPO_ROOT%bin\Debug\Sdks\Microsoft.NET.Build.Extensions\msbuildExtensions-ver\Microsoft.Common.Targets\ImportAfter\Microsoft.NET.Build.Extensions.targets
set MicrosoftNETBuildExtensionsTargets=%SDK_REPO_ROOT%bin\Debug\Sdks\Microsoft.NET.Build.Extensions\msbuildExtensions\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.targets
rem You also need to add https://dotnet.myget.org/F/dotnet-core/api/v3/index.json to your NuGet feeds if building projects outside the SDK cone
27 changes: 27 additions & 0 deletions build/sdk-test-env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
#
# Copyright (c) .NET Foundation and contributors. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
#

SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done

REPO_ROOT="$( cd -P "$( dirname "$SOURCE" )/../" && pwd )"

STAGE0_DIR=$REPO_ROOT/.dotnet_cli
SDK_CLI_VERSION="$( cat $REPO_ROOT/DotnetCLIVersion.txt )"

export DOTNET_MULTILEVEL_LOOKUP=0
export PATH=$STAGE0_DIR:$PATH
export NUGET_PACKAGES=$REPO_ROOT/packages
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
export MSBuildSDKsPath=$REPO_ROOT/bin/Debug/Sdks
export DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR=$REPO_ROOT/bin/Debug/Sdks
export NETCoreSdkBundledVersionsProps=$REPO_ROOT/.dotnet_cli/sdk/%SDK_CLI_VERSION%/Microsoft.NETCoreSdk.BundledVersions.props
export CustomAfterMicrosoftCommonTargets=$REPO_ROOT/bin/Debug/Sdks/Microsoft.NET.Build.Extensions/msbuildExtensions-ver/Microsoft.Common.Targets/ImportAfter/Microsoft.NET.Build.Extensions.targets
export MicrosoftNETBuildExtensionsTargets=$REPO_ROOT/bin/Debug/Sdks/Microsoft.NET.Build.Extensions/msbuildExtensions/Microsoft/Microsoft.NET.Build.Extensions/Microsoft.NET.Build.Extensions.targets
16 changes: 14 additions & 2 deletions src/Tasks/Common/src/ItemUtilities.cs
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,9 @@ public static string GetSourcePath(ITaskItem item)
static readonly string[] s_targetPathMetadata = new[] { MetadataNames.TargetPath, MetadataNames.DestinationSubPath };
public static string GetTargetPath(ITaskItem item)
{
// first use TargetPath, DestinationSubPath, then Path, then fallback to filename+extension alone
// first use TargetPath, then DestinationSubPath, then fallback to filename+extension alone
// Can't use Path, as this is the path of the file in the package, which is usually not the target path
// (for example the target path for lib/netcoreapp2.0/lib.dll is just lib.dll)
foreach (var metadata in s_targetPathMetadata)
{
var value = item.GetMetadata(metadata);
Expand All @@ -130,7 +132,17 @@ public static string GetTargetPath(ITaskItem item)

var sourcePath = GetSourcePath(item);

return Path.GetFileName(sourcePath);
var fileName = Path.GetFileName(sourcePath);

// Get locale subdirectory for satellite assemblies
var destinationSubDirectory = item.GetMetadata("DestinationSubDirectory");

if (!string.IsNullOrWhiteSpace(destinationSubDirectory))
{
return Path.Combine(destinationSubDirectory, fileName);
}

return fileName;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -59,15 +59,6 @@ Copyright (c) .NET Foundation. All rights reserved.

<!-- if any reference depends on netstandard and it is not inbox, add references and implementation assemblies for netstandard2.0 -->
<ItemGroup Condition="'$(DependsOnNETStandard)' == 'true' AND '$(NETStandardInbox)' != 'true'">
<_NETStandardLibraryNETFrameworkReference Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '4.7'"
Include="$(MSBuildThisFileDirectory)\net47\ref\*.dll" />
<_NETStandardLibraryNETFrameworkReference Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '4.6.2'"
Include="$(MSBuildThisFileDirectory)\net462\ref\*.dll"
Exclude="@(_NETStandardLibraryNETFrameworkReference->'$(MSBuildThisFileDirectory)\net462\ref\%(FileName).dll')" />
<_NETStandardLibraryNETFrameworkReference Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '4.6.1'"
Include="$(MSBuildThisFileDirectory)\net461\ref\*.dll"
Exclude="@(_NETStandardLibraryNETFrameworkReference->'$(MSBuildThisFileDirectory)\net461\ref\%(FileName).dll')" />

<_NETStandardLibraryNETFrameworkLib Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '4.7'"
Include="$(MSBuildThisFileDirectory)\net47\lib\*.dll" />
<_NETStandardLibraryNETFrameworkLib Condition="'$(_TargetFrameworkVersionWithoutV)' &gt;= '4.6.2'"
Expand All @@ -83,15 +74,12 @@ Copyright (c) .NET Foundation. All rights reserved.
Simple references can also come from NuGet framework assemblies, hence this statement should occur after
including all computed references, thus this target is scheduled after references have been raised by NuGet
targets. -->
<Reference Remove="%(_NETStandardLibraryNETFrameworkReference.FileName)" />
<Reference Remove="%(_NETStandardLibraryNETFrameworkLib.FileName)" />

<Reference Include="@(_NETStandardLibraryNETFrameworkReference)">
<Private>false</Private>
<Reference Include="@(_NETStandardLibraryNETFrameworkLib)">
<!-- netfx.force.conflicts is only needed at compile time. -->
<Private Condition="'%(FileName)' == 'netfx.force.conflicts'">false</Private>
</Reference>

<ReferenceCopyLocalPaths Include="@(_NETStandardLibraryNETFrameworkLib)">
<Private>false</Private>
</ReferenceCopyLocalPaths>
</ItemGroup>
</Target>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,14 @@ Copyright (c) .NET Foundation. All rights reserved.


<!-- Also include RuntimeTarget items, which aren't included in AllCopyLocalItems, but need to be considered
for conflict resolution -->
for conflict resolution. Set DestinationSubPath for these items so that conflict resolution will consider
that path (for example "runtimes/win/lib/netstandard1.3/System.Diagnostics.TraceSource.dll" when looking
for conflicts). -->
<_RuntimeTargetItems Include="@(_ActiveTFMFileDependencies->WithMetadataValue('FileGroup', 'RuntimeTarget'))" />
<__RuntimeTargetPublishItems Include="@(FileDefinitions)" Exclude="@(_RuntimeTargetItems)" />
<_RuntimeTargetPublishItems Include="@(FileDefinitions)" Exclude="@(__RuntimeTargetPublishItems)" />
<_RuntimeTargetPublishItems Update="@(_RuntimeTargetPublishItems)"
DestinationSubPath="%(Path)" />

<_LockFileAssemblies Include="@(_RuntimeTargetPublishItems->WithMetadataValue('Type', 'assembly')->'%(ResolvedPath)')">
<Private>false</Private>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -517,8 +517,20 @@ Copyright (c) .NET Foundation. All rights reserved.
<!--ResourceAssembly-->
<_ResourceFileItems Include="@(_ActiveTFMFileDependencies->WithMetadataValue('FileGroup', 'ResourceAssembly'))" />
<__ResourceCopyLocalItems Include="@(FileDefinitions)" Exclude="@(_ResourceFileItems)" />

<!-- These resource items are in folders with names which correspond to the locale. Here, set the DestinationSubDirectory to the
folder name so that it will be copied to the right target path and so conflict resolution won't think there are conflicts
between satellite assemblies in different languages.

This is done in two steps because if it was done all at once, MSBuild would try te evaluate the metadata even if there weren't
any items, which would result in an error trying to call Directory.GetParent() without any arguments. -->
<_ResourceCopyLocalItems Include="@(FileDefinitions)" Exclude="@(__ResourceCopyLocalItems)" />
<ResourceCopyLocalItems Include="%(_ResourceCopyLocalItems.ResolvedPath)" />
<_ResourceCopyLocalItems Update="@(_ResourceCopyLocalItems)" Condition="'@(_ResourceCopyLocalItems)' != ''">
<DestinationSubDirectory>$([System.IO.Directory]::GetParent(%(ResolvedPath)).get_Name())\</DestinationSubDirectory>
</_ResourceCopyLocalItems>
<ResourceCopyLocalItems Include="%(_ResourceCopyLocalItems.ResolvedPath)">
<DestinationSubDirectory>%(_ResourceCopyLocalItems.DestinationSubDirectory)</DestinationSubDirectory>
</ResourceCopyLocalItems>

<!-- ALL -->
<_AllCopyLocalItems Include="@(_NativeCopyLocalItems);@(_RuntimeCopyLocalItems);@(_ResourceCopyLocalItems)" />
Expand Down Expand Up @@ -548,10 +560,7 @@ Copyright (c) .NET Foundation. All rights reserved.

<!-- Add the copy local items -->
<ItemGroup>
<ReferenceCopyLocalPaths Include="@(AllCopyLocalItems)" Exclude="@(ResourceCopyLocalItems)" />
<ReferenceCopyLocalPaths Include="@(ResourceCopyLocalItems)" Condition="'@(ResourceCopyLocalItems)' != ''">
<DestinationSubDirectory>$([System.IO.Directory]::GetParent(%(ResourceCopyLocalItems.FullPath)).get_Name())\</DestinationSubDirectory>
</ReferenceCopyLocalPaths>
<ReferenceCopyLocalPaths Include="@(AllCopyLocalItems)" />
</ItemGroup>

</Target>
Expand Down
90 changes: 72 additions & 18 deletions test/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildADesktopExe.cs
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@ public void It_does_not_report_conflicts_if_the_same_framework_assembly_is_refer
var buildCommand = new BuildCommand(Log, Path.Combine(testAsset.TestRoot, testProject.Name));

buildCommand
.Execute("/v:diag")
.Execute("/v:normal")
.Should()
.Pass()
.And
Expand Down Expand Up @@ -455,13 +455,56 @@ public void It_does_not_report_conflicts_when_referencing_a_nuget_package()
var buildCommand = new BuildCommand(Log, Path.Combine(testAsset.TestRoot, testProject.Name));

buildCommand
.Execute("/v:diag")
.Execute("/v:normal")
.Should()
.Pass()
.And
.NotHaveStdOutMatching("Encountered conflict", System.Text.RegularExpressions.RegexOptions.CultureInvariant | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
}

[WindowsOnlyFact]
public void It_does_not_report_conflicts_with_runtime_specific_items()
{
var testProject = new TestProject()
{
Name = "DesktopConflictsRuntimeTargets",
TargetFrameworks = "net461",
IsSdkProject = true,
IsExe = true
};

testProject.AdditionalProperties["PlatformTarget"] = "AnyCPU";

var testAsset = _testAssetsManager.CreateTestProject(testProject, testProject.Name)
.WithProjectChanges(p =>
{
var ns = p.Root.Name.Namespace;
var itemGroup = new XElement(ns + "ItemGroup");
p.Root.Add(itemGroup);

itemGroup.Add(new XElement(ns + "PackageReference",
new XAttribute("Include", "System.Security.Cryptography.Algorithms"),
new XAttribute("Version", "4.3.0")));
})
.Restore(Log, testProject.Name);

var buildCommand = new BuildCommand(Log, Path.Combine(testAsset.TestRoot, testProject.Name));

var buildResult = buildCommand
.Execute("/v:normal");

buildResult.Should().Pass();

// Correct asset should be copied to output folder. Before fixing https://github.com/dotnet/sdk/issues/1510,
// the runtimeTargets items would win conflict resolution, and then would not be copied to the output folder,
// so there'd be no copy of the DLL in the output folder.
var outputDirectory = buildCommand.GetOutputDirectory(testProject.TargetFrameworks);
outputDirectory.Should().HaveFile("System.Security.Cryptography.Algorithms.dll");

// There should be no conflicts
buildResult.Should().NotHaveStdOutMatching("Encountered conflict", System.Text.RegularExpressions.RegexOptions.CultureInvariant | System.Text.RegularExpressions.RegexOptions.IgnoreCase);
}

[Fact]
public void It_generates_binding_redirects_if_needed()
{
Expand Down Expand Up @@ -495,31 +538,42 @@ public void It_generates_binding_redirects_if_needed()
[InlineData(false)]
public void It_places_package_satellites_correctly(bool crossTarget)
{
var testAsset = _testAssetsManager
.CopyTestAsset(
"DesktopUsingPackageWithSatellites",
identifier: crossTarget ? "_cross" : "")
.WithSource();
var testProject = new TestProject()
{
Name = "DesktopUsingPackageWithSatellites",
TargetFrameworks = "net46",
IsSdkProject = true,
IsExe = true
};

if (crossTarget)
{
testAsset = testAsset.WithProjectChanges(project =>
{
var ns = project.Root.Name.Namespace;
var propertyGroup = project.Root.Elements(ns + "PropertyGroup").First();
propertyGroup.Element(ns + "TargetFramework").Name += "s";
});
testProject.Name += "_cross";
}

testAsset.Restore(Log);
testProject.PackageReferences.Add(new TestPackageReference("FluentValidation", "5.5.0"));

var buildCommand = new BuildCommand(Log, testAsset.TestRoot);
var testAsset = _testAssetsManager.CreateTestProject(testProject, testProject.Name)
.WithProjectChanges(project =>
{
if (crossTarget)
{
var ns = project.Root.Name.Namespace;
var propertyGroup = project.Root.Elements(ns + "PropertyGroup").First();
propertyGroup.Element(ns + "TargetFramework").Name += "s";
}
})
.Restore(Log, testProject.Name);

var buildCommand = new BuildCommand(Log, Path.Combine(testAsset.TestRoot, testProject.Name));
buildCommand
.Execute()
.Execute("/v:normal")
.Should()
.Pass();
.Pass()
.And
.NotHaveStdOutMatching("Encountered conflict", System.Text.RegularExpressions.RegexOptions.CultureInvariant | System.Text.RegularExpressions.RegexOptions.IgnoreCase);

var outputDirectory = buildCommand.GetOutputDirectory("net46");
var outputDirectory = buildCommand.GetOutputDirectory(testProject.TargetFrameworks);
outputDirectory.Should().NotHaveFile("FluentValidation.resources.dll");
outputDirectory.Should().HaveFile(@"fr\FluentValidation.resources.dll");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ public void It_does_not_include_netstandard_when_inbox(bool isSdk)
// Add a target that replaces the facade folder with the set of netstandard support assemblies
// this can be replaced by targeting the version of .NETFramework that includes netstandard inbox,
// once available
var facadesDir = Path.Combine(RepoInfo.BuildExtensionsMSBuildPath, "net461", "ref\\");
var facadesDir = Path.Combine(RepoInfo.BuildExtensionsMSBuildPath, "net461", "lib\\");
var ns = project.Root.Name.Namespace;
var target = new XElement(ns + "Target",
new XAttribute("Name", "ReplaceDesignTimeFacadeDirectories"),
Expand Down
Loading