Skip to content

Commit 13b7ae4

Browse files
author
Tarik Eshaq
authored
Changes package.swit to reference only one target (#38)
* Changes package.swit to reference only one target * Fixes generate script to use multiple metrics.yaml
1 parent 53d2f85 commit 13b7ae4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+16627
-116
lines changed

Package.swift

Lines changed: 3 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,7 @@ let package = Package(
99
name: "MozillaRustComponentsSwift",
1010
platforms: [.iOS(.v11)],
1111
products: [
12-
.library(name: "RustLog", targets: ["RustLog"]),
13-
.library(name: "Viaduct", targets: ["Viaduct"]),
14-
.library(name: "Nimbus", targets: ["Nimbus"]),
15-
.library(name: "CrashTest", targets: ["CrashTest"]),
16-
.library(name: "Logins", targets: ["Logins"]),
17-
.library(name: "FxAClient", targets: ["FxAClient"]),
18-
.library(name: "Autofill", targets: ["Autofill"]),
19-
.library(name: "Push", targets: ["Push"]),
20-
.library(name: "Tabs", targets: ["Tabs"]),
21-
.library(name: "Places", targets: ["Places"]),
12+
.library(name: "MozillaAppServices", targets: ["MozillaAppServices"]),
2213
],
2314
dependencies: [
2415
],
@@ -50,58 +41,9 @@ let package = Package(
5041
//path: "./MozillaRustComponents.xcframework"
5142
),
5243
.target(
53-
name: "Sync15",
54-
path: "generated/sync15"
55-
),
56-
.target(
57-
name: "RustLog",
44+
name: "MozillaAppServices",
5845
dependencies: ["MozillaRustComponentsWrapper"],
59-
path: "generated/rc_log"
60-
),
61-
.target(
62-
name: "Viaduct",
63-
dependencies: ["MozillaRustComponentsWrapper"],
64-
path: "generated/viaduct"
65-
),
66-
.target(
67-
name: "Nimbus",
68-
dependencies: ["MozillaRustComponentsWrapper"],
69-
path: "generated/nimbus"
70-
),
71-
.target(
72-
name: "CrashTest",
73-
dependencies: ["MozillaRustComponentsWrapper"],
74-
path: "generated/crashtest"
75-
),
76-
.target(
77-
name: "Logins",
78-
dependencies: ["MozillaRustComponentsWrapper", "Sync15"],
79-
path: "generated/logins"
46+
path: "swift-source"
8047
),
81-
.target(
82-
name: "FxAClient",
83-
dependencies: ["MozillaRustComponentsWrapper"],
84-
path: "generated/fxa-client"
85-
),
86-
.target(
87-
name: "Autofill",
88-
dependencies: ["MozillaRustComponentsWrapper"],
89-
path: "generated/autofill"
90-
),
91-
.target(
92-
name: "Push",
93-
dependencies: ["MozillaRustComponentsWrapper"],
94-
path: "generated/push"
95-
),
96-
.target(
97-
name: "Tabs",
98-
dependencies: ["MozillaRustComponentsWrapper"],
99-
path: "generated/tabs"
100-
),
101-
.target(
102-
name: "Places",
103-
dependencies: ["MozillaRustComponentsWrapper", "Sync15"],
104-
path: "generated/places"
105-
)
10648
]
10749
)

generate.sh

Lines changed: 32 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -21,133 +21,113 @@ GLEAN_GENERATOR="$APP_SERVICES_DIR/components/external/glean/glean-core/ios/sdk_
2121

2222
set -euvx
2323

24+
OUT_DIR="$THIS_DIR/swift-source"
25+
26+
rm -rf "$OUT_DIR" && mkdir -p "$OUT_DIR"
27+
28+
# Glean metrics.
29+
# Run this first, because it appears to delete any other .swift files in the output directory.
30+
# Also, it wants to be run from inside Xcode, so we set some env vars to fake it out.
31+
SOURCE_ROOT="$THIS_DIR" PROJECT="MozillaAppServices" "$GLEAN_GENERATOR" -o "$OUT_DIR/Generated/Metrics/" "$APP_SERVICES_DIR/components/nimbus/metrics.yaml" "$APP_SERVICES_DIR/components/logins/ios/metrics.yaml"
32+
33+
34+
2435
###
2536
#
2637
# Nimbus
2738
#
2839
###
29-
30-
NIMBUS_DIR="$THIS_DIR/generated/nimbus"
31-
rm -rf "$NIMBUS_DIR" && mkdir -p "$NIMBUS_DIR"
32-
# Glean metrics.
33-
# Run this first, because it appears to delete any other .swift files in the output directory.
34-
# Also, it wants to be run from inside Xcode, so we set some env vars to fake it out.
35-
SOURCE_ROOT="$THIS_DIR" PROJECT="nimbus" "$GLEAN_GENERATOR" -o "$NIMBUS_DIR/Generated" "$APP_SERVICES_DIR/components/nimbus/metrics.yaml"
3640
# UniFFI bindings.
37-
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$NIMBUS_DIR/Generated" "$APP_SERVICES_DIR/components/nimbus/src/nimbus.udl"
41+
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$OUT_DIR/Generated" "$APP_SERVICES_DIR/components/nimbus/src/nimbus.udl"
3842
# Copy the hand-written Swift, since it all needs to be together in one directory.
39-
cp -r "$APP_SERVICES_DIR/components/nimbus/ios/Nimbus" "$NIMBUS_DIR/Nimbus"
43+
cp -r "$APP_SERVICES_DIR/components/nimbus/ios/Nimbus" "$OUT_DIR"
44+
45+
4046

