You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: proposals/NNNN-environment-constrained-shared-libraries.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,7 +57,7 @@ To compile an ECSL, you just need to build an ordinary SwiftPM library product w
57
57
You would package an ECSL as an `.artifactbundle` just as you would an executable, with the following differences:
58
58
59
59
- The `info.json` must have `schemaVersion` set to `1.2` or higher.
60
-
- The artifact type must be `library`, a new enum case introduced in this proposal.
60
+
- The artifact type must be `dynamicLibrary`, a new enum case introduced in this proposal.
61
61
- The artifact must have exactly one variant in the `variants` list, and the `supportedTriples` field is forbidden.
62
62
- The artifact payload must include the `.swiftinterface` file corresponding to the actual library object.
63
63
@@ -84,12 +84,12 @@ Some organizations might choose to forgo the `@rpath` mechanism entirely and sim
84
84
85
85
### Schema extensions
86
86
87
-
We will extend the `ArtifactsArchiveMetadata` schema to include a new `library` case in the `ArtifactType` enum.
87
+
We will extend the `ArtifactsArchiveMetadata` schema to include a new `dynamicLibrary` case in the `ArtifactType` enum.
88
88
89
89
```diff
90
90
public enum ArtifactType: String, RawRepresentable, Decodable {
91
91
case executable
92
-
+ case library
92
+
+ case dynamicLibrary
93
93
case swiftSDK
94
94
}
95
95
```
@@ -106,7 +106,7 @@ Below is an example of an `info.json` file for an Artifact Bundle containing a s
106
106
"schemaVersion": "1.2",
107
107
"artifacts": {
108
108
"MyLibrary": {
109
-
"type": "library",
109
+
"type": "dynamicLibrary",
110
110
"version": "1.0.0",
111
111
"variants": [{ "path": "MyLibrary" }]
112
112
}
@@ -155,6 +155,6 @@ We also don’t see much value in this feature, as you would probably package an
155
155
156
156
One benefit of merging bundles would be that it reduces the number of checksums you need to keep track of, but we expect that most organizations will have a very small number of supported environments, with new environments continously phasing out old environments.
157
157
158
-
### Using a different `ArtifactType` name besides `library`
158
+
### Using a different `ArtifactType` name besides `dynamicLibrary`
159
159
160
160
We intentionally preserved the structure of the `variants` list in the `info.json` file, despite imposing the current restriction of one variant per library, in order to allow this format to be extended in the future to support fully general Dynamic Libraries.
0 commit comments