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

Amazon.Lambda.RuntimeSupport.dll to nuget content folder #1894

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,14 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Amazon.Lambda.RuntimeSupport" Version="1.11.0" />
<PackageReference Include="Blazored.Modal" Version="7.3.1" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="8.0.11" />
</ItemGroup>
</ItemGroup>

<ItemGroup>
<None Include="$(OutputPath)Amazon.Lambda.RuntimeSupport.dll" Pack="true" PackagePath="content" />
Copy link
Author

@gcbeattyAWS gcbeattyAWS Dec 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wasnt sure if this needed to be content or lib folder. was seeing this warning when doing pack command

The assembly 'content\Amazon.Lambda.RuntimeSupport.dll' is not inside the 'lib' folder and hence it won't be added as a reference when the package is installed into a project. Move it into the 'lib' folder if it needs to be referenced.

but in our case in we are referencing the dll as part of a command line argument in the aspire proof of concept , so not sure if it really matters

</ItemGroup>

<ItemGroup>
<EmbeddedResource Include="wwwroot\**" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
using System;
using System.Diagnostics;
using System.IO;
using System.IO.Compression;
using Xunit;

namespace Amazon.Lambda.TestTool.UnitTests;

public class PackagingTests
{
[Fact]
public void VerifyPackageContentsHasRuntimeSupport()
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this test case seemed like overkill but i added it anyway

{
string projectPath = Path.Combine(FindSolutionRoot(), "src", "Amazon.Lambda.TestTool", "Amazon.Lambda.TestTool.csproj");

var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "dotnet",
Arguments = $"pack {projectPath} -c Release",
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true,
}
};

process.Start();
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();

Assert.Equal(0, process.ExitCode);

string packagePath = Directory.GetFiles(Path.GetDirectoryName(projectPath), "*.nupkg", SearchOption.AllDirectories)[0];

using (var archive = ZipFile.OpenRead(packagePath))
{
var runtimeSupportDllEntry = archive.GetEntry("content/Amazon.Lambda.RuntimeSupport.dll");
Assert.NotNull(runtimeSupportDllEntry);
}
}

private string FindSolutionRoot()
{
string currentDirectory = Directory.GetCurrentDirectory();
while (currentDirectory != null)
{
string[] solutionFiles = Directory.GetFiles(currentDirectory, "*.sln");
if (solutionFiles.Length > 0)
{
return currentDirectory;
}
currentDirectory = Directory.GetParent(currentDirectory)?.FullName;
}
throw new Exception("Could not find the solution root directory.");
}


}
Loading