Skip to content

Commit 6cad7ff

Browse files
committed
update test and minor go fmt fix
1 parent ffb4b4a commit 6cad7ff

File tree

2 files changed

+28
-26
lines changed

2 files changed

+28
-26
lines changed

cmd/gomobile/bind_iosapp.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,14 +177,14 @@ func goIOSBind(gobind string, pkgs []*packages.Package, archs []string) error {
177177
}
178178
// Thin the arm64 framework with lipo
179179
if arch == "arm64" {
180-
cmd = exec.Command("xcrun", "lipo", buildTemp + "/Versions/A/" + title, "-thin", "arm64", "-output", buildTemp + "/Versions/A/" + title)
180+
cmd = exec.Command("xcrun", "lipo", buildTemp+"/Versions/A/"+title, "-thin", "arm64", "-output", buildTemp+"/Versions/A/"+title)
181181
if err := runCmd(cmd); err != nil {
182182
return err
183183
}
184184
}
185185
}
186186
// Combine frameworks into xcframework
187-
cmd = exec.Command("xcodebuild", "-create-xcframework", "-framework", tmpdir+"/arm64/" + title + ".framework", "-framework", tmpdir+"/amd64/" + title + ".framework", "-framework", tmpdir+"/catalyst/" + title + ".framework", "-output", buildO)
187+
cmd = exec.Command("xcodebuild", "-create-xcframework", "-framework", tmpdir+"/arm64/"+title+".framework", "-framework", tmpdir+"/amd64/"+title+".framework", "-framework", tmpdir+"/catalyst/"+title+".framework", "-output", buildO)
188188
err := runCmd(cmd)
189189
return err
190190
}

cmd/gomobile/bind_test.go

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ func TestBindIOS(t *testing.T) {
112112
}()
113113
buildN = true
114114
buildX = true
115-
buildO = "Asset.framework"
115+
buildO = "Asset.xcframework"
116116
buildTarget = "ios/arm64"
117117

