Skip to content

Commit

Permalink
chore: add "gen" target as a pre build script (aws#10648)
Browse files Browse the repository at this point in the history
### What's new?

1. Added `.scripts/gen.sh` - execute this to execute `gen` all modules, for cfn modules this will usually execute `cfn2ts`.  This also means that you can use it to generate all required files to build `monocdk`:

```
./scripts/gen.sh
lerna build --scope monocdk
```
 
2. `cdk-build` will now execute the command specified in the package `script.gen` directive.
3. `cdk-build.pre` - The commands in the `pre` array are now concatenated using `&&`. 

This PR includes changes to many files the majority of them are `package.json` files. Summary of changes:

1. Added a `gen` as an npm script target to all cfn modules. The `gen` target is already used in our repo as a convention for executing pre build command for code generation. This change extends it to  include executing `cfn2ts`. Prior to this change we were executing the `pre` commands in `cdk-build`, followed by executing `cfn2ts` on cfn modules. `cdk-build` now execute `gen` unless `--skip-gen` is passed.
2. All code generation command (non `cfn2ts`) were moved from `pre` in `cdk-build` to `gen`. The only remaining `pre` directives are those unrelated to code generation such as cleaning commands.
**Why?**
This will allow us to execute `lerna run --stream gen` to execute all required code generation scripts on all modules.
2. The `cfn2ts` script **already** includes the ability to auto detect the CloudFormation scope from `cdk-build` clause in the `package.json`:
https://github.com/aws/aws-cdk/blob/bc096f08dd1dc29a0bb320b5798b0d7bee5e3161/tools/cfn2ts/bin/cfn2ts.ts#L43-L46
which makes it redundant to execute `cfn2ts --scope=scope` . 
3. Since the `gen` directive is now required in all cfn module, it was added to `cfnspec` so it will be added to every new module.
5. Added a `gen.sh` script in `scripts`, executing it will build `cfn2ts` and then execute `lerna gen`. This is useful if one wants to only get the `.generated` files without running a full build.

This PR originally included the changes require to split the monocdk build, these were removed from this PR to make it easier to review. The monocdk build related changes will be submitted in a different PR.


 
----

*By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
  • Loading branch information
NetaNir authored Oct 17, 2020
1 parent 36fea28 commit d943d26
Show file tree
Hide file tree
Showing 144 changed files with 353 additions and 177 deletions.
10 changes: 5 additions & 5 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@ done
export PATH=$(npm bin):$PATH
export NODE_OPTIONS="--max-old-space-size=4096 ${NODE_OPTIONS:-}"

if ! [ -x "$(command -v yarn)" ]; then
echo "yarn is not installed. Install it from here- https://yarnpkg.com/en/docs/install."
exit 1
fi

echo "============================================================================================="
echo "installing..."
yarn install --frozen-lockfile --network-timeout 1000000
Expand Down Expand Up @@ -65,11 +70,6 @@ rm -rf $BUILD_INDICATOR
export MERKLE_BUILD_CACHE=$(mktemp -d)
trap "rm -rf $MERKLE_BUILD_CACHE" EXIT

if ! [ -x "$(command -v yarn)" ]; then
echo "yarn is not installed. Install it from here- https://yarnpkg.com/en/docs/install."
exit 1
fi

echo "============================================================================================="
echo "building..."
time lerna run $bail --stream $runtarget || fail
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/alexa-ask/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "Alexa::ASK",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-accessanalyzer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"compat": "cdk-compat",
"build+test": "npm run build && npm test",
"build+test+package": "npm run build+test && npm run package"
"build+test+package": "npm run build+test && npm run package",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::AccessAnalyzer",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-acmpca/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::ACMPCA",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-amazonmq/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::AmazonMQ",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-amplify/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test": "npm run build && npm test",
"build+test+package": "npm run build+test && npm run package",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::Amplify",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-apigateway/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::ApiGateway",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-apigatewayv2/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"compat": "cdk-compat",
"build+test": "npm run build && npm test",
"build+test+package": "npm run build+test && npm run package"
"build+test+package": "npm run build+test && npm run package",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::ApiGatewayV2",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-appconfig/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::AppConfig",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-appflow/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::AppFlow",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-applicationautoscaling/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::ApplicationAutoScaling",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-applicationinsights/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::ApplicationInsights",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-appmesh/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::AppMesh",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-appstream/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::AppStream",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-appsync/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::AppSync",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-athena/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"keywords": [
"aws",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-autoscaling/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::AutoScaling",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-autoscalingplans/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::AutoScalingPlans",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-backup/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test": "npm run build && npm test",
"build+test+package": "npm run build+test && npm run package",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::Backup",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-batch/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::Batch",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-budgets/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::Budgets",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-cassandra/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::Cassandra",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-ce/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CE",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-certificatemanager/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CertificateManager",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-chatbot/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::Chatbot",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-cloud9/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::Cloud9",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-cloudformation/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CloudFormation"
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-cloudfront/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CloudFront",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-cloudtrail/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"integ": "cdk-integ",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CloudTrail",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-cloudwatch/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CloudWatch",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-codeartifact/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CodeArtifact",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-codebuild/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CodeBuild",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-codecommit/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CodeCommit",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-codedeploy/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CodeDeploy",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-codeguruprofiler/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CodeGuruProfiler",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-codegurureviewer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CodeGuruReviewer",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-codepipeline/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@
"cfn2ts": "cfn2ts",
"build+test+package": "npm run build+test && npm run package",
"build+test": "npm run build && npm test",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CodePipeline",
Expand Down
3 changes: 2 additions & 1 deletion packages/@aws-cdk/aws-codestar/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@
"cfn2ts": "cfn2ts",
"build+test": "npm run build && npm test",
"build+test+package": "npm run build+test && npm run package",
"compat": "cdk-compat"
"compat": "cdk-compat",
"gen": "cfn2ts"
},
"cdk-build": {
"cloudformation": "AWS::CodeStar",
Expand Down
Loading

0 comments on commit d943d26

Please sign in to comment.