aws-lambda-dotnet icon indicating copy to clipboard operation
aws-lambda-dotnet copied to clipboard

Lambda template Folder Structure.

Open michaelakin opened this issue 2 years ago • 4 comments

Describe the bug

When adding a new Lambda with VS 2022, the structure is too deep.

When I add a new Console App to my solution, the folder structure looks something like this: C:\Dev\SolutionName\ConsoleApp1

But when I add a new lambda to my Solution the folder structure looks like this, which is too deep and repeats the names of things. C:\Dev\SolutionName\NewLambdaName\src\NewLambdaName

Expected Behavior

I expect the folder name to look like:

C:\Dev\SolutionName\NewLambdaName\

And for the test project that gets generated to C:\Dev\SolutionName\NewLambdaName.Tests\

Current Behavior

When I add a new lambda to my Solution the folder structure looks like this, which is too deep and repeats the names of things. C:\Dev\SolutionName\NewLambdaName\src\NewLambdaName

Reproduction Steps

Right click on the Solution, Add New Project, select the Lambda Annotations Framework Preview (This also happens with other templates), Add the project to the solution.

Possible Solution

Structure the new files more like the .net templates that don't add all the extra folder depth.

Additional Information/Context

No response

AWS .NET SDK and/or Package version used

Amazon.Lambda.Templates (version 6.8.0)

AWS Toolkit 1.38.0.0

Targeted .NET Platform

.net 6, .net 7

Operating System and version

Windows 10

michaelakin avatar Jan 18 '23 16:01 michaelakin

Changing this to feature request since this does not affect the functionality.

ashishdhingra avatar Jan 18 '23 18:01 ashishdhingra

May be if user does not select test project to be added, then use the C# default project structure without too much nesting. If adding a test project, then we need to use the nested structure.

ashishdhingra avatar Jan 27 '23 17:01 ashishdhingra

Why not have a separate template for the test project?

Swimburger avatar Mar 03 '23 18:03 Swimburger

@Swimburger the problem with that approach is how do you match the provided test content with whichever starting content they chose. Ultimately I think what we need to do is make the default behavior do what you users expect which is put the project in the output directory. But add an additional flag if they also want a test project and then we have to do something special about folder paths. But that should be exception not the default.

normj avatar Mar 06 '23 19:03 normj