Skip to content

Commit 036642c

Browse files
authored
feat: add release and dist to sourcemaps upload command (#333)
* Add release and dist to sourcemaps upload * Update CHANGELOG * Update sentry_dart_plugin.dart * Fix test
1 parent 27698aa commit 036642c

File tree

3 files changed

+33
-18
lines changed

3 files changed

+33
-18
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
## Unreleased
44

5+
### Features
6+
7+
- Add release and dist to sourcemaps upload command ([#333](https://github.com/getsentry/sentry-dart-plugin/pull/333))
8+
- This enables the uploaded bundle to be associated with the release for informational purposes
9+
510
### Fixes
611

712
- Should not exit program when web build path is not found ([#337](https://github.com/getsentry/sentry-dart-plugin/pull/337))

lib/sentry_dart_plugin.dart

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,15 @@ class SentryDartPlugin {
3737
}
3838

3939
final release = _release;
40+
final dist = _dist;
4041

4142
await _executeNewRelease(release);
4243

4344
if (_configuration.uploadSourceMaps) {
4445
if (_configuration.legacyWebSymbolication) {
45-
await _executeCliForLegacySourceMaps(release);
46+
await _executeCliForLegacySourceMaps(release: release, dist: dist);
4647
} else {
47-
await _executeCliForSourceMaps(release);
48+
await _executeCliForSourceMaps(release: release, dist: dist);
4849
}
4950
} else {
5051
Log.info('uploadSourceMaps is disabled.');
@@ -169,9 +170,9 @@ class SentryDartPlugin {
169170
return result;
170171
}
171172

172-
List<String> _baseCliParams({bool includeRelease = false}) {
173+
List<String> _baseCliParams({bool addReleases = false}) {
173174
final params = <String>[];
174-
if (includeRelease) {
175+
if (addReleases) {
175176
params.add('releases');
176177
}
177178
_addOrgAndProject(params);
@@ -181,7 +182,7 @@ class SentryDartPlugin {
181182
List<String> _releasesCliParams() {
182183
final params = <String>[];
183184
_setUrlAndTokenAndLog(params);
184-
params.addAll(_baseCliParams(includeRelease: true));
185+
params.addAll(_baseCliParams(addReleases: true));
185186
return params;
186187
}
187188

@@ -279,12 +280,19 @@ class SentryDartPlugin {
279280
return await _executeAndLog('Failed to inject debug ids', params);
280281
}
281282

282-
Future<void> _uploadSourceMaps() async {
283+
Future<void> _uploadSourceMaps(
284+
{required String release, required String? dist}) async {
283285
List<String> params = [];
284286

285287
_setUrlAndTokenAndLog(params);
286288
params.add('sourcemaps');
287289
params.add('upload');
290+
params.add('--release');
291+
params.add(release);
292+
if (dist != null) {
293+
params.add('--dist');
294+
params.add(dist);
295+
}
288296
_addWait(params);
289297
_addUrlPrefix(params);
290298
params.add(_configuration.webBuildFilesFolder);
@@ -378,7 +386,8 @@ class SentryDartPlugin {
378386
];
379387
}
380388

381-
Future<void> _executeCliForLegacySourceMaps(String release) async {
389+
Future<void> _executeCliForLegacySourceMaps(
390+
{required String release, required String? dist}) async {
382391
void addExtensionToParams(List<String> exts, List<String> params,
383392
String release, String folder, String? urlPrefix) {
384393
params.add('files');
@@ -455,13 +464,14 @@ class SentryDartPlugin {
455464
Log.taskCompleted(taskName);
456465
}
457466

458-
Future<void> _executeCliForSourceMaps(String release) async {
467+
Future<void> _executeCliForSourceMaps(
468+
{required String release, required String? dist}) async {
459469
const taskName = 'uploading source maps';
460470
Log.startingTask(taskName);
461471

462472
final debugIdInjectionSucceeded = await _injectDebugIds();
463473
if (debugIdInjectionSucceeded) {
464-
await _uploadSourceMaps();
474+
await _uploadSourceMaps(release: release, dist: dist);
465475
} else {
466476
Log.warn('Skipping source maps upload. Could not inject debug ids.');
467477
}

test/plugin_test.dart

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ void main() {
103103
'$cli $args debug-files upload $orgAndProject --include-sources $buildDir/app/outputs',
104104
'$cli $args releases $orgAndProject new $release',
105105
'$cli sourcemaps inject $buildDir/web/file.js $orgAndProject',
106-
'$cli $args sourcemaps upload $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ ./ --ext dart $orgAndProject',
106+
'$cli $args sourcemaps upload --release $release $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ ./ --ext dart $orgAndProject',
107107
'$cli $args releases $orgAndProject set-commits $release --auto --ignore-missing',
108108
'$cli $args releases $orgAndProject finalize $release'
109109
]);
@@ -232,7 +232,7 @@ void main() {
232232
expect(commandLog, [
233233
'$cli $args releases $orgAndProject new $release',
234234
'$cli sourcemaps inject build/web/file.js $orgAndProject',
235-
'$cli $args sourcemaps upload $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
235+
'$cli $args sourcemaps upload --release $release $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
236236
'$cli $args releases $orgAndProject set-commits $release --auto',
237237
'$cli $args releases $orgAndProject finalize $release'
238238
]);
@@ -253,7 +253,7 @@ void main() {
253253
expect(commandLog, [
254254
'$cli $args releases $orgAndProject new $configRelease',
255255
'$cli sourcemaps inject build/web/file.js $orgAndProject',
256-
'$cli $args sourcemaps upload $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
256+
'$cli $args sourcemaps upload --release $configRelease $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
257257
'$cli $args releases $orgAndProject set-commits $configRelease --auto',
258258
'$cli $args releases $orgAndProject finalize $configRelease'
259259
]);
@@ -276,7 +276,7 @@ void main() {
276276
expect(commandLog, [
277277
'$cli $args releases $orgAndProject new $release',
278278
'$cli sourcemaps inject build/web/file.js $orgAndProject',
279-
'$cli $args sourcemaps upload $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
279+
'$cli $args sourcemaps upload --release $release --dist $build $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
280280
'$cli $args releases $orgAndProject set-commits $release --auto',
281281
'$cli $args releases $orgAndProject finalize $release'
282282
]);
@@ -298,7 +298,7 @@ void main() {
298298
expect(commandLog, [
299299
'$cli $args releases $orgAndProject new $configRelease',
300300
'$cli sourcemaps inject build/web/file.js $orgAndProject',
301-
'$cli $args sourcemaps upload $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
301+
'$cli $args sourcemaps upload --release $configRelease $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
302302
'$cli $args releases $orgAndProject set-commits $configRelease --auto',
303303
'$cli $args releases $orgAndProject finalize $configRelease'
304304
]);
@@ -320,7 +320,7 @@ void main() {
320320
expect(commandLog, [
321321
'$cli $args releases $orgAndProject new $release',
322322
'$cli sourcemaps inject build/web/file.js $orgAndProject',
323-
'$cli $args sourcemaps upload $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
323+
'$cli $args sourcemaps upload --release $release --dist $configDist $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
324324
'$cli $args releases $orgAndProject set-commits $release --auto',
325325
'$cli $args releases $orgAndProject finalize $release'
326326
]);
@@ -345,7 +345,7 @@ void main() {
345345
expect(commandLog, [
346346
'$cli $args releases $orgAndProject new $release',
347347
'$cli sourcemaps inject build/web/file.js $orgAndProject',
348-
'$cli $args sourcemaps upload $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
348+
'$cli $args sourcemaps upload --release $release --dist $configDist $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
349349
'$cli $args releases $orgAndProject set-commits $release --auto',
350350
'$cli $args releases $orgAndProject finalize $release'
351351
]);
@@ -368,7 +368,7 @@ void main() {
368368
expect(commandLog, [
369369
'$cli $args releases $orgAndProject new $configRelease',
370370
'$cli sourcemaps inject build/web/file.js $orgAndProject',
371-
'$cli $args sourcemaps upload $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
371+
'$cli $args sourcemaps upload --release $configRelease --dist $configDist $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
372372
'$cli $args releases $orgAndProject set-commits $configRelease --auto',
373373
'$cli $args releases $orgAndProject finalize $configRelease'
374374
]);
@@ -396,7 +396,7 @@ void main() {
396396
expect(commandLog, [
397397
'$cli $args releases $orgAndProject new $configRelease',
398398
'$cli sourcemaps inject build/web/file.js $orgAndProject',
399-
'$cli $args sourcemaps upload --url-prefix ~/app/ $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
399+
'$cli $args sourcemaps upload --release $configRelease --dist $configDist --url-prefix ~/app/ $buildDir/web --ext js --ext map --strip-prefix ../../Documents --strip-prefix ../../../../ --strip-prefix ../../ --strip-prefix ../ $orgAndProject',
400400
'$cli $args releases $orgAndProject set-commits $configRelease --auto',
401401
'$cli $args releases $orgAndProject finalize $configRelease'
402402
]);

0 commit comments

Comments
 (0)