diff --git a/.projenrc.ts b/.projenrc.ts index 76fabac4..3f4bac46 100644 --- a/.projenrc.ts +++ b/.projenrc.ts @@ -1,3 +1,4 @@ +import * as path from 'path'; import { yarn, CdkCliIntegTestsWorkflow } from 'cdklabs-projen-project-types'; import * as pj from 'projen'; import { Stability } from 'projen/lib/cdk'; @@ -142,6 +143,14 @@ function jestOptionsForProject(options: pj.javascript.JestOptions): pj.javascrip }; } +function transitiveFeaturesAndFixes(thisPkg: string, depPkgs: string[]) { + return pj.ReleasableCommits.featuresAndFixes([ + '.', + ...depPkgs.map(p => path.relative(`packages/${thisPkg}`, `packages/${p}`)) + ].join(' ')); +} + + const repoProject = new yarn.Monorepo({ projenrcTs: true, name: 'aws-cdk-cli', @@ -791,6 +800,8 @@ const cli = configureProject( // Append a specific version string for testing nextVersionCommand: 'tsx ../../projenrc/next-version.ts maybeRc', + + releasableCommits: transitiveFeaturesAndFixes('aws-cdk', [cloudAssemblySchema.name, cloudFormationDiff.name]), }), ); @@ -923,8 +934,7 @@ const cliLib = configureProject( devDeps: ['aws-cdk-lib', cli, 'constructs'], disableTsconfig: true, nextVersionCommand: `tsx ../../../projenrc/next-version.ts copyVersion:../../../${cliPackageJson} append:-alpha.0`, - // Watch 2 directories at once - releasableCommits: pj.ReleasableCommits.featuresAndFixes(`. ../../${cli.name}`), + releasableCommits: transitiveFeaturesAndFixes('@aws-cdk/cli-lib-alpha', [cli.name, cloudAssemblySchema.name, cloudFormationDiff.name]), eslintOptions: { dirs: ['lib'], ignorePatterns: [ @@ -1081,7 +1091,7 @@ const toolkitLib = configureProject( 'typedoc', ], // Watch 2 directories at once - releasableCommits: pj.ReleasableCommits.featuresAndFixes(`. ../../${cli.name}`), + releasableCommits: transitiveFeaturesAndFixes('@aws-cdk/toolkit-lib', [cli.name, cloudAssemblySchema.name, cloudFormationDiff.name]), eslintOptions: { dirs: ['lib'], ignorePatterns: [ @@ -1200,8 +1210,7 @@ const cdkCliWrapper = configureProject( srcdir: 'lib', devDeps: ['aws-cdk-lib', cli, 'constructs', '@aws-cdk/integ-runner'], nextVersionCommand: `tsx ../../../projenrc/next-version.ts copyVersion:../../../${cliPackageJson}`, - // Watch 2 directories at once - releasableCommits: pj.ReleasableCommits.featuresAndFixes(`. ../../${cli.name}`), + releasableCommits: transitiveFeaturesAndFixes('@aws-cdk/cdk-cli-wrapper', [cli.name, cloudAssemblySchema.name, cloudFormationDiff.name]), jestOptions: jestOptionsForProject({ jestConfig: { @@ -1231,8 +1240,7 @@ const cdkAliasPackage = configureProject( srcdir: 'lib', deps: [cli], nextVersionCommand: `tsx ../../projenrc/next-version.ts copyVersion:../../${cliPackageJson}`, - // Watch 2 directories at once - releasableCommits: pj.ReleasableCommits.featuresAndFixes(`. ../${cli.name}`), + releasableCommits: transitiveFeaturesAndFixes('cdk', [cli.name, cloudAssemblySchema.name, cloudFormationDiff.name]), }), ); void cdkAliasPackage; diff --git a/packages/@aws-cdk/cli-lib-alpha/.projen/tasks.json b/packages/@aws-cdk/cli-lib-alpha/.projen/tasks.json index 89b7f84b..9b4551a3 100644 --- a/packages/@aws-cdk/cli-lib-alpha/.projen/tasks.json +++ b/packages/@aws-cdk/cli-lib-alpha/.projen/tasks.json @@ -33,7 +33,7 @@ "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", "NEXT_VERSION_COMMAND": "tsx ../../../projenrc/next-version.ts copyVersion:../../../packages/aws-cdk/package.json append:-alpha.0", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk" + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk ../cloud-assembly-schema ../cloudformation-diff" }, "steps": [ { @@ -299,7 +299,7 @@ "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", "NEXT_VERSION_COMMAND": "tsx ../../../projenrc/next-version.ts copyVersion:../../../packages/aws-cdk/package.json append:-alpha.0", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk" + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../../aws-cdk ../cloud-assembly-schema ../cloudformation-diff" }, "steps": [ { diff --git a/packages/aws-cdk/.projen/tasks.json b/packages/aws-cdk/.projen/tasks.json index eff3eee7..c1c93d53 100644 --- a/packages/aws-cdk/.projen/tasks.json +++ b/packages/aws-cdk/.projen/tasks.json @@ -33,7 +33,7 @@ "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", "NEXT_VERSION_COMMAND": "tsx ../../projenrc/next-version.ts maybeRc", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- ." + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../@aws-cdk/cloud-assembly-schema ../@aws-cdk/cloudformation-diff" }, "steps": [ { @@ -209,7 +209,7 @@ "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", "NEXT_VERSION_COMMAND": "tsx ../../projenrc/next-version.ts maybeRc", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- ." + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../@aws-cdk/cloud-assembly-schema ../@aws-cdk/cloudformation-diff" }, "steps": [ { diff --git a/packages/cdk/.projen/tasks.json b/packages/cdk/.projen/tasks.json index 57e5674b..9ad34ce9 100644 --- a/packages/cdk/.projen/tasks.json +++ b/packages/cdk/.projen/tasks.json @@ -33,7 +33,7 @@ "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", "NEXT_VERSION_COMMAND": "tsx ../../projenrc/next-version.ts copyVersion:../../packages/aws-cdk/package.json", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../aws-cdk" + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../aws-cdk ../@aws-cdk/cloud-assembly-schema ../@aws-cdk/cloudformation-diff" }, "steps": [ { @@ -192,7 +192,7 @@ "VERSIONRCOPTIONS": "{\"path\":\".\"}", "BUMP_PACKAGE": "commit-and-tag-version@^12", "NEXT_VERSION_COMMAND": "tsx ../../projenrc/next-version.ts copyVersion:../../packages/aws-cdk/package.json", - "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../aws-cdk" + "RELEASABLE_COMMITS": "git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep \"^(feat|fix){1}(\\([^()[:space:]]+\\))?(!)?:[[:blank:]]+.+\" -- . ../aws-cdk ../@aws-cdk/cloud-assembly-schema ../@aws-cdk/cloudformation-diff" }, "steps": [ {