MCPcopy Create free account
hub / github.com/golang/mobile / genJavaPackages

Function genJavaPackages

bind/bind_test.go:246–286  ·  view source on GitHub ↗
(t *testing.T, dir string, cg *ClassGen)

Source from the content-addressed store, hash-verified

244}
245
246func genJavaPackages(t *testing.T, dir string, cg *ClassGen) {
247 buf := cg.Buf
248 cg.Buf = new(bytes.Buffer)
249 pkgBase := filepath.Join(dir, "src", "Java")
250 if err := os.MkdirAll(pkgBase, 0700); err != nil {
251 t.Fatal(err)
252 }
253 for i, jpkg := range cg.Packages() {
254 pkgDir := filepath.Join(pkgBase, jpkg)
255 if err := os.MkdirAll(pkgDir, 0700); err != nil {
256 t.Fatal(err)
257 }
258 pkgFile := filepath.Join(pkgDir, "package.go")
259 cg.Buf.Reset()
260 cg.GenPackage(i)
261 if err := os.WriteFile(pkgFile, cg.Buf.Bytes(), 0600); err != nil {
262 t.Fatal(err)
263 }
264 io.Copy(buf, cg.Buf)
265 }
266 cg.Buf.Reset()
267 cg.GenInterfaces()
268 clsFile := filepath.Join(pkgBase, "interfaces.go")
269 if err := os.WriteFile(clsFile, cg.Buf.Bytes(), 0600); err != nil {
270 t.Fatal(err)
271 }
272 io.Copy(buf, cg.Buf)
273 cg.Buf = buf
274
275 gocmd := filepath.Join(runtime.GOROOT(), "bin", "go")
276 cmd := exec.Command(
277 gocmd,
278 "install",
279 "-pkgdir="+filepath.Join(dir, "pkg", build.Default.GOOS+"_"+build.Default.GOARCH),
280 "Java/...",
281 )
282 cmd.Env = append(os.Environ(), "GOPATH="+dir, "GO111MODULE=off")
283 if out, err := cmd.CombinedOutput(); err != nil {
284 t.Fatalf("failed to go install the generated Java wrappers: %v: %s", err, string(out))
285 }
286}
287
288func TestGenJava(t *testing.T) {
289 allTests := tests

Callers 2

TestGenJavaFunction · 0.70
TestGenGoJavaWrappersFunction · 0.70

Calls 3

PackagesMethod · 0.45
GenPackageMethod · 0.45
GenInterfacesMethod · 0.45

Tested by

no test coverage detected