Skip to content

Commit 0d2d477

Browse files
committed
Implement the skipArchiveExport in the post-package-update triggers.
1 parent fe2dee1 commit 0d2d477

File tree

4 files changed

+28
-22
lines changed

4 files changed

+28
-22
lines changed

app/lib/admin/actions/package_publisher_set.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ final packagePublisherSet = AdminAction(
4848
triggerPackagePostUpdates(
4949
packageName,
5050
skipReanalysis: true,
51-
skipVersionsExport: true,
51+
skipArchiveExport: true,
5252
);
5353
if (currentPublisherId != null) {
5454
await purgePublisherCache(publisherId: currentPublisherId);

app/lib/admin/actions/publisher_package_remove.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ If the publisher has no members, the package will end up without uploaders.
6363
triggerPackagePostUpdates(
6464
packageName,
6565
skipReanalysis: true,
66-
skipVersionsExport: true,
66+
skipArchiveExport: true,
6767
);
6868
await purgePublisherCache(publisherId: currentPublisherId);
6969
return {

app/lib/package/api_export/api_exporter.dart

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,14 @@ final class ApiExporter {
203203
///
204204
/// When [forceDelete] is set, the age threshold limit for stray files is
205205
/// ignored, they will be deleted even if they were updated recently.
206+
///
207+
/// When [skipArchives] is set, skip the archive-related exports
208+
/// (e.g. public or canonical buckets).
206209
Future<void> synchronizePackage(
207210
String package, {
208211
bool forceWrite = false,
209212
bool forceDelete = false,
213+
bool skipArchives = false,
210214
}) async {
211215
_log.info('synchronizePackage("$package")');
212216

@@ -229,21 +233,25 @@ final class ApiExporter {
229233
skipCache: true, // Skipping the cache when fetching security advisories
230234
);
231235

232-
final versions = await packageBackend.tarballStorage
233-
.listVersionsInCanonicalBucket(package);
236+
if (!skipArchives) {
237+
final versions = await packageBackend.tarballStorage
238+
.listVersionsInCanonicalBucket(package);
234239

235-
// Remove versions that are not exposed in the public API.
236-
versions.removeWhere(
237-
(version, _) => !versionListing.versions.any((v) => v.version == version),
238-
);
240+
// Remove versions that are not exposed in the public API.
241+
versions.removeWhere(
242+
(version, _) =>
243+
!versionListing.versions.any((v) => v.version == version),
244+
);
245+
246+
await _api
247+
.package(package)
248+
.synchronizeTarballs(
249+
versions,
250+
forceWrite: forceWrite,
251+
forceDelete: forceDelete,
252+
);
253+
}
239254

240-
await _api
241-
.package(package)
242-
.synchronizeTarballs(
243-
versions,
244-
forceWrite: forceWrite,
245-
forceDelete: forceDelete,
246-
);
247255
await _api
248256
.package(package)
249257
.advisories

app/lib/package/backend.dart

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ class PackageBackend {
567567
),
568568
);
569569
});
570-
triggerPackagePostUpdates(package, skipVersionsExport: true);
570+
triggerPackagePostUpdates(package, skipArchiveExport: true);
571571
}
572572

573573
/// Updates [options] on [package]/[version], assuming the current user
@@ -929,7 +929,7 @@ class PackageBackend {
929929
triggerPackagePostUpdates(
930930
packageName,
931931
skipReanalysis: true,
932-
skipVersionsExport: true,
932+
skipArchiveExport: true,
933933
);
934934
return rs;
935935
}
@@ -2446,10 +2446,8 @@ class _VersionTransactionDataAcccess {
24462446
/// Skip triggering a new export to the CDN bucket.
24472447
bool skipExport = false,
24482448

2449-
/// Skip only the version-related exports to the CDN bucket, keeps the
2450-
/// package-related operations.
2451-
/// TODO: implement this in API exporter.
2452-
bool skipVersionsExport = false,
2449+
/// Skip only the archive-related exports to the CDN bucket.
2450+
bool skipArchiveExport = false,
24532451

24542452
/// Pass the force-deletion flag to the package export operation.
24552453
bool exportForceDelete = false,
@@ -2476,7 +2474,7 @@ class _VersionTransactionDataAcccess {
24762474
() => apiExporter.synchronizePackage(
24772475
package,
24782476
forceDelete: exportForceDelete,
2479-
// TODO: implement and use [skipVersionsExport]
2477+
skipArchives: skipArchiveExport,
24802478
),
24812479
),
24822480
];

0 commit comments

Comments
 (0)