Commit c3a8716
authored
Reorganize project files & reduce public interface (#212)
Reorganizes files in the project to be more clearly and consistently
organized by visibility (whether the types within each file should be
internal to the package or public). Also reduces the public interface of
the module by moving some types to `internal` or `package`.
Note that `package` is specific to SPM, so the keyword cannot be used in
conjunction with CocoaPods. For this reason, a few of the types are
guarded with `#if COCOAPODS`. It's also worth noting that `ConnectNIO`
cannot be consumed via CocoaPods today because NIO does not support
CocoaPods. For this reason, the shared gRPC interfaces between `Connect`
and `ConnectNIO` don't need to be exposed to CocoaPods at all.
Additionally, [`package` requires Swift
5.9](https://github.com/apple/swift-evolution/blob/main/proposals/0386-package-access-modifier.md),
so the Swift package version has been updated as well.
New directory structure:
```
.
├── Examples
│ ├── ElizaCocoaPodsApp
│ ├── ElizaSharedSources
│ │ ├── AppSources
│ │ └── GeneratedSources
│ │ └── connectrpc
│ │ └── eliza
│ │ └── v1
│ └── ElizaSwiftPackageApp
│ └── ElizaSwiftPackageApp
├── Libraries
│ ├── Connect
│ │ ├── Internal
│ │ │ ├── Generated
│ │ │ │ └── grpc
│ │ │ │ └── status
│ │ │ │ └── v1
│ │ │ ├── Interceptors
│ │ │ ├── Locks
│ │ │ ├── Streaming
│ │ │ └── Unary
│ │ ├── PackageInternal
│ │ ├── Public
│ │ │ ├── Implementation
│ │ │ │ ├── Clients
│ │ │ │ ├── Codecs
│ │ │ │ └── Compression
│ │ │ └── Interfaces
│ │ │ ├── Interceptors
│ │ │ └── Streaming
│ │ │ ├── AsyncAwait
│ │ │ └── Callbacks
│ │ └── proto
│ │ └── grpc
│ │ └── status
│ │ └── v1
│ ├── ConnectMocks
│ └── ConnectNIO
│ ├── Internal
│ │ └── Extensions
│ └── Public
├── Plugins
│ ├── ConnectMocksPlugin
│ ├── ConnectPluginUtilities
│ └── ConnectSwiftPlugin
└── Tests
├── ConnectLibraryTests
│ ├── ConnectConformance
│ ├── ConnectMocksTests
│ ├── ConnectTests
│ ├── Generated
│ │ ├── connectrpc
│ │ │ └── conformance
│ │ │ └── v1
│ │ └── server
│ │ └── v1
│ └── TestResources
└── ConnectPluginUtilitiesTests
```1 parent e19c6b3 commit c3a8716
File tree
64 files changed
+112
-47
lines changed- .github/workflows
- Libraries
- ConnectNIO/Internal
- Connect
- Internal
- Generated/grpc/status/v1
- Interceptors
- Locks
- Streaming
- Unary
- PackageInternal
- Public
- Implementation
- Clients
- Codecs
- Compression
- Interfaces
- Interceptors
- Streaming
- AsyncAwait
- Callbacks
- Tests/ConnectLibraryTests
- ConnectConformance
- ConnectMocksTests
- ConnectTests
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
64 files changed
+112
-47
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
47 | 50 | | |
48 | 51 | | |
49 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
File renamed without changes.
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
| 24 | + | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
| 38 | + | |
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
0 commit comments