Skip to content

Commit dc00bef

Browse files
authored
refactor(spec2cdk): relocate vended logs mixin builder (#37349)
### Reason for this change Similar to `spec2mixins`, `spec2logs` code is tightly coupled with `spec2cdk` and has been relocated there. See #37204 for more context. ### Description of changes log-delivery-mixin generator, tests, and builders have been relocated to `spec2cdk`. ### Description of how you validated changes ### Checklist - [x] My code adheres to the [CONTRIBUTING GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and [DESIGN GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md) ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent 8f38378 commit dc00bef

File tree

9 files changed

+24
-18
lines changed

9 files changed

+24
-18
lines changed

packages/@aws-cdk/mixins-preview/lib/services/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export * as aws_ecr from './aws-ecr';
2929
export * as aws_ecs from './aws-ecs';
3030
export * as aws_eks from './aws-eks';
3131
export * as aws_elasticache from './aws-elasticache';
32+
export * as aws_elasticloadbalancing from './aws-elasticloadbalancing';
3233
export * as aws_elasticloadbalancingv2 from './aws-elasticloadbalancingv2';
3334
export * as aws_emr from './aws-emr';
3435
export * as aws_entityresolution from './aws-entityresolution';
@@ -42,13 +43,15 @@ export * as aws_healthlake from './aws-healthlake';
4243
export * as aws_imagebuilder from './aws-imagebuilder';
4344
export * as aws_iotanalytics from './aws-iotanalytics';
4445
export * as aws_iotfleetwise from './aws-iotfleetwise';
46+
export * as aws_ivs from './aws-ivs';
4547
export * as aws_ivschat from './aws-ivschat';
4648
export * as aws_kafkaconnect from './aws-kafkaconnect';
4749
export * as aws_kms from './aws-kms';
4850
export * as aws_logs from './aws-logs';
4951
export * as aws_m2 from './aws-m2';
5052
export * as aws_managedblockchain from './aws-managedblockchain';
5153
export * as aws_medialive from './aws-medialive';
54+
export * as aws_mediapackage from './aws-mediapackage';
5255
export * as aws_mediapackagev2 from './aws-mediapackagev2';
5356
export * as aws_mediatailor from './aws-mediatailor';
5457
export * as aws_msk from './aws-msk';

packages/@aws-cdk/mixins-preview/scripts/gen.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import type { GeneratorResult, ModuleMap, ModuleMapEntry, SubmoduleContribution
55
import { mergeModuleMaps } from '@aws-cdk/spec2cdk/lib/module-topology';
66
import { ensureFileContains, jsiiRcPathFor, writeJsiiRc } from '@aws-cdk/spec2cdk/lib/util/submodule-files';
77
import { generateAll as generateEvents } from './spec2eventbridge';
8-
import { generateAll as generateLogsDeliveryMixins } from './spec2logs';
8+
import { generateAll as generateLogsDeliveryMixins } from '@aws-cdk/spec2cdk/lib/log-delivery-mixins';
9+
import { MIXINS_PREVIEW_BASE_NAMES } from './config';
910

1011
const GO_PREFIX = 'preview';
1112

@@ -19,8 +20,8 @@ async function main() {
1920
const outputPath = path.join(pkgPath, 'lib', 'services');
2021

2122
const results: GeneratorResult[] = [
22-
await generateLogsDeliveryMixins({ outputPath }),
2323
await generateEvents({ outputPath }),
24+
await generateLogsDeliveryMixins({ outputPath, packageBases: MIXINS_PREVIEW_BASE_NAMES }),
2425
];
2526

2627
const moduleMap = mergeModuleMaps(...results.map(r => r.moduleMap));

tools/@aws-cdk/spec2cdk/lib/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ export * as naming from './naming';
44
export * as topo from './module-topology';
55
export { generateAll } from './cfn2ts/index';
66
export * as cfnPropMixins from './cfn-prop-mixins';
7+
export * as logsDeliveryMixins from './log-delivery-mixins';

packages/@aws-cdk/mixins-preview/scripts/spec2logs/builder.ts renamed to tools/@aws-cdk/spec2cdk/lib/log-delivery-mixins/builder.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import type { Resource, Service, SpecDatabase, VendedLogs } from '@aws-cdk/service-spec-types';
2-
import { naming, util } from '@aws-cdk/spec2cdk';
3-
import { CDK_CORE, CDK_INTERFACES, CONSTRUCTS } from '@aws-cdk/spec2cdk/lib/cdk/cdk';
42
import type { Method } from '@cdklabs/typewriter';
53
import { Module, ExternalModule, ClassType, Stability, Type, expr, stmt, ThingSymbol, $this, CallableProxy, NewExpression, $E, $T, EnumType, InterfaceType } from '@cdklabs/typewriter';
64
import { MIXINS_LOGS_DELIVERY } from './helpers';
7-
import type { ServiceSubmoduleProps, LocatedModule } from '@aws-cdk/spec2cdk/lib/cdk/service-submodule';
8-
import { BaseServiceSubmodule } from '@aws-cdk/spec2cdk/lib/cdk/service-submodule';
9-
import type { AddServiceProps, LibraryBuilderProps } from '@aws-cdk/spec2cdk/lib/cdk/library-builder';
10-
import { LibraryBuilder } from '@aws-cdk/spec2cdk/lib/cdk/library-builder';
11-
import { ResourceReference } from '@aws-cdk/spec2cdk/lib/cdk/reference-props';
5+
import { CDK_CORE, CDK_INTERFACES, CONSTRUCTS } from '../cdk/cdk';
6+
import type { AddServiceProps, LibraryBuilderProps } from '../cdk/library-builder';
7+
import { LibraryBuilder } from '../cdk/library-builder';
8+
import { ResourceReference } from '../cdk/reference-props';
9+
import type { ServiceSubmoduleProps, LocatedModule } from '../cdk/service-submodule';
10+
import { BaseServiceSubmodule } from '../cdk/service-submodule';
11+
import { naming, util } from '../index';
1212

1313
class LogsDeliveryBuilderServiceModule extends BaseServiceSubmodule {
1414
public readonly constructLibModule: ExternalModule;

packages/@aws-cdk/mixins-preview/scripts/spec2logs/generate.ts renamed to tools/@aws-cdk/spec2cdk/lib/log-delivery-mixins/generate.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
import type { GenerateModuleMap, GenerateOptions as Spec2CdkOptions } from '@aws-cdk/spec2cdk';
2-
import { generate, loadPatchedSpec } from '@aws-cdk/spec2cdk';
1+
import type { GenerateModuleMap, GenerateOptions as Spec2CdkOptions } from '../generate';
2+
import { generate, loadPatchedSpec } from '../generate';
33
import { LogsDeliveryBuilder } from './builder';
4-
import { MIXINS_PREVIEW_BASE_NAMES } from '../config';
5-
import type { GeneratorResult } from '@aws-cdk/spec2cdk/lib/module-topology';
6-
import { loadModuleMap, type ModuleMap } from '@aws-cdk/spec2cdk/lib/module-topology';
4+
import { type GeneratorResult, loadModuleMap, type ModuleMap } from '../module-topology';
5+
import type { PackageBaseNames } from '../util/jsii';
76

8-
type GenerateOptions = Pick<Spec2CdkOptions<typeof LogsDeliveryBuilder>, 'outputPath' | 'clearOutput' | 'debug'>;
7+
export interface LogsGenerateOptions extends Pick<Spec2CdkOptions<typeof LogsDeliveryBuilder>, 'outputPath' | 'clearOutput' | 'debug'> {
8+
readonly packageBases: PackageBaseNames;
9+
}
910

10-
export async function generateAll(options: GenerateOptions): Promise<GeneratorResult> {
11+
export async function generateAll(options: LogsGenerateOptions): Promise<GeneratorResult> {
1112
const db = await loadPatchedSpec();
1213
const services = await db.all('service');
1314
const moduleMap: ModuleMap = loadModuleMap({
14-
packageBases: MIXINS_PREVIEW_BASE_NAMES,
15+
packageBases: options.packageBases,
1516
respectOverrides: false,
1617
});
1718
const moduleRequests: GenerateModuleMap = {};

packages/@aws-cdk/mixins-preview/scripts/spec2logs/helpers.ts renamed to tools/@aws-cdk/spec2cdk/lib/log-delivery-mixins/helpers.ts

File renamed without changes.

packages/@aws-cdk/mixins-preview/scripts/spec2logs/index.ts renamed to tools/@aws-cdk/spec2cdk/lib/log-delivery-mixins/index.ts

File renamed without changes.

packages/@aws-cdk/mixins-preview/test/codegen/__snapshots__/logs-delivery.test.ts.snap renamed to tools/@aws-cdk/spec2cdk/test/__snapshots__/logs-delivery.test.ts.snap

File renamed without changes.

packages/@aws-cdk/mixins-preview/test/codegen/logs-delivery.test.ts renamed to tools/@aws-cdk/spec2cdk/test/logs-delivery.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { Resource, Service, SpecDatabase } from '@aws-cdk/service-spec-types';
22
import { emptyDatabase } from '@aws-cdk/service-spec-types';
33
import { TypeScriptRenderer } from '@cdklabs/typewriter';
4-
import { LogsDeliveryBuilder, type LogsDeliveryBuilderProps } from '../../scripts/spec2logs';
4+
import { LogsDeliveryBuilder, type LogsDeliveryBuilderProps } from '../lib/log-delivery-mixins';
55

66
const renderer = new TypeScriptRenderer();
77
let db: SpecDatabase;

0 commit comments

Comments
 (0)