4147
###
4248
#
4349
# CrashTest
4450
#
4551
###
46-
47-
CRASHTEST_DIR="$THIS_DIR/generated/crashtest"
48-
rm -rf "$CRASHTEST_DIR" && mkdir -p "$CRASHTEST_DIR"
49-
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$CRASHTEST_DIR" "$APP_SERVICES_DIR/components/crashtest/src/crashtest.udl"
52+
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$OUT_DIR" "$APP_SERVICES_DIR/components/crashtest/src/crashtest.udl"
5053

5154
###
5255
#
5356
# FxaClient
5457
#
5558
###
5659

57-
FXA_CLIENT_DIR="$THIS_DIR/generated/fxa-client"
58-
rm -rf "$FXA_CLIENT_DIR" && mkdir -p "$FXA_CLIENT_DIR"
5960
# UniFFI bindings.
60-
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$FXA_CLIENT_DIR/Generated" "$APP_SERVICES_DIR/components/fxa-client/src/fxa_client.udl"
61+
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$OUT_DIR/Generated" "$APP_SERVICES_DIR/components/fxa-client/src/fxa_client.udl"
6162
# Copy the hand-written Swift, since it all needs to be together in one directory.
62-
cp -r "$APP_SERVICES_DIR/components/fxa-client/ios/FxAClient" "$FXA_CLIENT_DIR/FxAClient"
63+
cp -r "$APP_SERVICES_DIR/components/fxa-client/ios/FxAClient" "$OUT_DIR"
6364

6465
###
6566
#
6667
# Logins
6768
#
6869
###
69-
70-
LOGINS_DIR="$THIS_DIR/generated/logins"
71-
rm -rf "$LOGINS_DIR" && mkdir -p "$LOGINS_DIR"
72-
# Glean metrics.
73-
# Run this first, because it appears to delete any other .swift files in the output directory.
74-
# Also, it wants to be run from inside Xcode, so we set some env vars to fake it out.
75-
SOURCE_ROOT="$THIS_DIR" PROJECT="logins" "$GLEAN_GENERATOR" -o "$LOGINS_DIR/Generated" "$APP_SERVICES_DIR/components/logins/ios/metrics.yaml"
76-
# UniFFI bindings.
77-
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$LOGINS_DIR/Generated" "$APP_SERVICES_DIR/components/logins/src/logins.udl"
70+
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$OUT_DIR/Generated" "$APP_SERVICES_DIR/components/logins/src/logins.udl"
7871
# Copy the hand-written Swift, since it all needs to be together in one directory.
79-
cp -r "$APP_SERVICES_DIR/components/logins/ios/Logins" "$LOGINS_DIR/Logins"
72+
cp -r "$APP_SERVICES_DIR/components/logins/ios/Logins" "$OUT_DIR"
8073

8174
###
8275
#
8376
# Autofill
8477
#
8578
###
79+
## Not of our consumers currently use autofill, and the swift code has a name conflict with
80+
## another component, so for now, commented out.
8681

87-
AUTOFILL_DIR="generated/autofill"
88-
rm -rf "$AUTOFILL_DIR" && mkdir -p "$AUTOFILL_DIR"
89-
# UniFFI bindings.
90-
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$AUTOFILL_DIR/Generated" "$APP_SERVICES_DIR/components/autofill/src/autofill.udl"
82+
# "${UNIFFI_BINDGEN[@]}" generate -l swift -o "$OUT_DIR/Generated" "$APP_SERVICES_DIR/components/autofill/src/autofill.udl"
9183

9284
###
9385
#
9486
# Push
9587
#
9688
###
9789

98-
PUSH_DIR="$THIS_DIR/generated/push"
99-
rm -rf "$PUSH_DIR" && mkdir -p "$PUSH_DIR"
10090
# UniFFI bindings.
101-
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$PUSH_DIR/Generated" "$APP_SERVICES_DIR/components/push/src/push.udl"
91+
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$OUT_DIR/Generated" "$APP_SERVICES_DIR/components/push/src/push.udl"
10292

10393
###
10494
#
10595
# Tabs
10696
#
10797
###
98+
## Not of our consumers currently use tabs, and the swift code has a name conflict with
99+
## another component, so for now, commented out.
108100

