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

Added support for ManagedType and ManagedClass #737

Merged
merged 22 commits into from
Nov 24, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
Fixed E2E tests
  • Loading branch information
Haplois committed Nov 24, 2020
commit 3767cb5a9bb69b6f5d434a3454a3054c0b992078
10 changes: 5 additions & 5 deletions scripts/Build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,10 @@ function Perform-Restore {
Write-Verbose "Starting restore for NetCore Projects"
foreach($project in $TFB_NetCoreProjects)
{
$projectPath = Locate-Item -relativePath $project
$projectPath = Locate-Item -relativePath $project

Write-Verbose "$msbuild /t:restore -verbosity:minimal $projectPath"
& $msbuild /t:restore -verbosity:minimal $projectPath
Write-Verbose "$msbuild /t:restore -verbosity:minimal $projectPath /m"
& $msbuild /t:restore -verbosity:minimal $projectPath /m
}

if ($lastExitCode -ne 0) {
Expand Down Expand Up @@ -228,8 +228,8 @@ function Invoke-Build([string] $solution, $hasVsixExtension = "false")
$solutionFailureLog = Join-Path -path $solutionDir -childPath "msbuild.err"

Write-Log " Building $solution..."
Write-Verbose "$msbuild /t:$Target /p:Configuration=$configuration /v:m /flp1:Summary`;Verbosity=diagnostic`;Encoding=UTF-8`;LogFile=$solutionSummaryLog /flp2:WarningsOnly`;Verbosity=diagnostic`;Encoding=UTF-8`;LogFile=$solutionWarningLog /flp3:ErrorsOnly`;Verbosity=diagnostic`;Encoding=UTF-8`;LogFile=$solutionFailureLog /p:IsLocalizedBuild=$TFB_IsLocalizedBuild /p:UpdateXlf=$TFB_UpdateXlf /p:BuildVersion=$TFB_BuildVersion $solutionPath /bl"
& $msbuild /t:$Target /p:Configuration=$configuration /v:m /flp1:Summary`;Verbosity=diagnostic`;Encoding=UTF-8`;LogFile=$solutionSummaryLog /flp2:WarningsOnly`;Verbosity=diagnostic`;Encoding=UTF-8`;LogFile=$solutionWarningLog /flp3:ErrorsOnly`;Verbosity=diagnostic`;Encoding=UTF-8`;LogFile=$solutionFailureLog /p:IsLocalizedBuild=$TFB_IsLocalizedBuild /p:UpdateXlf=$TFB_UpdateXlf /p:BuildVersion=$TFB_BuildVersion $solutionPath /bl
Write-Verbose "$msbuild /t:$Target /p:Configuration=$configuration /v:m /flp1:Summary`;Verbosity=diagnostic`;Encoding=UTF-8`;LogFile=$solutionSummaryLog /flp2:WarningsOnly`;Verbosity=diagnostic`;Encoding=UTF-8`;LogFile=$solutionWarningLog /flp3:ErrorsOnly`;Verbosity=diagnostic`;Encoding=UTF-8`;LogFile=$solutionFailureLog /p:IsLocalizedBuild=$TFB_IsLocalizedBuild /p:UpdateXlf=$TFB_UpdateXlf /p:BuildVersion=$TFB_BuildVersion $solutionPath /bl /m"
& $msbuild /t:$Target /p:Configuration=$configuration /v:m /flp1:Summary`;Verbosity=diagnostic`;Encoding=UTF-8`;LogFile=$solutionSummaryLog /flp2:WarningsOnly`;Verbosity=diagnostic`;Encoding=UTF-8`;LogFile=$solutionWarningLog /flp3:ErrorsOnly`;Verbosity=diagnostic`;Encoding=UTF-8`;LogFile=$solutionFailureLog /p:IsLocalizedBuild=$TFB_IsLocalizedBuild /p:UpdateXlf=$TFB_UpdateXlf /p:BuildVersion=$TFB_BuildVersion $solutionPath /bl /m

if ($lastExitCode -ne 0) {
throw "Build failed with an exit code of '$lastExitCode'."
Expand Down
2 changes: 1 addition & 1 deletion scripts/common.lib.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ function Locate-VsInstallPath($hasVsixExtension ="false"){
$requiredPackageIds = @()

$requiredPackageIds += "Microsoft.Component.MSBuild"
$requiredPackageIds += "Microsoft.Net.Component.4.6.TargetingPack"
$requiredPackageIds += "Microsoft.Net.Component.4.5.2.TargetingPack"
nohwnd marked this conversation as resolved.
Show resolved Hide resolved
$requiredPackageIds += "Microsoft.VisualStudio.Windows.Build"

if($hasVsixExtension -eq 'true')
Expand Down
34 changes: 17 additions & 17 deletions scripts/test.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ $TFT_Configuration = $Configuration
$TFT_Pattern = $Pattern
$TFT_Parallel = $Parallel
$TFT_All = $All
$TestFramework = ".NETCoreApp,Version=v1.0"
$TestFramework = ".NETCoreApp,Version=v2.1"

#
# Prints help text for the switches this script supports.
Expand Down Expand Up @@ -147,28 +147,28 @@ function Run-Test([string[]] $testContainers, [string[]] $netCoreTestContainers)
$additionalArguments += "/parallel"
}

if($testContainers.Count -gt 0)
{
if(!(Test-Path $vstestPath))
{
Write-Error "Unable to find vstest.console.exe at $vstestPath. Test aborted."
}
if($testContainers.Count -gt 0)
{
if(!(Test-Path $vstestPath))
{
Write-Error "Unable to find vstest.console.exe at $vstestPath. Test aborted."
}

Write-Verbose "$vstestPath $testContainers $additionalArguments /logger:trx"
& $vstestPath $testContainers $additionalArguments /logger:trx

if ($lastExitCode -ne 0)
{
throw "Tests failed."
}
}
Write-Verbose "$vstestPath $testContainers $additionalArguments /logger:trx"
& $vstestPath $testContainers $additionalArguments /logger:trx

if ($lastExitCode -ne 0)
{
throw "Tests failed."
}
}

if($netCoreTestContainers.Count -gt 0)
{
Try
{
Write-Verbose "dotnet vstest $netCoreTestContainers /framework:$TestFramework $additionalArguments /logger:trx"
& dotnet vstest $netCoreTestContainers /framework:$TestFramework $additionalArguments /logger:trx
Write-Verbose "dotnet test $netCoreTestContainers /framework:$TestFramework $additionalArguments /logger:trx"
& dotnet test $netCoreTestContainers /framework:$TestFramework $additionalArguments /logger:trx
}

Catch [System.Management.Automation.CommandNotFoundException]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,10 @@ private void Dispose(bool disposing)
{
try
{
this.traceListenerManager.Remove(this.traceListener);
if (this.traceListener != null)
{
this.traceListenerManager.Remove(this.traceListener);
}

// Restore the previous LogMessageListener's TraceListener (if there was one)
if (this.previousRedirector != null && this.previousRedirector.traceListener != null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,7 @@ internal bool IsValidDeploymentItem(string sourcePath, string relativeOutputDire
return false;
}

if (sourcePath.IndexOfAny(Path.GetInvalidPathChars()) != -1 ||
relativeOutputDirectory.IndexOfAny(Path.GetInvalidPathChars()) != -1)
if (this.IsInvalidPath(sourcePath) || this.IsInvalidPath(relativeOutputDirectory))
{
warning = string.Format(CultureInfo.CurrentCulture, Resource.DeploymentItemContainsInvalidCharacters, sourcePath, relativeOutputDirectory);
return false;
Expand Down Expand Up @@ -152,6 +151,30 @@ internal void AddDeploymentItem(IList<DeploymentItem> deploymentItemList, Deploy
}
}

private bool IsInvalidPath(string path)
{
if (path.IndexOfAny(Path.GetInvalidPathChars()) != -1)
{
return true;
}

try
{
var fileName = Path.GetFileName(path);

if (fileName.IndexOfAny(Path.GetInvalidFileNameChars()) != -1)
{
return true;
}
}
catch
{
return true;
}

return false;
}

private IList<DeploymentItem> GetDeploymentItems(object[] deploymentItemAttributes, ICollection<string> warnings)
{
var deploymentItems = new List<DeploymentItem>();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.VisualStudio.TestPlatform.ObjectModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="11.0.0.0-12.0.0.0" newVersion="15.0.0.0" />
<assemblyIdentity name="Microsoft.VisualStudio.TestPlatform.ObjectModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="11.0.0.0-12.0.0.0" newVersion="15.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
<assemblyIdentity name="System.ComponentModel.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
</startup>
</configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MSTestAdapter.PlatformServices.Desktop.ComponentTests</RootNamespace>
<AssemblyName>PlatformServices.Desktop.ComponentTests</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
</PropertyGroup>

<PropertyGroup>
<TargetFramework>net451</TargetFramework>
<TargetFramework>net452</TargetFramework>
<IsPackable>false</IsPackable>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<OutputPath>$(TestFxRoot)artifacts\TestAssets\ComponentTests</OutputPath>
Expand Down
2 changes: 1 addition & 1 deletion test/E2ETests/Automation.CLI/Automation.CLI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Automation.CLI</RootNamespace>
<AssemblyName>Automation.CLI</AssemblyName>
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
Expand Down
25 changes: 17 additions & 8 deletions test/E2ETests/Smoke.E2E.Tests/DeploymentTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ namespace MSTestAdapter.Smoke.E2ETests
[TestClass]
public class DeploymentTests : CLITestBase
{
private const string TestAssembly = "DesktopDeployment\\DeploymentTestProject.dll";
private const string TestAssemblyDependency = "DesktopDeployment\\Never\\DeploymentTestProject.dll";
private const string TestAssemblyMSBuild = "DesktopDeployment\\PreserveNewest\\DeploymentTestProject.dll";
private const string TestAssemblyNetCore10 = "netcoreapp1.0\\DeploymentTestProjectNetCore.dll";
private const string TestAssemblyNetCore21 = "netcoreapp2.1\\DeploymentTestProjectNetCore.dll";
private const string RunSetting =
Expand All @@ -22,17 +23,17 @@ public class DeploymentTests : CLITestBase
[TestMethod]
public void ValidateTestSourceDependencyDeployment()
{
this.InvokeVsTestForExecution(new string[] { TestAssembly });
this.ValidatePassedTestsContain("DeploymentTestProject.UnitTest1.FailIfFilePresent", "DeploymentTestProject.UnitTest1.PassIfDeclaredFilesPresent");
this.ValidateFailedTestsContain("DeploymentTestProject.dll", true, "DeploymentTestProject.UnitTest1.PassIfFilePresent");
this.InvokeVsTestForExecution(new string[] { TestAssemblyDependency });
this.ValidatePassedTestsContain("DeploymentTestProject.DeploymentTestProject.FailIfFilePresent", "DeploymentTestProject.DeploymentTestProject.PassIfDeclaredFilesPresent");
this.ValidateFailedTestsContain(TestAssemblyMSBuild, true, "DeploymentTestProject.DeploymentTestProject.PassIfFilePresent");
}

[TestMethod]
public void ValidateTestSourceLocationDeployment()
{
this.InvokeVsTestForExecution(new string[] { TestAssembly }, RunSetting);
this.ValidatePassedTestsContain("DeploymentTestProject.UnitTest1.PassIfFilePresent", "DeploymentTestProject.UnitTest1.PassIfDeclaredFilesPresent");
this.ValidateFailedTestsContain("DeploymentTestProject.dll", true, "DeploymentTestProject.UnitTest1.FailIfFilePresent");
this.InvokeVsTestForExecution(new string[] { TestAssemblyMSBuild }, RunSetting);
this.ValidatePassedTestsContain("DeploymentTestProject.DeploymentTestProject.PassIfFilePresent", "DeploymentTestProject.DeploymentTestProject.PassIfDeclaredFilesPresent");
this.ValidateFailedTestsContain(TestAssemblyMSBuild, true, "DeploymentTestProject.DeploymentTestProject.FailIfFilePresent");
}

/*
Expand All @@ -50,9 +51,17 @@ public void ValidateTestSourceLocationDeploymentNetCore1_0()
[TestMethod]
public void ValidateTestSourceLocationDeploymentNetCore2_1()
{
// StackTrace isn't included in release builds with netcoreapp2.1.
const bool validateStackTrace =
#if DEBUG
true;
#else
false;
#endif

this.InvokeVsTestForExecution(new string[] { TestAssemblyNetCore21 }, null);
this.ValidatePassedTestsContain("DeploymentTestProjectNetCore.DeploymentTestProjectNetCore.FailIfFilePresent", "DeploymentTestProjectNetCore.DeploymentTestProjectNetCore.PassIfDeclaredFilesPresent");
this.ValidateFailedTestsContain("DeploymentTestProjectNetCore.dll", true, "DeploymentTestProjectNetCore.DeploymentTestProjectNetCore.PassIfFilePresent");
this.ValidateFailedTestsContain(TestAssemblyMSBuild, validateStackTrace, "DeploymentTestProjectNetCore.DeploymentTestProjectNetCore.PassIfFilePresent");
}
}
}
15 changes: 5 additions & 10 deletions test/E2ETests/Smoke.E2E.Tests/Smoke.E2E.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MSTestAdapter.Smoke.E2ETests</RootNamespace>
<AssemblyName>MSTestAdapter.Smoke.E2ETests</AssemblyName>
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<TestProjectType>UnitTest</TestProjectType>
Expand All @@ -22,17 +22,19 @@
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<DefineConstants Condition=" '$(Configuration)' == 'Debug' ">DEBUG;TRACE</DefineConstants>
<DefineConstants Condition=" '$(Configuration)' == 'Release' ">TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
Expand Down Expand Up @@ -64,11 +66,4 @@
</ItemGroup>
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
<Import Project="$(TestFxRoot)scripts\build\TestFx.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
using System;
using System.IO;
using System.IO;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace DeploymentTestProject
{
[DeploymentItem("DeploymentFile.xml")]

[DeploymentItem(@"..\..\..\..\test\E2ETests\TestAssets\DeploymentTestProject\DeploymentFile.xml")]
[TestClass]
public class UnitTest1
public class DeploymentTestProject
{
[TestMethod]
public void PassIfFilePresent()
Expand All @@ -20,7 +20,7 @@ public void FailIfFilePresent()
Assert.IsFalse(File.Exists("EmptyDataFile.xml"));
}

[DeploymentItem("TestCaseDeploymentFile.xml")]
[DeploymentItem(@"..\..\..\..\test\E2ETests\TestAssets\DeploymentTestProject\TestCaseDeploymentFile.xml")]
[TestMethod]
public void PassIfDeclaredFilesPresent()
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TestFxRoot Condition="$(TestFxRoot) == ''">..\..\..\..\</TestFxRoot>
<DependencyCopyBehavior Condition="$(DependencyCopyBehavior) == ''">Never</DependencyCopyBehavior>
</PropertyGroup>

<Import Project="$(TestFxRoot)scripts\build\TestFx.Versions.targets" />

<PropertyGroup>
<TargetFramework>net452</TargetFramework>
<IsPackable>false</IsPackable>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<OutputPath>$(TestFxRoot)artifacts\TestAssets\\DesktopDeployment\</OutputPath>

<OutputPath>$(TestFxRoot)artifacts\TestAssets\DesktopDeployment\$(DependencyCopyBehavior)\</OutputPath>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\..\..\..\src\TestFramework\Extension.Desktop\Extension.Desktop.csproj" />
<ProjectReference Include="..\..\..\..\src\TestFramework\MSTest.Core\MSTest.Core.csproj" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(TestPlatformVersion)" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="$(TestFxRoot)src\TestFramework\Extension.Desktop\Extension.Desktop.csproj" />
<ProjectReference Include="$(TestFxRoot)src\TestFramework\MSTest.Core\MSTest.Core.csproj" />
</ItemGroup>

<ItemGroup>
Expand All @@ -23,13 +27,20 @@

<ItemGroup>
<None Update="DeploymentFile.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>$(DependencyCopyBehavior)</CopyToOutputDirectory>
</None>
<None Update="EmptyDataFile.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>$(DependencyCopyBehavior)</CopyToOutputDirectory>
</None>
<None Update="TestCaseDeploymentFile.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>$(DependencyCopyBehavior)</CopyToOutputDirectory>
</None>
</ItemGroup>

<Target Name="CleanWithPreserveNewest" AfterTargets="Clean" Condition="$(DependencyCopyBehavior) == 'Never'">
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="Clean" Properties="DependencyCopyBehavior=PreserveNewest" />
</Target>
<Target Name="BuildWithPreserveNewest" AfterTargets="Rebuild;Build" Condition="$(DependencyCopyBehavior) == 'Never'">
<MSBuild Projects="$(MSBuildProjectFullPath)" Properties="DependencyCopyBehavior=PreserveNewest" />
</Target>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,14 @@
<Import Project="$(TestFxRoot)scripts\build\TestFx.Versions.targets" />

<PropertyGroup>
<TargetFrameworks>netcoreapp1.1;netcoreapp2.1</TargetFrameworks>
<TargetFrameworks>netcoreapp2.1</TargetFrameworks>
<FrameworkIdentifier>NetCore</FrameworkIdentifier>
<IsPackable>false</IsPackable>
<OutputPath>$(TestFxRoot)artifacts\TestAssets\</OutputPath>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(TestPlatformVersion)" />
<PackageReference Include="System.Runtime" Version="4.3.0" Condition=" '$(TargetFramework)' == 'netcoreapp1.0' "/>
<PackageReference Include="System.Runtime.InteropServices.RuntimeInformation" Version="4.3.0" Condition=" '$(TargetFramework)' == 'netcoreapp1.0' "/>
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

namespace MSTestAdapter.TestUtilities
{
#if NETCOREAPP1_1
#if NETCOREAPP1_1 || NETCOREAPP2_1
Haplois marked this conversation as resolved.
Show resolved Hide resolved
using TestFramework = Microsoft.VisualStudio.TestTools.UnitTesting;
#else
extern alias FrameworkV1;
Expand Down
Loading