jsii-release 0.2.988 → 0.2.990

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,33 @@
1
+ # How to work on this repository
2
+
3
+ ## Testing Maven publishing
4
+
5
+ - Create a Sonatype account at <https://central.sonatype.com/account>. You can use GitHub to sign in.
6
+ - Generate a user token, note the username and password.
7
+ - Generate an empty project and give it a jsii config. Example:
8
+
9
+ ```
10
+ {
11
+ "jsii": {
12
+ "versionFormat": "full",
13
+ "targets": {
14
+ "java": {
15
+ "package": "test.test",
16
+ "maven": {
17
+ "groupId": "test.test",
18
+ "artifactId": "test"
19
+ }
20
+ }
21
+ },
22
+ "outdir": "dist"
23
+ },
24
+ }
25
+ ```
26
+
27
+ Follow the instructions in the README for creating and exporting a GPG key.
28
+
29
+ Then run the following command:
30
+
31
+ ```
32
+ env MAVEN_GPG_PRIVATE_KEY_FILE=$PWD/mykey.priv MAVEN_GPG_PRIVATE_KEY_PASSPHRASE=mypassphrase MAVEN_STAGING_PROFILE_ID=com.sonatype.software MAVEN_SERVER_ID=central-ossrh MAVEN_USERNAME=**** MAVEN_PASSWORD=**** /path/to/publib/bin/publib-maven
33
+ ```
package/README.md CHANGED
@@ -81,7 +81,18 @@ npx publib-npm [DIR]
81
81
 
