Skip to content

Commit 2659f3c

Browse files
Merge pull request #3351 from SwiftPackageIndex/issue-3349
Issue 3349
2 parents 77c6988 + a63a26c commit 2659f3c

18 files changed

+52
-63
lines changed

FrontEnd/scripts/controllers/use_this_package_panel_controller.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ export class UseThisPackagePanelController extends Controller {
2626
const optionElement = selectElement.options[selectElement.selectedIndex]
2727
const packageName = optionElement.dataset.package
2828
const productName = optionElement.dataset.product
29-
this.snippetTarget.value = `.product(name: "${productName}", package: "${packageName}")`
29+
const type = optionElement.dataset.type
30+
const prefix = type == 'plugin' ? '.plugin' : '.product'
31+
this.snippetTarget.value = `${prefix}(name: "${productName}", package: "${packageName}")`
3032
}
3133
}

Sources/App/Controllers/API/API+PackageController+GetRoute+Model.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ extension API.PackageController.GetRoute.Model {
230230
self.type = type
231231
}
232232

233-
enum ProductType: Codable, Equatable {
233+
enum ProductType: String, Codable, Equatable {
234234
case library
235235
case executable
236236
case plugin

Sources/App/Views/PackageController/GetRoute.Model+ext.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -415,10 +415,12 @@ extension API.PackageController.GetRoute.Model {
415415
.data(named: "action", value: "input->use-this-package-panel#updateProductSnippet"),
416416
.attribute(named: "name", value: "products"),
417417
.id("products"),
418-
.forEach(products, { product in
418+
// Filter out products of type `executable` until we add support for them.
419+
.forEach(products.filter({ $0.type != .executable }), { product in
419420
.option(
420421
.data(named: "package", value: package),
421422
.data(named: "product", value: product.name),
423+
.data(named: "type", value: product.type.rawValue),
422424
.value(product.name),
423425
.label(product.name)
424426
)

Tests/AppTests/__Snapshots__/WebpageSnapshotTests/test_PackageShowView.1.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,9 @@ <h4>When working with a Swift Package Manager manifest:</h4>
134134
<p>
135135
<label for="products">Select a product:</label>
136136
<select data-use-this-package-panel-target="select" data-action="input->use-this-package-panel#updateProductSnippet" name="products" id="products">
137-
<option data-package="swift-alamofire" data-product="lib1" value="lib1" label="lib1"/>
138-
<option data-package="swift-alamofire" data-product="lib2" value="lib2" label="lib2"/>
139-
<option data-package="swift-alamofire" data-product="exe" value="exe" label="exe"/>
140-
<option data-package="swift-alamofire" data-product="lib3" value="lib3" label="lib3"/>
137+
<option data-package="swift-alamofire" data-product="lib1" data-type="library" value="lib1" label="lib1"/>
138+
<option data-package="swift-alamofire" data-product="lib2" data-type="library" value="lib2" label="lib2"/>
139+
<option data-package="swift-alamofire" data-product="lib3" data-type="library" value="lib3" label="lib3"/>
141140
</select>
142141
</p>
143142
<form class="copyable-input">

Tests/AppTests/__Snapshots__/WebpageSnapshotTests/test_PackageShowView_app_store_incompatible_license.1.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,9 @@ <h4>When working with a Swift Package Manager manifest:</h4>
134134
<p>
135135
<label for="products">Select a product:</label>
136136
<select data-use-this-package-panel-target="select" data-action="input->use-this-package-panel#updateProductSnippet" name="products" id="products">
137-
<option data-package="swift-alamofire" data-product="lib1" value="lib1" label="lib1"/>
138-
<option data-package="swift-alamofire" data-product="lib2" value="lib2" label="lib2"/>
139-
<option data-package="swift-alamofire" data-product="exe" value="exe" label="exe"/>
140-
<option data-package="swift-alamofire" data-product="lib3" value="lib3" label="lib3"/>
137+
<option data-package="swift-alamofire" data-product="lib1" data-type="library" value="lib1" label="lib1"/>
138+
<option data-package="swift-alamofire" data-product="lib2" data-type="library" value="lib2" label="lib2"/>
139+
<option data-package="swift-alamofire" data-product="lib3" data-type="library" value="lib3" label="lib3"/>
141140
</select>
142141
</p>
143142
<form class="copyable-input">

Tests/AppTests/__Snapshots__/WebpageSnapshotTests/test_PackageShowView_binary_targets.1.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,9 @@ <h4>When working with a Swift Package Manager manifest:</h4>
134134
<p>
135135
<label for="products">Select a product:</label>
136136
<select data-use-this-package-panel-target="select" data-action="input->use-this-package-panel#updateProductSnippet" name="products" id="products">
137-
<option data-package="swift-alamofire" data-product="lib1" value="lib1" label="lib1"/>
138-
<option data-package="swift-alamofire" data-product="lib2" value="lib2" label="lib2"/>
139-
<option data-package="swift-alamofire" data-product="exe" value="exe" label="exe"/>
140-
<option data-package="swift-alamofire" data-product="lib3" value="lib3" label="lib3"/>
137+
<option data-package="swift-alamofire" data-product="lib1" data-type="library" value="lib1" label="lib1"/>
138+
<option data-package="swift-alamofire" data-product="lib2" data-type="library" value="lib2" label="lib2"/>
139+
<option data-package="swift-alamofire" data-product="lib3" data-type="library" value="lib3" label="lib3"/>
141140
</select>
142141
</p>
143142
<form class="copyable-input">

Tests/AppTests/__Snapshots__/WebpageSnapshotTests/test_PackageShowView_canonicalURL_noImageSnapshots.1.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,9 @@ <h4>When working with a Swift Package Manager manifest:</h4>
134134
<p>
135135
<label for="products">Select a product:</label>
136136
<select data-use-this-package-panel-target="select" data-action="input->use-this-package-panel#updateProductSnippet" name="products" id="products">
137-
<option data-package="swift-alamofire" data-product="lib1" value="lib1" label="lib1"/>
138-
<option data-package="swift-alamofire" data-product="lib2" value="lib2" label="lib2"/>
139-
<option data-package="swift-alamofire" data-product="exe" value="exe" label="exe"/>
140-
<option data-package="swift-alamofire" data-product="lib3" value="lib3" label="lib3"/>
137+
<option data-package="swift-alamofire" data-product="lib1" data-type="library" value="lib1" label="lib1"/>
138+
<option data-package="swift-alamofire" data-product="lib2" data-type="library" value="lib2" label="lib2"/>
139+
<option data-package="swift-alamofire" data-product="lib3" data-type="library" value="lib3" label="lib3"/>
141140
</select>
142141
</p>
143142
<form class="copyable-input">

Tests/AppTests/__Snapshots__/WebpageSnapshotTests/test_PackageShowView_emoji_summary.1.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,9 @@ <h4>When working with a Swift Package Manager manifest:</h4>
134134
<p>
135135
<label for="products">Select a product:</label>
136136
<select data-use-this-package-panel-target="select" data-action="input->use-this-package-panel#updateProductSnippet" name="products" id="products">
137-
<option data-package="swift-alamofire" data-product="lib1" value="lib1" label="lib1"/>
138-
<option data-package="swift-alamofire" data-product="lib2" value="lib2" label="lib2"/>
139-
<option data-package="swift-alamofire" data-product="exe" value="exe" label="exe"/>
140-
<option data-package="swift-alamofire" data-product="lib3" value="lib3" label="lib3"/>
137+
<option data-package="swift-alamofire" data-product="lib1" data-type="library" value="lib1" label="lib1"/>
138+
<option data-package="swift-alamofire" data-product="lib2" data-type="library" value="lib2" label="lib2"/>
139+
<option data-package="swift-alamofire" data-product="lib3" data-type="library" value="lib3" label="lib3"/>
141140
</select>
142141
</p>
143142
<form class="copyable-input">

Tests/AppTests/__Snapshots__/WebpageSnapshotTests/test_PackageShowView_few_keywords.1.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,9 @@ <h4>When working with a Swift Package Manager manifest:</h4>
134134
<p>
135135
<label for="products">Select a product:</label>
136136
<select data-use-this-package-panel-target="select" data-action="input->use-this-package-panel#updateProductSnippet" name="products" id="products">
137-
<option data-package="swift-alamofire" data-product="lib1" value="lib1" label="lib1"/>
138-
<option data-package="swift-alamofire" data-product="lib2" value="lib2" label="lib2"/>
139-
<option data-package="swift-alamofire" data-product="exe" value="exe" label="exe"/>
140-
<option data-package="swift-alamofire" data-product="lib3" value="lib3" label="lib3"/>
137+
<option data-package="swift-alamofire" data-product="lib1" data-type="library" value="lib1" label="lib1"/>
138+
<option data-package="swift-alamofire" data-product="lib2" data-type="library" value="lib2" label="lib2"/>
139+
<option data-package="swift-alamofire" data-product="lib3" data-type="library" value="lib3" label="lib3"/>
141140
</select>
142141
</p>
143142
<form class="copyable-input">

Tests/AppTests/__Snapshots__/WebpageSnapshotTests/test_PackageShowView_many_keywords.1.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,9 @@ <h4>When working with a Swift Package Manager manifest:</h4>
134134
<p>
135135
<label for="products">Select a product:</label>
136136
<select data-use-this-package-panel-target="select" data-action="input->use-this-package-panel#updateProductSnippet" name="products" id="products">
137-
<option data-package="swift-alamofire" data-product="lib1" value="lib1" label="lib1"/>
138-
<option data-package="swift-alamofire" data-product="lib2" value="lib2" label="lib2"/>
139-
<option data-package="swift-alamofire" data-product="exe" value="exe" label="exe"/>
140-
<option data-package="swift-alamofire" data-product="lib3" value="lib3" label="lib3"/>
137+
<option data-package="swift-alamofire" data-product="lib1" data-type="library" value="lib1" label="lib1"/>
138+
<option data-package="swift-alamofire" data-product="lib2" data-type="library" value="lib2" label="lib2"/>
139+
<option data-package="swift-alamofire" data-product="lib3" data-type="library" value="lib3" label="lib3"/>
141140
</select>
142141
</p>
143142
<form class="copyable-input">

0 commit comments

Comments
 (0)