Skip to content

Commit 3f34c41

Browse files
committed
add PluginExample for UseAccessLevelOnImports option
1 parent f0d3542 commit 3f34c41

File tree

6 files changed

+72
-7
lines changed

6 files changed

+72
-7
lines changed

PluginExamples/Package.swift

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,22 @@ let package = Package(
77
dependencies: [
88
.package(path: "../")
99
],
10-
targets: [
10+
targets: targets()
11+
)
12+
13+
private func targets() -> [Target] {
14+
var testDependencies: [Target.Dependency] = [
15+
.target(name: "Simple"),
16+
.target(name: "Nested"),
17+
.target(name: "Import"),
18+
]
19+
#if compiler(>=5.9)
20+
testDependencies.append(.target(name: "AccessLevelOnImport"))
21+
#endif
22+
var targets: [Target] = [
1123
.testTarget(
1224
name: "ExampleTests",
13-
dependencies: [
14-
.target(name: "Simple"),
15-
.target(name: "Nested"),
16-
.target(name: "Import"),
17-
]
25+
dependencies: testDependencies
1826
),
1927
.target(
2028
name: "Simple",
@@ -44,4 +52,21 @@ let package = Package(
4452
]
4553
),
4654
]
47-
)
55+
#if compiler(>=5.9)
56+
targets.append(
57+
.target(
58+
name: "AccessLevelOnImport",
59+
dependencies: [
60+
.product(name: "SwiftProtobuf", package: "swift-protobuf"),
61+
],
62+
swiftSettings: [
63+
.enableExperimentalFeature("AccessLevelOnImport"),
64+
],
65+
plugins: [
66+
.plugin(name: "SwiftProtobufPlugin", package: "swift-protobuf")
67+
]
68+
)
69+
)
70+
#endif
71+
return targets
72+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
syntax = "proto3";
2+
3+
import "Dependency/Dependency.proto";
4+
5+
message AccessLevelOnImport {
6+
Dependency dependency = 1;
7+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
syntax = "proto3";
2+
3+
message Dependency {
4+
string name = 1;
5+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/// DO NOT DELETE.
2+
///
3+
/// We need to keep this file otherwise the plugin is not running.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"invocations": [
3+
{
4+
"protoFiles": [
5+
"AccessLevelOnImport/AccessLevelOnImport.proto",
6+
"Dependency/Dependency.proto",
7+
],
8+
"visibility": "public",
9+
"useAccessLevelOnImports": true
10+
}
11+
]
12+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#if compiler(>=5.9)
2+
3+
import AccessLevelOnImport
4+
import XCTest
5+
6+
final class AccessLevelOnImportTests: XCTestCase {
7+
func testAccessLevelOnImport() {
8+
let access = AccessLevelOnImport.with { $0.dependency = .with { $0.name = "Dependency" } }
9+
XCTAssertEqual(access.dependency.name, "Dependency")
10+
}
11+
}
12+
13+
#endif

0 commit comments

Comments
 (0)