82
82
  Publishes all Maven modules in the `DIR` to [Maven Central](https://search.maven.org/).
83
83
 
84
- Note that if you signed up at SonaType after February 2021, you need to use this URL: `https://s01.oss.sonatype.org` ([announcement](https://central.sonatype.org/news/20210223_new-users-on-s01/)).
84
+ > [!IMPORTANT]
85
+ > Starting July 2025 you must switch over to the new Maven Central Publisher. Follow these steps:
86
+ >
87
+ > * Configure `MAVEN_SERVER_ID=central-ossrh`.
88
+ > * Unset any `MAVEN_ENDPOINT`.
89
+ > * Log in to <https://central.sonatype.com/>
90
+ > * Generate a new username and password on the new publisher using the **Generate User Token** feature.
91
+ > * Configure `MAVEN_STAGING_PROFILE_ID` with your package namespace (register it first if necessary)
92
+
93
+ If you are still on Nexus and you signed up at SonaType after February 2021, you
94
+ need to use this URL: `https://s01.oss.sonatype.org`
95
+ ([announcement](https://central.sonatype.org/news/20210223_new-users-on-s01/)).
85
96
 
86
97
  **Usage:**
87
98
 
@@ -93,17 +104,28 @@ npx publib-maven [DIR]
93
104
 
94
105
  **Options (environment variables):**
95
106
 
96
- | Option | Required | Description |
97
- | ---------------------------------------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
98
- | `MAVEN_USERNAME` and `MAVEN_PASSWORD` | Yes | Username and password for maven repository. For Maven Central, you will need to [Create JIRA account](https://issues.sonatype.org/secure/Signup!default.jspa) and then request a [new project](https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134). Read the [OSSRH guide](https://central.sonatype.org/pages/ossrh-guide.html) for more details. |
99
- | `MAVEN_GPG_PRIVATE_KEY` or `MAVEN_GPG_PRIVATE_KEY_FILE` and `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE` | Yes for Maven Central | GPG private key or file that includes it. This is used to sign your Maven packages. See instructions below |
100
- | `MAVEN_STAGING_PROFILE_ID` | Yes for Maven Central | Maven Central (sonatype) staging profile ID (e.g. 68a05363083174). Staging profile ID can be found **in the URL** of the "Releases" staging profile under "Staging Profiles" in <https://oss.sonatype.org> or <https://s01.oss.sonatype.org> if you are logged in (e.g. `https://oss.sonatype.org/#stagingProfiles;68a05363083174`). |
101
- | `MAVEN_ENDPOINT` | Yes for new Maven Central users | URL of Nexus repository. Defaults to `https://oss.sonatype.org`. Use `https://s01.oss.sonatype.org` if you are a new user. |
102
- | `MAVEN_SERVER_ID` | No | Used in maven settings for credential lookup (e.g. use `github` when publishing to GitHub). Defaults to `ossrh` for Maven Central. |
103
- | `MAVEN_REPOSITORY_URL` | No | Deployment repository when not deploying to Maven Central |
104
- | `MAVEN_DRYRUN` | No | Set to "true" for a dry run |
105
-
106
- **How to create a GPG key?**
107
+ The server type is selected using the `MAVEN_SERVER_ID` variable.
108
+
109
+ - `MAVEN_SERVER_ID=ossrh`; this is currently the default but will stop working in July 2025. Publish to the old OSSRH Nexus server.
110
+ - `MAVEN_SERVER_ID=central-ossrh`; publish to the new Central Publishing platform using a service endpoint more-or-less compatible with the old OSSRH Nexus server. This is required to publish to Maven Central starting July 2025.
111
+ - `MAVEN_SERVER_ID=<anything else>`; publish to a custom Nexus server.
112
+
113
+
114
+ | Server | Option | Required | Description |
115
+ |----------------------| --------------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
116
+ | (all) | `MAVEN_SERVER_ID` | Yes going forward | Either `ossrh` (default but deprecated), `central-ossrh`, or any other string for a custom Nexus server. |
117
+ | (all) | `MAVEN_USERNAME` and `MAVEN_PASSWORD` | Yes | Username and password for maven repository. For Maven Central, you will need to [Create JIRA account](https://issues.sonatype.org/secure/Signup!default.jspa) and then request a [new project](https://issues.sonatype.org/secure/CreateIssue.jspa?issuetype=21&pid=10134). Read the [OSSRH guide](https://central.sonatype.org/pages/ossrh-guide.html) for more details. |
118
+ | (all) | `MAVEN_DRYRUN` | No | Set to "true" for a dry run |
119
+ | (all) | `MAVEN_VERBOSE` | No | Make Maven print debug output if set to `true` |
120
+ | `central-ossrh` | `MAVEN_GPG_PRIVATE_KEY[_FILE]` and `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE` | Yes | GPG private key or file that includes it. This is used to sign your Maven packages. See instructions below |
121
+ | `central-ossrh` | `MAVEN_STAGING_PROFILE_ID` | Yes | Maven Central (sonatype) staging profile ID (e.g. 68a05363083174). Staging profile ID can be found **in the URL** of the "Releases" staging profile under "Staging Profiles" in <https://oss.sonatype.org> or <https://s01.oss.sonatype.org> if you are logged in (e.g. `https://oss.sonatype.org/#stagingProfiles;68a05363083174`). |
122
+ | `central-ossrh` | `MAVEN_ENDPOINT` | No | URL of Nexus repository. Defaults to `https://ossrh-staging-api.central.sonatype.com/`. |
123
+ | `<custom>` | `MAVEN_REPOSITORY_URL` | No | Deployment repository when not deploying to Maven Central |
124
+ | `ossrh` (deprecated) | `MAVEN_GPG_PRIVATE_KEY[_FILE]` and `MAVEN_GPG_PRIVATE_KEY_PASSPHRASE` | Yes | GPG private key or file that includes it. This is used to sign your Maven packages. See instructions below |
125
+ | `ossrh` (deprecated) | `MAVEN_STAGING_PROFILE_ID` | Yes | Central Publisher (sonatype) staging profile ID, corresponding to namespace (e.g. `com.sonatype.software`). |
126
+ | `ossrh` (deprecated) | `MAVEN_ENDPOINT` | No | URL of Nexus repository. Defaults to `https://central.sonatype.com`. |
127
+
128
+ **How to create a GPG key**
107
129
 
108
130
  Install [GnuPG](https://gnupg.org/).
109
131
 
package/bin/publib-maven CHANGED
@@ -1,361 +1,2 @@
1
- #!/bin/bash
2
- set -eu # we don't want "pipefail" to implement idempotency
3
-
4
- ###
5
- #
6
- # Publishes all maven modules in the specified directory to maven.
7
- #
8
- # Usage: ./publib-maven [DIR]
9
- #
10
- # DIR is the root directory of a local maven repository (default `dist/java`).
11
- #
12
- # MAVEN_STAGING_PROFILE_ID - Maven Central (sonatype) staging profile ID (e.g. 68a05363083174)
13
- # MAVEN_USERNAME - User name for Sonatype
14
- # MAVEN_PASSWORD - Password for Sonatype
15
- # MAVEN_GPG_PRIVATE_KEY - GPG private key where newlines are encoded as "\n"
16
- # MAVEN_GPG_PRIVATE_KEY_FILE - GPG private key file (mutually exclusive with MAVEN_GPG_PRIVATE_KEY)
17
- # MAVEN_GPG_PRIVATE_KEY_PASSPHRASE - The passphrase of the provided key.
18
- # MAVEN_DRYRUN - Set to "true" for a dry run
19
- # MAVEN_SERVER_ID - Used in maven settings for credential lookup
20
- # MAVEN_REPOSITORY_URL - Deployment repository when not deploying to maven central
21
- #
22
- ###
23
-
24
- ###
25
- #
26
- # HOW TO CREATE A GPG KEY?
27
- #
28
- # gpg --full-generate-key (use RSA, 4096, passphrase)
29
- #
30
- # Export and publish the public key:
31
- # 1. gpg -a --export > public.pem
32
- # 2. Go to https://keyserver.ubuntu.com/ and submit the public key
33
- #
34
- # Export and use the private key:
35
- # 1. gpg -a --export-secret-keys <fingerprint> > private.pem
36
- # 2. Set MAVEN_GPG_PRIVATE_KEY_FILE =t point to `private.pem`
37
- # or
38
- # 3. You can also export the private key to a single line where newlines are encoded
39
- # as "\n" and then assign it to MAVEN_GPG_PRIVATE_KEY.
40
- # MAVEN_GPG_PRIVATE_KEY="$(echo $(cat -e private.pem) | sed 's/\$ /\\n/g' | sed 's/\$$//')"
41
- #
42
- ###
43
-
44
- readonly CENTRAL_SERVER="ossrh"
45
-
46
- # -------------------------------------------------------------------------------------------------
47
- # we need this monstrosity because this script is installed as a symlink to node_modules/.bin
48
- # and we need a way to find it's real location so we can reference stuff that's not in .bin
49
- # https://stackoverflow.com/a/246128
50
- SOURCE="${BASH_SOURCE[0]}"
51
- while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
52
- DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
53
- SOURCE="$(readlink "$SOURCE")"
54
- [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
55
- done
56
- scriptdir="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
57
- # -------------------------------------------------------------------------------------------------
58
-
59
- error() { echo "❌ $@"; exit 1; }
60
-
61
- validate_central_parameters() {
62
- [[ -z "${MAVEN_STAGING_PROFILE_ID:-}" ]] && error "MAVEN_STAGING_PROFILE_ID is required"
63
- return 0
64
- }
65
-
66
- validate_non_central_parameters() {
67
- [[ -z "${MAVEN_SERVER_ID:-}" ]] && error "MAVEN_SERVER_ID is required"
68
- [[ -z "${MAVEN_REPOSITORY_URL:-}" ]] && error "MAVEN_REPOSITORY_URL is required"
69
- return 0
70
- }
71
-
72
- validate_signing_parameters() {
73
- [[ -z "${MAVEN_GPG_PRIVATE_KEY_PASSPHRASE:-}" ]] && error "MAVEN_GPG_PRIVATE_KEY_PASSPHRASE is required"
74
- [[ -z "${MAVEN_GPG_PRIVATE_KEY_FILE:-}" ]] && [[ -z "${MAVEN_GPG_PRIVATE_KEY:-}" ]] && error "MAVEN_GPG_PRIVATE_KEY_FILE or MAVEN_GPG_PRIVATE_KEY is required"
75
- [[ -n "${MAVEN_GPG_PRIVATE_KEY:-}" ]] && [[ -n "${MAVEN_GPG_PRIVATE_KEY_FILE:-}" ]] && error "Cannot specify both MAVEN_GPG_PRIVATE_KEY and MAVEN_GPG_PRIVATE_KEY_FILE"
76
- return 0
77
- }
78
-
79
- validate_parameters() {
80
- [[ -z "${MAVEN_USERNAME:-}" ]] && error "MAVEN_USERNAME is required"
81
- [[ -z "${MAVEN_PASSWORD:-}" ]] && error "MAVEN_PASSWORD is required"
82
-
83
- if ${is_central}; then
84
- validate_central_parameters
85
- else
86
- validate_non_central_parameters
87
- fi
88
-
89
- if (${is_signed} && ! ${is_central}); then
90
- error "Package signing is currently only supported for Maven Central"
91
- fi
92
-
93
- if (${is_signed} || ${is_central}); then
94
- validate_signing_parameters
95
- fi
96
- }
97
-
98
- import_gpg_key() {
99
- #---------------------------------------------------------------------------------------------------------------------------------------
100
- # Import private GPG key
101
- #---------------------------------------------------------------------------------------------------------------------------------------
102
-
103
- echo "Importing GPG key..." >&2
104
-
105
- # GnuPG will occasionally bail out with "gpg: <whatever> failed: Inappropriate ioctl for device", the following attempts to fix
106
- export GNUPGHOME=$(mktemp -d)
107
- export GPG_TTY=$(tty)
108
-
109
- if [ -n "${MAVEN_GPG_PRIVATE_KEY:-}" ]; then
110
- MAVEN_GPG_PRIVATE_KEY_FILE="${GNUPGHOME}/private.pem"
111
- echo -e "${MAVEN_GPG_PRIVATE_KEY}" > ${MAVEN_GPG_PRIVATE_KEY_FILE}
112
- fi
113
-
114
- gpg --allow-secret-key-import --batch --yes --no-tty --import "${MAVEN_GPG_PRIVATE_KEY_FILE}" || {
115
- error "GPG key import failed"
116
- }
117
-
118
- gpg_key_id=$(gpg --list-keys --with-colons | grep pub | cut -d: -f5)
119
- echo "gpg_key_id=${gpg_key_id}"
120
- }
121
-
122
- create_maven_settings() {
123
- # Create a settings.xml file with the user+password for maven
124
- mvn_settings="${workdir}/mvn-settings.xml"
125
- if ${is_signed}; then
126
- cat > ${mvn_settings} <<-EOF
127
- <?xml version="1.0" encoding="UTF-8" ?>
128
- <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
129
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
130
- xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
131
- http://maven.apache.org/xsd/settings-1.0.0.xsd">
132
- <servers>
133
- <server>
134
- <id>${server_id}</id>
135
- <username>\${env.MAVEN_USERNAME}</username>
136
- <password>\${env.MAVEN_PASSWORD}</password>
137
- </server>
138
- <server>
139
- <id>gpg.passphrase</id>
140
- <passphrase>\${env.MAVEN_GPG_PRIVATE_KEY_PASSPHRASE}</passphrase>
141
- </server>
142
- </servers>
143
- </settings>
144
- EOF
145
- else
146
- cat > ${mvn_settings} <<-EOF
147
- <?xml version="1.0" encoding="UTF-8" ?>
148
- <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
149
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
150
- xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
151
- http://maven.apache.org/xsd/settings-1.0.0.xsd">
152
- <servers>
153
- <server>
154
- <id>${server_id}</id>
155
- <username>\${env.MAVEN_USERNAME}</username>
156
- <password>\${env.MAVEN_PASSWORD}</password>
157
- </server>
158
- </servers>
159
- </settings>
160
- EOF
161
- fi
162
- }
163
-
164
- sign_artifacts() {
165
- echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
166
- echo " Preparing repository"
167
- echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
168
-
169
- # on a mac, --pinentry-mode to "loopback" are required and I couldn't find a
170
- # way to do so via -Dgpg.gpgArguments or the settings file, so here we are.
171
- local gpg_exec="gpg"
172
- if [[ "$(uname)" == "Darwin" ]]; then
173
- gpg_exec="/tmp/publib-gpg.sh"
174
- echo "#!/bin/bash" > $gpg_exec
175
- echo "exec gpg --pinentry-mode loopback \"\$@\"" >> $gpg_exec
176
- chmod +x $gpg_exec
177
- fi
178
-
179
- # Sign and stage our artifacts into a local directory
180
- for pom in ${poms}; do
181
- $mvn --settings=${mvn_settings} gpg:sign-and-deploy-file \
182
- -X \
183
- -Durl=file://${staging} \
184
- -DrepositoryId=${server_id} \
185
- -Dgpg.homedir=${GNUPGHOME} \
186
- -Dgpg.keyname=0x${gpg_key_id} \
187
- -Dgpg.executable=${gpg_exec} \
188
- -DpomFile=${pom} \
189
- -Dfile=${pom/.pom/.jar} \
190
- -Dsources=${pom/.pom/-sources.jar} \
191
- -Djavadoc=${pom/.pom/-javadoc.jar}
192
- done
193
- }
194
-
195
- deploy_central() {
196
- echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
197
- echo " Deploying and closing repository..."
198
- echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
199
-
200
- staging_output="${workdir}/deploy-output.txt"
201
- $mvn --settings=${mvn_settings} \
202
- org.sonatype.plugins:nexus-staging-maven-plugin:1.6.13:deploy-staged-repository \
203
- -DrepositoryDirectory=${staging} \
204
- -DnexusUrl=${MAVEN_ENDPOINT:-https://oss.sonatype.org} \
205
- -DserverId=${server_id} \
206
- -DautoReleaseAfterClose=true \
207
- -DstagingProgressTimeoutMinutes=30 \
208
- -DstagingProfileId=${MAVEN_STAGING_PROFILE_ID} | tee ${staging_output}
209
-
210
- # we need to consule PIPESTATUS sinec "tee" is the last command
211
- if [ ${PIPESTATUS[0]} -ne 0 ]; then
212
- error "Repository deployment failed"
213
- fi
214
-
215
- echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
216
- echo " Releasing repository"
217
- echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
218
-
219
- # Extract the ID of the closed repository from the log output of "deploy-staged-repository"
220
- # This is because "deploy-staged-repository" doesn't seem to support autoReleaseAfterClose
221
- # See https://issues.sonatype.org/browse/OSSRH-42487
222
- if $dry_run; then
223
- echo 'Closing staging repository with ID "dummyrepo"' > ${staging_output}
224
- fi
225
-
226
- repository_id="$(cat ${staging_output} | grep "Closing staging repository with ID" | cut -d'"' -f2)"
227
- if [ -z "${repository_id}" ]; then
228
- echo "❌ Unable to extract repository ID from deploy-staged-repository output."
229
- echo "This means it failed to close or there was an unexpected problem."
230
- echo "At any rate, we can't release it. Sorry"
231
- exit 1
232
- fi
233
-
234
- echo "Repository ID: ${repository_id}"
235
-
236
- # Create a dummy pom.xml because the "release" goal needs one, but it doesn't care about it at all
237
- release_pom="${workdir}/release-pom.xml"
238
- cat > ${release_pom} <<HERE
239
- <?xml version="1.0" encoding="UTF-8"?>
240
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
241
- <modelVersion>4.0.0</modelVersion>
242
- <groupId>dummy</groupId>
243
- <artifactId>dummy</artifactId>
244
- <version>0.0.0</version>
245
- </project>
246
- HERE
247
-
248
- # Release!
249
- release_output="${workdir}/release-output.txt"
250
- $mvn --settings ${mvn_settings} -f ${release_pom} \
251
- org.sonatype.plugins:nexus-staging-maven-plugin:1.6.13:release \
252
- -DserverId=${server_id} \
253
- -DnexusUrl=${MAVEN_ENDPOINT:-https://oss.sonatype.org} \
254
- -DstagingProfileId=${MAVEN_STAGING_PROFILE_ID} \
255
- -DstagingProgressTimeoutMinutes=30 \
256
- -DstagingRepositoryId=${repository_id} | tee ${release_output}
257
-
258
- # If release failed, check if this was caused because we are trying to publish
259
- # the same version again, which is not an error. The magic string "does not
260
- # allow updating artifact" for a ".pom" file indicates that we are trying to
261
- # override an existing version. Otherwise, fail!
262
- if [ ${PIPESTATUS[0]} -ne 0 ]; then
263
- if cat ${release_output} | grep "does not allow updating artifact" | grep -q ".pom"; then
264
- echo "⚠️ Artifact already published. Skipping"
265
- else
266
- error "Release failed"
267
- fi
268
- fi
269
- }
270
-
271
- deploy_non_central() {
272
- release_output="${workdir}/release-output.txt"
273
- for pom in ${poms}; do
274
- $mvn --settings=${mvn_settings} deploy:deploy-file \
275
- -Durl=${MAVEN_REPOSITORY_URL} \
276
- -DrepositoryId=${server_id} \
277
- -Dfile=${pom/.pom/.jar} \
278
- -DpomFile=${pom} \
279
- -Dsources=${pom/.pom/-sources.jar} \
280
- -Djavadoc=${pom/.pom/-javadoc.jar} | tee ${release_output}
281
-
282
- # If release failed, check if this was caused because we are trying to publish
283
- # the same version again, which is not an error. The magic string "409 Conflict"
284
- # indicates that we are trying to
285
- # override an existing version. Otherwise, fail!
286
- if [ ${PIPESTATUS[0]} -ne 0 ]; then
287
- if cat ${release_output} | grep -q "409 Conflict"; then
288
- echo "⚠️ Artifact already published. Skipping"
289
- else
290
- error "Release failed"
291
- fi
292
- fi
293
- done
294
- }
295
-
296
- main() {
297
- cd "${1:-"dist/java"}"
298
-
299
- server_id="${MAVEN_SERVER_ID:-"${CENTRAL_SERVER}"}"
300
- if [[ "${server_id}" == "${CENTRAL_SERVER}" ]]; then
301
- is_central=true
302
- else
303
- is_central=false
304
- fi
305
-
306
- if [[ -n "${MAVEN_GPG_PRIVATE_KEY_FILE:-}" ]] || [[ -n "${MAVEN_GPG_PRIVATE_KEY:-}" ]]; then
307
- is_signed=true
308
- else
309
- is_signed=false
310
- fi
311
-
312
- validate_parameters
313
-
314
- if [[ -n "${MAVEN_DRYRUN:-}" ]]; then
315
- echo "==========================================="
316
- echo " 🏜️ DRY-RUN MODE 🏜️"
317
- echo "==========================================="
318
- mvn="echo mvn"
319
- dry_run=true
320
- else
321
- mvn=mvn
322
- dry_run=false
323
- fi
324
-
325
- if ${is_signed}; then
326
- import_gpg_key
327
- fi
328
-
329
- poms="$(find . -name '*.pom')"
330
- if [ -z "${poms}" ]; then
331
- error "No JARS to publish: no .pom files found under $PWD"
332
- fi
333
-
334
- if ${is_central}; then
335
- echo "📦 Publishing to Maven Central"
336
- else
337
- echo "📦 Publishing to ${server_id}"
338
- fi
339
-
340
- staging=$(mktemp -d)
341
- workdir=$(mktemp -d)
342
- echo ${workdir}
343
-
344
- create_maven_settings
345
-
346
- if ${is_signed}; then
347
- # This currently only works with Maven Central
348
- sign_artifacts
349
- fi
350
-
351
- if ${is_central}; then
352
- deploy_central
353
- else
354
- deploy_non_central
355
- fi
356
-
357
- echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
358
- echo "✅ All Done!"
359
- }
360
-
361
- main "$@"; exit
1
+ #!/usr/bin/env node
2
+ require('../lib/bin/publib-maven.js');
@@ -15,15 +15,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.main = void 0;
36
+ exports.main = main;
27
37
  /**
28
38
  * Publib CodeArtifact CLI
29
39
  */
@@ -102,14 +112,13 @@ async function main() {
102
112
  requiresArg: true,
103
113
  demandOption: false,
104
114
  }), async (args) => {
105
- var _a;
106
115
  const cli = new codeartifact_cli_1.CodeArtifactCli({
107
116
  assumeRoleArn: args['assume-role-arn'],
108
117
  });
109
118
  const repo = await cli.login(args.repo);
110
119
  const defaultShell = process.platform === 'win32' ? 'cmd' : 'bash';
111
120
  (0, display_1.header)(`Shell activated for ${repo.repositoryName}`);
112
- await cli.runInteractively((_a = process.env.SHELL) !== null && _a !== void 0 ? _a : defaultShell);
121
+ await cli.runInteractively(process.env.SHELL ?? defaultShell);
113
122
  })
114
123
  .command('publish <DIRECTORY>', 'Publish a given directory', cmd => cmd
115
124
  .positional('DIRECTORY', {
@@ -145,10 +154,9 @@ async function main() {
145
154
  .showHelpOnFail(false)
146
155
  .parse();
147
156
  }
148
- exports.main = main;
149
157
  main().catch(e => {
150
158
  // eslint-disable-next-line no-console
151
159
  console.error(e);
152
160
  process.exitCode = 1;
153
161
  });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGliLWNhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9wdWJsaWItY2EudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILCtCQUErQjtBQUMvQiw2Q0FBK0I7QUFDL0IsdUVBQW1FO0FBQ25FLHFEQUFpRDtBQUUxQyxLQUFLLFVBQVUsSUFBSTtJQUN4QixNQUFNLEtBQUs7U0FDUixLQUFLLENBQUMsY0FBYyxDQUFDO1NBQ3JCLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRTtRQUN6QixXQUFXLEVBQUUsZ0RBQWdEO1FBQzdELEtBQUssRUFBRSxHQUFHO1FBQ1YsV0FBVyxFQUFFLElBQUk7UUFDakIsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDO1NBQ0QsT0FBTyxDQUFDLFFBQVEsRUFBRSwyREFBMkQsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUc7U0FDdkYsTUFBTSxDQUFDLElBQUksRUFBRTtRQUNaLFdBQVcsRUFBRSxrQ0FBa0M7UUFDL0MsSUFBSSxFQUFFLFNBQVM7UUFDZixPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUM7U0FDRCxNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2YsV0FBVyxFQUFFLHNEQUFzRDtRQUNuRSxJQUFJLEVBQUUsU0FBUztRQUNmLE9BQU8sRUFBRSxJQUFJO0tBQ2QsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUVuQixNQUFNLEdBQUcsR0FBRyxJQUFJLGtDQUFlLENBQUM7WUFDOUIsYUFBYSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztTQUN2QyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDWCxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUNoQjtRQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BDLE9BQU8s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QUFDLENBQUMsQ0FBQyxFQUFFO0lBQ2Ysc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFB1YmxpYiBDb2RlQXJ0aWZhY3QgQ0xJXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCB7IENvZGVBcnRpZmFjdENsaSB9IGZyb20gJy4uL2NvZGVhcnRpZmFjdC9jb2RlYXJ0aWZhY3QtY2xpJztcbmltcG9ydCB7IGhlYWRlciB9IGZyb20gJy4uL2NvZGVhcnRpZmFjdC9kaXNwbGF5JztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGF3YWl0IHlhcmdzXG4gICAgLnVzYWdlKCckMCA8Y29tbWFuZD4nKVxuICAgIC5vcHRpb24oJ2Fzc3VtZS1yb2xlLWFybicsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUm9sZSB0byBhc3N1bWUgYmVmb3JlIGRvaW5nIENvZGVBcnRpZmFjdCBjYWxscycsXG4gICAgICBhbGlhczogJ2EnLFxuICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9KVxuICAgIC5jb21tYW5kKCdjcmVhdGUnLCAnQ3JlYXRlIGEgdGVtcG9yYXJ5IENvZGVBcnRpZmFjdCByZXBvc2l0b3J5IHdpdGggdXBzdHJlYW1zJywgY21kID0+IGNtZFxuICAgICAgLm9wdGlvbignZ2MnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnR2FyYmFnZSBjb2xsZWN0IG9sZCByZXBvc2l0b3JpZXMnLFxuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbignbG9naW4nLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQXV0b21hdGljYWxseSBsb2cgaW4gdG8gdGhlIG5ld2x5IGNyZWF0ZWQgcmVwb3NpdG9yeScsXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgIH0pLCBhc3luYyAoYXJncykgPT4ge1xuXG4gICAgICBjb25zdCBjbGkgPSBuZXcgQ29kZUFydGlmYWN0Q2xpKHtcbiAgICAgICAgYXNzdW1lUm9sZUFybjogYXJnc1snYXNzdW1lLXJvbGUtYXJuJ10sXG4gICAgICB9KTtcblxuICAgICAgaWYgKGFyZ3MuZ2MpIHtcbiAgICAgICAgYXdhaXQgY2xpLmdjKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlcG9OYW1lID0gYXdhaXQgY2xpLmNyZWF0ZSgpO1xuICAgICAgY29uc29sZS5sb2cocmVwb05hbWUpO1xuXG4gICAgICBpZiAoYXJncy5sb2dpbikge1xuICAgICAgICBhd2FpdCBjbGkubG9naW4ocmVwb05hbWUpO1xuICAgICAgICBjbGkudXNhZ2VEaXIuYWR2ZXJ0aXNlKCk7XG4gICAgICB9XG4gICAgfSlcbiAgICAuY29tbWFuZCgnZ2MnLCAnQ2xlYW4gdXAgZGF5LW9sZCB0ZXN0aW5nIHJlcG9zaXRvcmllcycsIGNtZCA9PiBjbWQsIGFzeW5jIChhcmdzKSA9PiB7XG4gICAgICBjb25zdCBjbGkgPSBuZXcgQ29kZUFydGlmYWN0Q2xpKHtcbiAgICAgICAgYXNzdW1lUm9sZUFybjogYXJnc1snYXNzdW1lLXJvbGUtYXJuJ10sXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IGNsaS5nYygpO1xuICAgIH0pXG4gICAgLmNvbW1hbmQoJ2xvZ2luJywgJ0xvZ2luIHRvIGEgZ2l2ZW4gcmVwb3NpdG9yeScsIGNtZCA9PiBjbWRcbiAgICAgIC5vcHRpb24oJ3JlcG8nLCB7XG4gICAgICAgIGFsaWFzOiAncicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgcmVwb3NpdG9yeSB0byBsb2cgaW4gdG8nLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbignY21kJywge1xuICAgICAgICBhbGlhczogJ2MnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1J1biBhIGNvbW1hbmQgaW4gYSBzaGVsbCBzZXQgdXAgZm9yIHRoZSB0YXJnZXQgcmVwb3NpdG9yeScsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgIH0pLCBhc3luYyAoYXJncykgPT4ge1xuXG4gICAgICBjb25zdCBjbGkgPSBuZXcgQ29kZUFydGlmYWN0Q2xpKHtcbiAgICAgICAgYXNzdW1lUm9sZUFybjogYXJnc1snYXNzdW1lLXJvbGUtYXJuJ10sXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IGNsaS5sb2dpbihhcmdzLnJlcG8pO1xuXG4gICAgICBpZiAoYXJncy5jbWQpIHtcbiAgICAgICAgYXdhaXQgY2xpLnJ1bkNvbW1hbmQoYXJncy5jbWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xpLnVzYWdlRGlyLmFkdmVydGlzZSgpO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmNvbW1hbmQoJ3NoZWxsJywgJ1N0YXJ0IGEgc3Vic2hlbGwgd2l0aCB0aGUgcmVwb3NpdG9yeSBhY3RpdmF0ZWQnLCBjbWQgPT4gY21kXG4gICAgICAub3B0aW9uKCdyZXBvJywge1xuICAgICAgICBhbGlhczogJ3InLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIHJlcG9zaXRvcnkgdG8gbG9nIGluIHRvJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgICAgICBkZW1hbmRPcHRpb246IGZhbHNlLFxuICAgICAgfSksIGFzeW5jIChhcmdzKSA9PiB7XG4gICAgICBjb25zdCBjbGkgPSBuZXcgQ29kZUFydGlmYWN0Q2xpKHtcbiAgICAgICAgYXNzdW1lUm9sZUFybjogYXJnc1snYXNzdW1lLXJvbGUtYXJuJ10sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHJlcG8gPSBhd2FpdCBjbGkubG9naW4oYXJncy5yZXBvKTtcblxuICAgICAgY29uc3QgZGVmYXVsdFNoZWxsID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJyA/ICdjbWQnIDogJ2Jhc2gnO1xuXG4gICAgICBoZWFkZXIoYFNoZWxsIGFjdGl2YXRlZCBmb3IgJHtyZXBvLnJlcG9zaXRvcnlOYW1lfWApO1xuICAgICAgYXdhaXQgY2xpLnJ1bkludGVyYWN0aXZlbHkocHJvY2Vzcy5lbnYuU0hFTEwgPz8gZGVmYXVsdFNoZWxsKTtcbiAgICB9KVxuICAgIC5jb21tYW5kKCdwdWJsaXNoIDxESVJFQ1RPUlk+JywgJ1B1Ymxpc2ggYSBnaXZlbiBkaXJlY3RvcnknLCBjbWQgPT4gY21kXG4gICAgICAucG9zaXRpb25hbCgnRElSRUNUT1JZJywge1xuICAgICAgICBkZXNjcmlwdG9uOiAnRGlyZWN0b3J5IGRpc3RyaWJ1dGlvbicsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZW1hbmRPcHRpb246IHRydWUsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbigncmVwbycsIHtcbiAgICAgICAgYWxpYXM6ICdyJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSByZXBvc2l0b3J5IHRvIGNyZWF0ZSAoZGVmYXVsdDogZ2VuZXJhdGUgdW5pcXVlIG5hbWUpJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgICAgfSksIGFzeW5jIChhcmdzKSA9PiB7XG5cbiAgICAgIGNvbnN0IGNsaSA9IG5ldyBDb2RlQXJ0aWZhY3RDbGkoe1xuICAgICAgICBhc3N1bWVSb2xlQXJuOiBhcmdzWydhc3N1bWUtcm9sZS1hcm4nXSxcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgY2xpLnB1Ymxpc2goYXJncy5ESVJFQ1RPUlksIGFyZ3MucmVwbyk7XG4gICAgfSlcbiAgICAuY29tbWFuZCgnZGVsZXRlJywgJ0RlbGV0ZSB0ZXN0aW5nIHJlcG9zaXRvcnknLCBjbWQgPT4gY21kXG4gICAgICAub3B0aW9uKCdyZXBvJywge1xuICAgICAgICBhbGlhczogJ3InLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIHJlcG9zaXRvcnkgdG8gY2xlYW51cCAoZGVmYXVsdDogbW9zdCByZWNlbnRseSBsb2dnZWQgaW4gdG8pJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgICAgfSksIGFzeW5jIChhcmdzKSA9PiB7XG5cbiAgICAgIGNvbnN0IGNsaSA9IG5ldyBDb2RlQXJ0aWZhY3RDbGkoe1xuICAgICAgICBhc3N1bWVSb2xlQXJuOiBhcmdzWydhc3N1bWUtcm9sZS1hcm4nXSxcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgY2xpLmRlbGV0ZShhcmdzLnJlcG8pO1xuICAgIH0pXG4gICAgLmRlbWFuZENvbW1hbmQoMSwgJ1lvdSBtdXN0IHN1cHBseSBhIGNvbW1hbmQnKVxuICAgIC5oZWxwKClcbiAgICAuc2hvd0hlbHBPbkZhaWwoZmFsc2UpXG4gICAgLnBhcnNlKCk7XG59XG5cbm1haW4oKS5jYXRjaChlID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG59KTtcbiJdfQ==
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGliLWNhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9wdWJsaWItY2EudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxvQkF5SEM7QUFqSUQ7O0dBRUc7QUFDSCwrQkFBK0I7QUFDL0IsNkNBQStCO0FBQy9CLHVFQUFtRTtBQUNuRSxxREFBaUQ7QUFFMUMsS0FBSyxVQUFVLElBQUk7SUFDeEIsTUFBTSxLQUFLO1NBQ1IsS0FBSyxDQUFDLGNBQWMsQ0FBQztTQUNyQixNQUFNLENBQUMsaUJBQWlCLEVBQUU7UUFDekIsV0FBVyxFQUFFLGdEQUFnRDtRQUM3RCxLQUFLLEVBQUUsR0FBRztRQUNWLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLElBQUksRUFBRSxRQUFRO0tBQ2YsQ0FBQztTQUNELE9BQU8sQ0FBQyxRQUFRLEVBQUUsMkRBQTJELEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHO1NBQ3ZGLE1BQU0sQ0FBQyxJQUFJLEVBQUU7UUFDWixXQUFXLEVBQUUsa0NBQWtDO1FBQy9DLElBQUksRUFBRSxTQUFTO1FBQ2YsT0FBTyxFQUFFLElBQUk7S0FDZCxDQUFDO1NBQ0QsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUNmLFdBQVcsRUFBRSxzREFBc0Q7UUFDbkUsSUFBSSxFQUFFLFNBQVM7UUFDZixPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFFbkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxrQ0FBZSxDQUFDO1lBQzlCLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUM7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDWixNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFH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LENBQUM7QUFDYixDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQ2Ysc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFB1YmxpYiBDb2RlQXJ0aWZhY3QgQ0xJXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCB7IENvZGVBcnRpZmFjdENsaSB9IGZyb20gJy4uL2NvZGVhcnRpZmFjdC9jb2RlYXJ0aWZhY3QtY2xpJztcbmltcG9ydCB7IGhlYWRlciB9IGZyb20gJy4uL2NvZGVhcnRpZmFjdC9kaXNwbGF5JztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGF3YWl0IHlhcmdzXG4gICAgLnVzYWdlKCckMCA8Y29tbWFuZD4nKVxuICAgIC5vcHRpb24oJ2Fzc3VtZS1yb2xlLWFybicsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUm9sZSB0byBhc3N1bWUgYmVmb3JlIGRvaW5nIENvZGVBcnRpZmFjdCBjYWxscycsXG4gICAgICBhbGlhczogJ2EnLFxuICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9KVxuICAgIC5jb21tYW5kKCdjcmVhdGUnLCAnQ3JlYXRlIGEgdGVtcG9yYXJ5IENvZGVBcnRpZmFjdCByZXBvc2l0b3J5IHdpdGggdXBzdHJlYW1zJywgY21kID0+IGNtZFxuICAgICAgLm9wdGlvbignZ2MnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnR2FyYmFnZSBjb2xsZWN0IG9sZCByZXBvc2l0b3JpZXMnLFxuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbignbG9naW4nLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQXV0b21hdGljYWxseSBsb2cgaW4gdG8gdGhlIG5ld2x5IGNyZWF0ZWQgcmVwb3NpdG9yeScsXG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgIH0pLCBhc3luYyAoYXJncykgPT4ge1xuXG4gICAgICBjb25zdCBjbGkgPSBuZXcgQ29kZUFydGlmYWN0Q2xpKHtcbiAgICAgICAgYXNzdW1lUm9sZUFybjogYXJnc1snYXNzdW1lLXJvbGUtYXJuJ10sXG4gICAgICB9KTtcblxuICAgICAgaWYgKGFyZ3MuZ2MpIHtcbiAgICAgICAgYXdhaXQgY2xpLmdjKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlcG9OYW1lID0gYXdhaXQgY2xpLmNyZWF0ZSgpO1xuICAgICAgY29uc29sZS5sb2cocmVwb05hbWUpO1xuXG4gICAgICBpZiAoYXJncy5sb2dpbikge1xuICAgICAgICBhd2FpdCBjbGkubG9naW4ocmVwb05hbWUpO1xuICAgICAgICBjbGkudXNhZ2VEaXIuYWR2ZXJ0aXNlKCk7XG4gICAgICB9XG4gICAgfSlcbiAgICAuY29tbWFuZCgnZ2MnLCAnQ2xlYW4gdXAgZGF5LW9sZCB0ZXN0aW5nIHJlcG9zaXRvcmllcycsIGNtZCA9PiBjbWQsIGFzeW5jIChhcmdzKSA9PiB7XG4gICAgICBjb25zdCBjbGkgPSBuZXcgQ29kZUFydGlmYWN0Q2xpKHtcbiAgICAgICAgYXNzdW1lUm9sZUFybjogYXJnc1snYXNzdW1lLXJvbGUtYXJuJ10sXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IGNsaS5nYygpO1xuICAgIH0pXG4gICAgLmNvbW1hbmQoJ2xvZ2luJywgJ0xvZ2luIHRvIGEgZ2l2ZW4gcmVwb3NpdG9yeScsIGNtZCA9PiBjbWRcbiAgICAgIC5vcHRpb24oJ3JlcG8nLCB7XG4gICAgICAgIGFsaWFzOiAncicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgcmVwb3NpdG9yeSB0byBsb2cgaW4gdG8nLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbignY21kJywge1xuICAgICAgICBhbGlhczogJ2MnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1J1biBhIGNvbW1hbmQgaW4gYSBzaGVsbCBzZXQgdXAgZm9yIHRoZSB0YXJnZXQgcmVwb3NpdG9yeScsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICByZXF1aXJlc0FyZzogdHJ1ZSxcbiAgICAgIH0pLCBhc3luYyAoYXJncykgPT4ge1xuXG4gICAgICBjb25zdCBjbGkgPSBuZXcgQ29kZUFydGlmYWN0Q2xpKHtcbiAgICAgICAgYXNzdW1lUm9sZUFybjogYXJnc1snYXNzdW1lLXJvbGUtYXJuJ10sXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IGNsaS5sb2dpbihhcmdzLnJlcG8pO1xuXG4gICAgICBpZiAoYXJncy5jbWQpIHtcbiAgICAgICAgYXdhaXQgY2xpLnJ1bkNvbW1hbmQoYXJncy5jbWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xpLnVzYWdlRGlyLmFkdmVydGlzZSgpO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmNvbW1hbmQoJ3NoZWxsJywgJ1N0YXJ0IGEgc3Vic2hlbGwgd2l0aCB0aGUgcmVwb3NpdG9yeSBhY3RpdmF0ZWQnLCBjbWQgPT4gY21kXG4gICAgICAub3B0aW9uKCdyZXBvJywge1xuICAgICAgICBhbGlhczogJ3InLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIHJlcG9zaXRvcnkgdG8gbG9nIGluIHRvJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgICAgICBkZW1hbmRPcHRpb246IGZhbHNlLFxuICAgICAgfSksIGFzeW5jIChhcmdzKSA9PiB7XG4gICAgICBjb25zdCBjbGkgPSBuZXcgQ29kZUFydGlmYWN0Q2xpKHtcbiAgICAgICAgYXNzdW1lUm9sZUFybjogYXJnc1snYXNzdW1lLXJvbGUtYXJuJ10sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHJlcG8gPSBhd2FpdCBjbGkubG9naW4oYXJncy5yZXBvKTtcblxuICAgICAgY29uc3QgZGVmYXVsdFNoZWxsID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJyA/ICdjbWQnIDogJ2Jhc2gnO1xuXG4gICAgICBoZWFkZXIoYFNoZWxsIGFjdGl2YXRlZCBmb3IgJHtyZXBvLnJlcG9zaXRvcnlOYW1lfWApO1xuICAgICAgYXdhaXQgY2xpLnJ1bkludGVyYWN0aXZlbHkocHJvY2Vzcy5lbnYuU0hFTEwgPz8gZGVmYXVsdFNoZWxsKTtcbiAgICB9KVxuICAgIC5jb21tYW5kKCdwdWJsaXNoIDxESVJFQ1RPUlk+JywgJ1B1Ymxpc2ggYSBnaXZlbiBkaXJlY3RvcnknLCBjbWQgPT4gY21kXG4gICAgICAucG9zaXRpb25hbCgnRElSRUNUT1JZJywge1xuICAgICAgICBkZXNjcmlwdG9uOiAnRGlyZWN0b3J5IGRpc3RyaWJ1dGlvbicsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZW1hbmRPcHRpb246IHRydWUsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbigncmVwbycsIHtcbiAgICAgICAgYWxpYXM6ICdyJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdOYW1lIG9mIHRoZSByZXBvc2l0b3J5IHRvIGNyZWF0ZSAoZGVmYXVsdDogZ2VuZXJhdGUgdW5pcXVlIG5hbWUpJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgICAgfSksIGFzeW5jIChhcmdzKSA9PiB7XG5cbiAgICAgIGNvbnN0IGNsaSA9IG5ldyBDb2RlQXJ0aWZhY3RDbGkoe1xuICAgICAgICBhc3N1bWVSb2xlQXJuOiBhcmdzWydhc3N1bWUtcm9sZS1hcm4nXSxcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgY2xpLnB1Ymxpc2goYXJncy5ESVJFQ1RPUlksIGFyZ3MucmVwbyk7XG4gICAgfSlcbiAgICAuY29tbWFuZCgnZGVsZXRlJywgJ0RlbGV0ZSB0ZXN0aW5nIHJlcG9zaXRvcnknLCBjbWQgPT4gY21kXG4gICAgICAub3B0aW9uKCdyZXBvJywge1xuICAgICAgICBhbGlhczogJ3InLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIHJlcG9zaXRvcnkgdG8gY2xlYW51cCAoZGVmYXVsdDogbW9zdCByZWNlbnRseSBsb2dnZWQgaW4gdG8pJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIHJlcXVpcmVzQXJnOiB0cnVlLFxuICAgICAgfSksIGFzeW5jIChhcmdzKSA9PiB7XG5cbiAgICAgIGNvbnN0IGNsaSA9IG5ldyBDb2RlQXJ0aWZhY3RDbGkoe1xuICAgICAgICBhc3N1bWVSb2xlQXJuOiBhcmdzWydhc3N1bWUtcm9sZS1hcm4nXSxcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgY2xpLmRlbGV0ZShhcmdzLnJlcG8pO1xuICAgIH0pXG4gICAgLmRlbWFuZENvbW1hbmQoMSwgJ1lvdSBtdXN0IHN1cHBseSBhIGNvbW1hbmQnKVxuICAgIC5oZWxwKClcbiAgICAuc2hvd0hlbHBPbkZhaWwoZmFsc2UpXG4gICAgLnBhcnNlKCk7XG59XG5cbm1haW4oKS5jYXRjaChlID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5lcnJvcihlKTtcbiAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG59KTtcbiJdfQ==
@@ -16,23 +16,32 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
16
16
  }) : function(o, v) {
17
17
  o["default"] = v;
18
18
  });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
- var _a;
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
27
36
  Object.defineProperty(exports, "__esModule", { value: true });
28
37
  const go = __importStar(require("../targets/go"));
29
38
  const releaser = new go.GoReleaser({
30
39
  dir: process.argv[2],
31
40
  branch: process.env.GIT_BRANCH,
32
- dryRun: ((_a = process.env.DRYRUN) !== null && _a !== void 0 ? _a : 'false').toLowerCase() === 'true',
41
+ dryRun: (process.env.DRYRUN ?? 'false').toLowerCase() === 'true',
33
42
  email: process.env.GIT_USER_EMAIL,
34
43
  username: process.env.GIT_USER_NAME,
35
44
  version: process.env.VERSION,
36
45
  });
37
46
  releaser.release();
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGliLWdvbGFuZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vcHVibGliLWdvbGFuZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxrREFBb0M7QUFFcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ2pDLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwQixNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVO0lBQzlCLE1BQU0sRUFBRSxDQUFDLE1BQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLG1DQUFJLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU07SUFDaEUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYztJQUNqQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhO0lBQ25DLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU87Q0FDN0IsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0ICogYXMgZ28gZnJvbSAnLi4vdGFyZ2V0cy9nbyc7XG5cbmNvbnN0IHJlbGVhc2VyID0gbmV3IGdvLkdvUmVsZWFzZXIoe1xuICBkaXI6IHByb2Nlc3MuYXJndlsyXSxcbiAgYnJhbmNoOiBwcm9jZXNzLmVudi5HSVRfQlJBTkNILFxuICBkcnlSdW46IChwcm9jZXNzLmVudi5EUllSVU4gPz8gJ2ZhbHNlJykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnLFxuICBlbWFpbDogcHJvY2Vzcy5lbnYuR0lUX1VTRVJfRU1BSUwsXG4gIHVzZXJuYW1lOiBwcm9jZXNzLmVudi5HSVRfVVNFUl9OQU1FLFxuICB2ZXJzaW9uOiBwcm9jZXNzLmVudi5WRVJTSU9OLFxufSk7XG5cbnJlbGVhc2VyLnJlbGVhc2UoKTsiXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGliLWdvbGFuZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vcHVibGliLWdvbGFuZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxrREFBb0M7QUFFcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ2pDLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwQixNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVO0lBQzlCLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU07SUFDaEUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYztJQUNqQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhO0lBQ25DLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU87Q0FDN0IsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0ICogYXMgZ28gZnJvbSAnLi4vdGFyZ2V0cy9nbyc7XG5cbmNvbnN0IHJlbGVhc2VyID0gbmV3IGdvLkdvUmVsZWFzZXIoe1xuICBkaXI6IHByb2Nlc3MuYXJndlsyXSxcbiAgYnJhbmNoOiBwcm9jZXNzLmVudi5HSVRfQlJBTkNILFxuICBkcnlSdW46IChwcm9jZXNzLmVudi5EUllSVU4gPz8gJ2ZhbHNlJykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnLFxuICBlbWFpbDogcHJvY2Vzcy5lbnYuR0lUX1VTRVJfRU1BSUwsXG4gIHVzZXJuYW1lOiBwcm9jZXNzLmVudi5HSVRfVVNFUl9OQU1FLFxuICB2ZXJzaW9uOiBwcm9jZXNzLmVudi5WRVJTSU9OLFxufSk7XG5cbnJlbGVhc2VyLnJlbGVhc2UoKTsiXX0=
@@ -0,0 +1,10 @@
1
+ /**
2
+ * A temporary directory that cleans when it goes out of scope
3
+ *
4
+ * Use with `using`. Could have been async but it's depending
5
+ * on an already-sync API, so why not sync?
6
+ */
7
+ export declare function autoCleanDir(): {
8
+ dir: string;
9
+ [Symbol.asyncDispose]: () => Promise<void>;
10
+ };