-
Notifications
You must be signed in to change notification settings - Fork 3
/
.projenrc.ts
85 lines (79 loc) · 3.04 KB
/
.projenrc.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import { CdklabsConstructLibrary } from 'cdklabs-projen-project-types';
import { DependencyType, ReleasableCommits } from 'projen';
const MAJOR_VERSION = 1;
const releaseWorkflowName = `release-awscli-v${MAJOR_VERSION}`;
const defaultReleaseBranchName = `awscli-v${MAJOR_VERSION}/main`;
const project = new CdklabsConstructLibrary({
setNodeEngineVersion: false,
stability: 'stable',
private: false,
projenrcTs: true,
author: 'Amazon Web Services, Inc.',
authorAddress: '[email protected]',
cdkVersion: '2.0.0',
name: `@aws-cdk/asset-awscli-v${MAJOR_VERSION}`,
description: 'A library that contains the AWS CLI for use in Lambda Layers',
repositoryUrl: 'https://github.com/cdklabs/awscdk-asset-awscli.git',
homepage: 'https://github.com/cdklabs/awscdk-asset-awscli#readme',
autoApproveOptions: {
allowedUsernames: ['aws-cdk-automation', 'dependabot[bot]', 'mergify[bot]'],
secret: 'GITHUB_TOKEN',
},
autoApproveUpgrades: true,
depsUpgradeOptions: {
workflowOptions: {
branches: [
// support all awscli branches from the default branch
'awscli-v1/main',
'awscli-v2/main',
],
},
},
majorVersion: 2,
releaseTagPrefix: `awscli-v${MAJOR_VERSION}`,
releaseWorkflowName: releaseWorkflowName,
defaultReleaseBranch: defaultReleaseBranchName,
// If we don't do this we release the devDependency updates that happen every day, which blows out
// our PyPI storage budget even though there aren't any functional changes.
releasableCommits: ReleasableCommits.featuresAndFixes(),
minNodeVersion: '16.0.0',
jsiiVersion: '^5',
publishToPypi: {
distName: `aws-cdk.asset-awscli-v${MAJOR_VERSION}`,
module: `aws_cdk.asset_awscli_v${MAJOR_VERSION}`,
},
publishToMaven: {
javaPackage: `software.amazon.awscdk.cdk.asset.awscli.v${MAJOR_VERSION}`,
mavenGroupId: 'software.amazon.awscdk',
mavenArtifactId: `cdk-asset-awscli-v${MAJOR_VERSION}`,
mavenEndpoint: 'https://aws.oss.sonatype.org',
},
publishToNuget: {
dotNetNamespace: `Amazon.CDK.Asset.AwsCliV${MAJOR_VERSION}`,
packageId: `Amazon.CDK.Asset.AwsCliV${MAJOR_VERSION}`,
},
publishToGo: {
moduleName: 'github.com/cdklabs/awscdk-asset-awscli-go',
packageName: `awscliv${MAJOR_VERSION}`,
gitBranch: `awscli.${MAJOR_VERSION}`,
gitUserName: 'AWS CDK Team',
gitUserEmail: '[email protected]',
githubTokenSecret: 'PROJEN_GITHUB_TOKEN',
},
});
// We only need aws-cdk-lib and constructs for testing. Neither library is used
// in the public API.
project.deps.removeDependency('constructs', DependencyType.PEER);
project.deps.addDependency('constructs@^10.0.5', DependencyType.DEVENV);
project.deps.removeDependency('aws-cdk-lib', DependencyType.PEER);
project.deps.addDependency('aws-cdk-lib@^2.0.0', DependencyType.DEVENV);
// Rosetta
project.deps.addDependency('jsii-rosetta@^5', DependencyType.DEVENV);
project.package.addField('jsiiRosetta', {
exampleDependencies: {
'aws-cdk-lib': '^2.0.0',
'constructs': '^10.0.5',
},
});
project.preCompileTask.exec('layer/build.sh');
project.synth();