@aws/pdk
Version:
All documentation is located at: https://aws.github.io/aws-pdk
46 lines • 6.23 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SmithyBaseProject = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
/*! Copyright [Amazon.com](http://amazon.com/), Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0 */
const monorepo_1 = require("../../../../monorepo");
const projen_1 = require("projen");
/**
* Base project for Smithy projects
*/
class SmithyBaseProject extends projen_1.Project {
constructor(options) {
super(options);
this.smithyDeps = [];
}
/**
* Add a dependency on other smithy projects
*/
addSmithyDeps(...deps) {
this.smithyDeps.push(...deps);
const allDeps = this.allSmithyDeps();
// Add the smithy dependencies.
// Smithy jars only include the models defined in that project, so we must add transitive dependencies explicitly
this.smithyProjectDefinition().addSmithyDeps(...allDeps.map((dep) => dep.smithyProjectDefinition()));
// Add the monorepo implicit dependency if applicable
const isNxWorkspace = this.parent &&
(monorepo_1.ProjectUtils.isNamedInstanceOf(this.parent, monorepo_1.MonorepoTsProject) ||
monorepo_1.ProjectUtils.isNamedInstanceOf(this.parent, monorepo_1.MonorepoJavaProject) ||
monorepo_1.ProjectUtils.isNamedInstanceOf(this.parent, monorepo_1.MonorepoPythonProject));
if (isNxWorkspace) {
deps.forEach((dep) => monorepo_1.NxProject.ensure(this).addImplicitDependency(dep));
}
}
allSmithyDeps() {
return [
...this.smithyDeps,
...this.smithyDeps.flatMap((d) => d.allSmithyDeps()),
];
}
}
exports.SmithyBaseProject = SmithyBaseProject;
_a = JSII_RTTI_SYMBOL_1;
SmithyBaseProject[_a] = { fqn: "@aws/pdk.type_safe_api.SmithyBaseProject", version: "0.26.14" };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21pdGh5LWJhc2UtcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNtaXRoeS1iYXNlLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtzQ0FDc0M7QUFDdEMsNENBTXVCO0FBQ3ZCLG1DQUFpRDtBQVFqRDs7R0FFRztBQUNILE1BQXNCLGlCQUFrQixTQUFRLGdCQUFPO0lBR3JELFlBQVksT0FBaUM7UUFDM0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSEEsZUFBVSxHQUF3QixFQUFFLENBQUM7SUFJdEQsQ0FBQztJQU9EOztPQUVHO0lBQ0ksYUFBYSxDQUFDLEdBQUcsSUFBeUI7UUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUU5QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckMsK0JBQStCO1FBQy9CLGlIQUFpSDtRQUNqSCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxhQUFhLENBQzFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FDdkQsQ0FBQztRQUVGLHFEQUFxRDtRQUNyRCxNQUFNLGFBQWEsR0FDakIsSUFBSSxDQUFDLE1BQU07WUFDWCxDQUFDLHVCQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSw0QkFBaUIsQ0FBQztnQkFDN0QsdUJBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLDhCQUFtQixDQUFDO2dCQUNoRSx1QkFBWSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0NBQXFCLENBQUMsQ0FBQyxDQUFDO1FBRXhFLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsb0JBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQztJQUVPLGFBQWE7UUFDbkIsT0FBTztZQUNMLEdBQUcsSUFBSSxDQUFDLFVBQVU7WUFDbEIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3JELENBQUM7SUFDSixDQUFDOztBQTNDSCw4Q0E0Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgQ29weXJpZ2h0IFtBbWF6b24uY29tXShodHRwOi8vYW1hem9uLmNvbS8pLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAgKi9cbmltcG9ydCB7XG4gIE1vbm9yZXBvSmF2YVByb2plY3QsXG4gIE1vbm9yZXBvUHl0aG9uUHJvamVjdCxcbiAgTW9ub3JlcG9Uc1Byb2plY3QsXG4gIE54UHJvamVjdCxcbiAgUHJvamVjdFV0aWxzLFxufSBmcm9tIFwiQGF3cy9tb25vcmVwb1wiO1xuaW1wb3J0IHsgUHJvamVjdCwgUHJvamVjdE9wdGlvbnMgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBTbWl0aHlQcm9qZWN0RGVmaW5pdGlvbiB9IGZyb20gXCIuL3NtaXRoeS1wcm9qZWN0LWRlZmluaXRpb25cIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBhIFNtaXRoeSBwcm9qZWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU21pdGh5QmFzZVByb2plY3RPcHRpb25zIGV4dGVuZHMgUHJvamVjdE9wdGlvbnMge31cblxuLyoqXG4gKiBCYXNlIHByb2plY3QgZm9yIFNtaXRoeSBwcm9qZWN0c1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU21pdGh5QmFzZVByb2plY3QgZXh0ZW5kcyBQcm9qZWN0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBzbWl0aHlEZXBzOiBTbWl0aHlCYXNlUHJvamVjdFtdID0gW107XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogU21pdGh5QmFzZVByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc21pdGh5IHByb2plY3QgZGVmaW5pdGlvblxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHNtaXRoeVByb2plY3REZWZpbml0aW9uKCk6IFNtaXRoeVByb2plY3REZWZpbml0aW9uO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBkZXBlbmRlbmN5IG9uIG90aGVyIHNtaXRoeSBwcm9qZWN0c1xuICAgKi9cbiAgcHVibGljIGFkZFNtaXRoeURlcHMoLi4uZGVwczogU21pdGh5QmFzZVByb2plY3RbXSkge1xuICAgIHRoaXMuc21pdGh5RGVwcy5wdXNoKC4uLmRlcHMpO1xuXG4gICAgY29uc3QgYWxsRGVwcyA9IHRoaXMuYWxsU21pdGh5RGVwcygpO1xuXG4gICAgLy8gQWRkIHRoZSBzbWl0aHkgZGVwZW5kZW5jaWVzLlxuICAgIC8vIFNtaXRoeSBqYXJzIG9ubHkgaW5jbHVkZSB0aGUgbW9kZWxzIGRlZmluZWQgaW4gdGhhdCBwcm9qZWN0LCBzbyB3ZSBtdXN0IGFkZCB0cmFuc2l0aXZlIGRlcGVuZGVuY2llcyBleHBsaWNpdGx5XG4gICAgdGhpcy5zbWl0aHlQcm9qZWN0RGVmaW5pdGlvbigpLmFkZFNtaXRoeURlcHMoXG4gICAgICAuLi5hbGxEZXBzLm1hcCgoZGVwKSA9PiBkZXAuc21pdGh5UHJvamVjdERlZmluaXRpb24oKSlcbiAgICApO1xuXG4gICAgLy8gQWRkIHRoZSBtb25vcmVwbyBpbXBsaWNpdCBkZXBlbmRlbmN5IGlmIGFwcGxpY2FibGVcbiAgICBjb25zdCBpc054V29ya3NwYWNlID1cbiAgICAgIHRoaXMucGFyZW50ICYmXG4gICAgICAoUHJvamVjdFV0aWxzLmlzTmFtZWRJbnN0YW5jZU9mKHRoaXMucGFyZW50LCBNb25vcmVwb1RzUHJvamVjdCkgfHxcbiAgICAgICAgUHJvamVjdFV0aWxzLmlzTmFtZWRJbnN0YW5jZU9mKHRoaXMucGFyZW50LCBNb25vcmVwb0phdmFQcm9qZWN0KSB8fFxuICAgICAgICBQcm9qZWN0VXRpbHMuaXNOYW1lZEluc3RhbmNlT2YodGhpcy5wYXJlbnQsIE1vbm9yZXBvUHl0aG9uUHJvamVjdCkpO1xuXG4gICAgaWYgKGlzTnhXb3Jrc3BhY2UpIHtcbiAgICAgIGRlcHMuZm9yRWFjaCgoZGVwKSA9PiBOeFByb2plY3QuZW5zdXJlKHRoaXMpLmFkZEltcGxpY2l0RGVwZW5kZW5jeShkZXApKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFsbFNtaXRoeURlcHMoKTogU21pdGh5QmFzZVByb2plY3RbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnRoaXMuc21pdGh5RGVwcyxcbiAgICAgIC4uLnRoaXMuc21pdGh5RGVwcy5mbGF0TWFwKChkKSA9PiBkLmFsbFNtaXRoeURlcHMoKSksXG4gICAgXTtcbiAgfVxufVxuIl19