109-
TABS_DIR="$THIS_DIR/generated/tabs"
110-
rm -rf "$TABS_DIR" && mkdir -p "$TABS_DIR"
111-
# UniFFI bindings.
112-
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$TABS_DIR/Generated" "$APP_SERVICES_DIR/components/tabs/src/tabs.udl"
101+
# "${UNIFFI_BINDGEN[@]}" generate -l swift -o "$OUT_DIR/Generated" "$APP_SERVICES_DIR/components/tabs/src/tabs.udl"
113102

114103
###
115104
#
116105
# Places
117106
#
118107
###
119108

120-
PLACES_DIR="$THIS_DIR/generated/places"
121-
rm -rf "$PLACES_DIR" && mkdir -p "$PLACES_DIR"
122-
# UniFFI bindings.
123-
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$PLACES_DIR/Generated" "$APP_SERVICES_DIR/components/places/src/places.udl"
109+
"${UNIFFI_BINDGEN[@]}" generate -l swift -o "$OUT_DIR/Generated" "$APP_SERVICES_DIR/components/places/src/places.udl"
124110

125111
# Copy the hand-written Swift, since it all needs to be together in one directory.
126-
cp -r "$APP_SERVICES_DIR/components/places/ios/Places" "$PLACES_DIR/Places"
112+
cp -r "$APP_SERVICES_DIR/components/places/ios/Places" "$OUT_DIR"
127113

128114
###
129115
#
130116
# Sync15
131117
#
132118
###
133119

134-
SYNC15_DIR="$THIS_DIR/generated/sync15"
135-
rm -rf "$SYNC15_DIR" && mkdir -p "$SYNC15_DIR"
136-
137120
# We only need to copy the hand-written Swift, sync15 does not use `uniffi` yet
138-
cp -r "$APP_SERVICES_DIR/components/sync15/ios/" $SYNC15_DIR
121+
cp -r "$APP_SERVICES_DIR/components/sync15/ios/" $OUT_DIR
139122

140123
###
141124
#
142125
# RustLog
143126
#
144127
###
145128

146-
RUST_LOG_DIR="$THIS_DIR/generated/rc_log"
147-
rm -rf "$RUST_LOG_DIR" && mkdir -p "$RUST_LOG_DIR"
148-
149129
# We only need to copy the hand-written Swift, RustLog does not use `uniffi` yet
150-
cp -r "$APP_SERVICES_DIR/components/rc_log/ios/" $RUST_LOG_DIR
130+
cp -r "$APP_SERVICES_DIR/components/rc_log/ios/" $OUT_DIR
151131

152132

153133
###
@@ -156,10 +136,7 @@ cp -r "$APP_SERVICES_DIR/components/rc_log/ios/" $RUST_LOG_DIR
156136
#
157137
###
158138

159-
VIADUCT_DIR="$THIS_DIR/generated/viaduct"
160-
rm -rf "$VIADUCT_DIR" && mkdir -p "$VIADUCT_DIR"
161-
162139
# We only need to copy the hand-written Swift, Viaduct does not use `uniffi` yet
163-
cp -r "$APP_SERVICES_DIR/components/viaduct/ios/" $VIADUCT_DIR
140+
cp -r "$APP_SERVICES_DIR/components/viaduct/ios/" $OUT_DIR
164141

165142
echo "Successfully generated uniffi code!"
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/* This Source Code Form is subject to the terms of the Mozilla Public
2+
* License, v. 2.0. If a copy of the MPL was not distributed with this
3+
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4+
5+
import Foundation
6+
7+
open class FxAConfig {
8+
public enum Server: String {
9+
case release = "https://accounts.firefox.com"
10+
case stable = "https://stable.dev.lcip.org"
11+
case stage = "https://accounts.stage.mozaws.net"
12+
case china = "https://accounts.firefox.com.cn"
13+
case localdev = "http://127.0.0.1:3030"
14+
}
15+
16+
let contentUrl: String
17+
let clientId: String
18+
let redirectUri: String
19+
let tokenServerUrlOverride: String?
20+
21+
public init(
22+
contentUrl: String,
23+
clientId: String,
24+
redirectUri: String,
25+
tokenServerUrlOverride: String? = nil
26+
) {
27+
self.contentUrl = contentUrl
28+
self.clientId = clientId
29+
self.redirectUri = redirectUri
30+
self.tokenServerUrlOverride = tokenServerUrlOverride
31+
}
32+
33+
public init(
34+
server: Server,
35+
clientId: String,
36+
redirectUri: String,
37+
tokenServerUrlOverride: String? = nil
38+
) {
39+
contentUrl = server.rawValue
40+
self.clientId = clientId
41+
self.redirectUri = redirectUri
42+
self.tokenServerUrlOverride = tokenServerUrlOverride
43+
}
44+
}

0 commit comments

Comments
 (0)