Support for .NET Core Function apps using .NET Core 2.2 or 3.1 on both Windows and Linux
Closes #367
How did you implement it:
Created CliCommandFactory to centralize all commands that will be spawned as child processes
Unified configConstants and constants (this is why there are so many files changed)
In the package plugin, detects if the runtime is a "compiled" runtime (C#, potentially Java and others), and in that case, replaces the native Serverless packaging hook with a compileArtifact hook, which spawns a process to compile the artifact and put it in the .serverless directory
Package Service now cleans up any folders generated by the C# build as well
How can we verify it:
I will be creating a template in the next PR that will contain integration tests. Use that template and deploy your own :)
Todos:
Note: Run npm run test:ci to run all validation checks on proposed changes
[x] Ensure there are no lint errors. Validate via npm run lint Note: Some reported issues can be automatically fixed by running npm run lint:fix
[x] Write tests and confirm existing functionality is not broken. Validate via npm test
[x] Write documentation
[x] Provide verification config / commands / resources
[x] Enable "Allow edits from maintainers" for this PR
[x] Update the messages below
Is this ready for review?: YES
Is it a breaking change?: NO
What did you implement:
Support for .NET Core Function apps using .NET Core 2.2 or 3.1 on both Windows and Linux
Closes #367
How did you implement it:
CliCommandFactory
to centralize all commands that will be spawned as child processesconfigConstants
andconstants
(this is why there are so many files changed)compileArtifact
hook, which spawns a process to compile the artifact and put it in the.serverless
directoryHow can we verify it:
Todos:
Note: Run
npm run test:ci
to run all validation checks on proposed changesValidate via
npm run lint
Note: Some reported issues can be automatically fixed by running
npm run lint:fix
Validate via
npm test
Is this ready for review?: YES Is it a breaking change?: NO