118118
tests := []struct {
@@ -126,7 +126,7 @@ func TestBindIOS(t *testing.T) {
126126
prefix: "Foo",
127127
},
128128
{
129-
out: "Abcde.framework",
129+
out: "Abcde.xcframework",
130130
},
131131
}
132132
for _, tc := range tests {
@@ -160,7 +160,7 @@ func TestBindIOS(t *testing.T) {
160160
BitcodeEnabled bool
161161
}{
162162
outputData: output,
163-
Output: buildO[:len(buildO)-len(".framework")],
163+
Output: buildO[:len(buildO)-len(".xcframework")],
164164
Prefix: tc.prefix,
165165
BitcodeEnabled: bitcodeEnabled,
166166
}
@@ -194,26 +194,28 @@ jar c -C $WORK/javac-output .
194194
var bindIOSTmpl = template.Must(template.New("output").Parse(`GOMOBILE={{.GOPATH}}/pkg/gomobile
195195
WORK=$WORK
196196
GOOS=darwin CGO_ENABLED=1 gobind -lang=go,objc -outdir=$WORK -tags=ios{{if .Prefix}} -prefix={{.Prefix}}{{end}} golang.org/x/mobile/asset
197+
rm -r -f "{{.Output}}.xcframework"
197198
mkdir -p $WORK/src
198-
PWD=$WORK/src GOOS=darwin GOARCH=arm64 CC=iphoneos-clang CXX=iphoneos-clang++ CGO_CFLAGS=-isysroot=iphoneos -miphoneos-version-min=7.0 {{if .BitcodeEnabled}}-fembed-bitcode {{end}}-arch arm64 CGO_CXXFLAGS=-isysroot=iphoneos -miphoneos-version-min=7.0 {{if .BitcodeEnabled}}-fembed-bitcode {{end}}-arch arm64 CGO_LDFLAGS=-isysroot=iphoneos -miphoneos-version-min=7.0 {{if .BitcodeEnabled}}-fembed-bitcode {{end}}-arch arm64 CGO_ENABLED=1 GOPATH=$WORK:$GOPATH go build -tags ios -x -buildmode=c-archive -o $WORK/{{.Output}}-arm64.a ./gobind
199-
rm -r -f "{{.Output}}.framework"
200-
mkdir -p {{.Output}}.framework/Versions/A/Headers
201-
ln -s A {{.Output}}.framework/Versions/Current
202-
ln -s Versions/Current/Headers {{.Output}}.framework/Headers
203-
ln -s Versions/Current/{{.Output}} {{.Output}}.framework/{{.Output}}
204-
xcrun lipo -create -arch arm64 $WORK/{{.Output}}-arm64.a -o {{.Output}}.framework/Versions/A/{{.Output}}
205-
cp $WORK/src/gobind/{{.Prefix}}Asset.objc.h {{.Output}}.framework/Versions/A/Headers/{{.Prefix}}Asset.objc.h
206-
mkdir -p {{.Output}}.framework/Versions/A/Headers
207-
cp $WORK/src/gobind/Universe.objc.h {{.Output}}.framework/Versions/A/Headers/Universe.objc.h
208-
mkdir -p {{.Output}}.framework/Versions/A/Headers
209-
cp $WORK/src/gobind/ref.h {{.Output}}.framework/Versions/A/Headers/ref.h
210-
mkdir -p {{.Output}}.framework/Versions/A/Headers
211-
mkdir -p {{.Output}}.framework/Versions/A/Headers
212-
mkdir -p {{.Output}}.framework/Versions/A/Resources
213-
ln -s Versions/Current/Resources {{.Output}}.framework/Resources
214-
mkdir -p {{.Output}}.framework/Resources
215-
mkdir -p {{.Output}}.framework/Versions/A/Modules
216-
ln -s Versions/Current/Modules {{.Output}}.framework/Modules
199+
PWD=$WORK/src GOOS=darwin GOARCH=arm64 CC=iphoneos-clang CXX=iphoneos-clang++ CGO_CFLAGS=-isysroot=iphoneos -miphoneos-version-min=7.0 {{if .BitcodeEnabled}}-fembed-bitcode {{end}}-arch arm64 CGO_CXXFLAGS=-isysroot=iphoneos -miphoneos-version-min=7.0 {{if .BitcodeEnabled}}-fembed-bitcode {{end}}-arch arm64 CGO_LDFLAGS=-isysroot=iphoneos -miphoneos-version-min=7.0 {{if .BitcodeEnabled}}-fembed-bitcode {{end}}-arch arm64 CGO_ENABLED=1 ARCH=arm64 GOPATH=$WORK:$GOPATH go build -tags ios -x -buildmode=c-archive -o $WORK/{{.Output}}-arm64.a ./gobind
200+
mkdir -p $WORK/arm64/{{.Output}}.framework/Versions/A/Headers
201+
ln -s A $WORK/arm64/{{.Output}}.framework/Versions/Current
202+
ln -s Versions/Current/Headers $WORK/arm64/{{.Output}}.framework/Headers
203+
ln -s Versions/Current/{{.Output}} $WORK/arm64/{{.Output}}.framework/{{.Output}}
204+
xcrun lipo -create -arch arm64 $WORK/{{.Output}}-arm64.a -o $WORK/arm64/{{.Output}}.framework/Versions/A/{{.Output}}
205+
cp $WORK/src/gobind/{{.Prefix}}Asset.objc.h $WORK/arm64/{{.Output}}.framework/Versions/A/Headers/{{.Prefix}}Asset.objc.h
206+
mkdir -p $WORK/arm64/{{.Output}}.framework/Versions/A/Headers
207+
cp $WORK/src/gobind/Universe.objc.h $WORK/arm64/{{.Output}}.framework/Versions/A/Headers/Universe.objc.h
208+
mkdir -p $WORK/arm64/{{.Output}}.framework/Versions/A/Headers
209+
cp $WORK/src/gobind/ref.h $WORK/arm64/{{.Output}}.framework/Versions/A/Headers/ref.h
210+
mkdir -p $WORK/arm64/{{.Output}}.framework/Versions/A/Headers
211+
mkdir -p $WORK/arm64/{{.Output}}.framework/Versions/A/Headers
212+
mkdir -p $WORK/arm64/{{.Output}}.framework/Versions/A/Resources
213+
ln -s Versions/Current/Resources $WORK/arm64/{{.Output}}.framework/Resources
214+
mkdir -p $WORK/arm64/{{.Output}}.framework/Resources
215+
mkdir -p $WORK/arm64/{{.Output}}.framework/Versions/A/Modules
216+
ln -s Versions/Current/Modules $WORK/arm64/{{.Output}}.framework/Modules
217+
xcrun lipo $WORK/arm64/{{.Output}}.framework/Versions/A/{{.Output}} -thin arm64 -output $WORK/arm64/{{.Output}}.framework/Versions/A/{{.Output}}
218+
xcodebuild -create-xcframework -framework $WORK/arm64/{{.Output}}.framework -framework $WORK/amd64/{{.Output}}.framework -framework $WORK/catalyst/{{.Output}}.framework -output {{.Output}}.xcframework
217219
`))
218220

219221
func TestBindIOSAll(t *testing.T) {
@@ -230,7 +232,7 @@ func TestBindIOSAll(t *testing.T) {
230232
}()
231233
buildN = true
232234
buildX = true
233-
buildO = "Asset.framework"
235+
buildO = "Asset.xcframework"
234236
buildTarget = "ios"
235237

236238
buf := new(bytes.Buffer)
@@ -290,7 +292,7 @@ func TestBindWithGoModules(t *testing.T) {
290292
case "android":
291293
out = filepath.Join(dir, "cgopkg.aar")
292294
case "ios":
293-
out = filepath.Join(dir, "Cgopkg.framework")
295+
out = filepath.Join(dir, "Cgopkg.xcframework")
294296
}
295297

296298
tests := []struct {

0 commit comments

Comments
 (0)