Bug: sam build with --manifest parametr and layer BuildMethod = makefile
- Dominant language
- Python
- Stars
- 6.7k
- Forks
- 1.2k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 52
Description
### Description:
There are LambdaFunction & LambdaLayer in the my SAM template.
LambdaLayer has BuildMethod: makefile
command `sam build with parameter --manifest (-m)` leads to error
**Build Failed
Error: CustomMakeBuilder:MakeBuild - Make Failed: ~/sam-bug/package.json:1: *** missing separator. Stop.**
I think MakeBuild also has parameter -m and it use my value from input parameter --manifest
runs without `--manifest` is success
### Steps to reproduce:
**/template.yaml**
```
AWSTemplateFormatVersion: "2010-09-09"
Transform: AWS::Serverless-2016-10-31
Description: Sam build bug
Resources:
LambdaFunction:
Type: AWS::Serverless::Function
Properties:
FunctionName: !Sub test-sam-build-${AWS::StackName}
CodeUri: ./src
Handler: lambda.handler
Runtime: nodejs18.x
Layers:
- !Ref LambdaLayer
LambdaLayer:
Type: AWS::Serverless::LayerVersion
Properties:
ContentUri: ./layer/
CompatibleRuntimes:
- nodejs18.x
Metadata:
BuildMethod: makefile
```
**/package.json**
```
{
"type": "module",
"dependencies": {
"@aws-lambda-powertools/logger": "^1.12.1"
}
}
```
**/layer/Makefile**
```
build-LambdaLayer:
mkdir -p "$(ARTIFACTS_DIR)/nodejs"
cp package.json "$(ARTIFACTS_DIR)/nodejs"
cp package-lock.json "$(ARTIFACTS_DIR)/nodejs"
cd "$(ARTIFACTS_DIR)/nodejs" && npm install --production
```
### Observed result:
```
2023-08-04 18:32:09,350 | Running workflow 'CustomMakeBuilder'
2023-08-04 18:32:09,351 | Running CustomMakeBuilder:CopySource
....
2023-08-04 18:32:09,361 | CustomMakeBuilder:CopySource succeeded
2023-08-04 18:32:09,362 | Running CustomMakeBuilder:MakeBuild
2023-08-04 18:32:09,363 | Current Artifacts Directory : /Users/test/Other/sam-bug/.aws-sam/build/LambdaLayer
2023-08-04 18:32:09,364 | **executing Make: ['make', '--makefile', '/Users/test/Other/sam-bug/package.json', 'build-LambdaLayer']**
2023-08-04 18:32:09,384 | CustomMakeBuilder:MakeBuild failed
```
### Expected result:
Build success
### Additional environment details (Ex: Windows, Mac, Amazon Linux etc)
```{
"version": "1.94.0",
"system": {
"python": "3.8.17",
"os": "macOS-13.4.1-x86_64-i386-64bit"
},
"additional_dependencies": {
"docker_engine": "24.0.2",
"aws_cdk": "Not available",
"terraform": "Not available"
},
"available_beta_feature_env_vars": [
"SAM_CLI_BETA_FEATURES",
"SAM_CLI_BETA_BUILD_PERFORMANCE",
"SAM_CLI_BETA_TERRAFORM_SUPPORT",
"SAM_CLI_BETA_RUST_CARGO_LAMBDA"
]
}
```
Contributor guide
Assessment
This issue has not been assessed yet.