[mobile] cmd/gomobile: remove obsolete -i build flag

2 views
Skip to first unread message

race quite (Gerrit)

unread,
Aug 9, 2026, 3:20:14 PM (15 hours ago) Aug 9
to goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com

race quite has uploaded the change for review

Commit message

cmd/gomobile: remove obsolete -i build flag

The -i flag has been removed from go build, but gomobile still accepts
it for the bind, build, and install commands and passes it to underlying
go build invocations. As a result, using the flag causes the build to
fail.

Remove the flag registration, its shared state, and the code that passes
it to go build. Update the command documentation, regenerate doc.go, and
add a regression test that verifies the flag is no longer registered.
Change-Id: Iba9e176da3852c99ec2854e79eda0d62478187a4

Change diff

diff --git a/cmd/gomobile/build.go b/cmd/gomobile/build.go
index c15daa4..8c77235 100644
--- a/cmd/gomobile/build.go
+++ b/cmd/gomobile/build.go
@@ -72,7 +72,7 @@

The -v flag provides verbose output, including the list of packages built.

-The build flags -a, -i, -n, -x, -gcflags, -ldflags, -overlay, -tags, -trimpath,
+The build flags -a, -n, -x, -gcflags, -ldflags, -overlay, -tags, -trimpath,
and -work are shared with the build command. For documentation, see
'go help build'.
`,
@@ -234,7 +234,6 @@
// "Build flags", used by multiple commands.
var (
buildA bool // -a
- buildI bool // -i
buildN bool // -n
buildV bool // -v
buildX bool // -x
@@ -264,7 +263,6 @@
cmd.flag.IntVar(&buildAndroidAPI, "androidapi", minAndroidAPI, "")

cmd.flag.BoolVar(&buildA, "a", false, "")
- cmd.flag.BoolVar(&buildI, "i", false, "")
cmd.flag.BoolVar(&buildTrimpath, "trimpath", false, "")
cmd.flag.Var(&buildTags, "tags", "")
}
@@ -316,9 +314,6 @@
if buildV {
cmd.Args = append(cmd.Args, "-v")
}
- if subcmd != "install" && buildI {
- cmd.Args = append(cmd.Args, "-i")
- }
if buildX {
cmd.Args = append(cmd.Args, "-x")
}
diff --git a/cmd/gomobile/build_test.go b/cmd/gomobile/build_test.go
index e5e412a..8b27717 100644
--- a/cmd/gomobile/build_test.go
+++ b/cmd/gomobile/build_test.go
@@ -175,6 +175,19 @@
}
}

+func TestObsoleteIBuildFlag(t *testing.T) {
+ for _, cmd := range []*command{cmdBind, cmdBuild, cmdInstall} {
+ if flag := cmd.flag.Lookup("i"); flag != nil {
+ t.Errorf("%s registers obsolete -i flag", cmd.Name)
+ }
+ }
+ for _, cmd := range []*command{cmdBuild, cmdInstall} {
+ if strings.Contains(cmd.Long, "The build flags -a, -i,") {
+ t.Errorf("%s help mentions obsolete -i flag", cmd.Name)
+ }
+ }
+}
+
func TestRegexImportGolangXPackage(t *testing.T) {
tests := []struct {
in string
diff --git a/cmd/gomobile/doc.go b/cmd/gomobile/doc.go
index c17cf4c..95d8aa6 100644
--- a/cmd/gomobile/doc.go
+++ b/cmd/gomobile/doc.go
@@ -52,9 +52,10 @@
the module import wizard (File > New > New Module > Import .JAR or
.AAR package), and setting it as a new dependency
(File > Project Structure > Dependencies). This requires 'javac'
-(version 1.7+) and Android SDK (API level 16 or newer) to build the
-library for Android. The environment variable ANDROID_HOME must be set
-to the path to Android SDK. Use the -javapkg flag to specify the Java
+(version 1.8+) and Android SDK (API level 16 or newer) to build the
+library for Android. The ANDROID_HOME and ANDROID_NDK_HOME environment
+variables can be used to specify the Android SDK and NDK if they are
+not in the default locations. Use the -javapkg flag to specify the Java
package prefix for the generated classes.

By default, -target=android builds shared libraries for all supported
@@ -72,8 +73,9 @@

The -v flag provides verbose output, including the list of packages built.

-The build flags -a, -n, -x, -gcflags, -ldflags, -tags, -trimpath, and -work
-are shared with the build command. For documentation, see 'go help build'.
+The build flags -a, -n, -x, -gcflags, -ldflags, -overlay, -tags, -trimpath,
+and -work are shared with the build command. For documentation,
+see 'go help build'.

# Compile android APK and iOS app

@@ -126,8 +128,9 @@

The -v flag provides verbose output, including the list of packages built.

-The build flags -a, -i, -n, -x, -gcflags, -ldflags, -tags, -trimpath, and -work are
-shared with the build command. For documentation, see 'go help build'.
+The build flags -a, -n, -x, -gcflags, -ldflags, -overlay, -tags, -trimpath,
+and -work are shared with the build command. For documentation, see
+'go help build'.

# Remove object files and cached gomobile files

@@ -135,7 +138,7 @@

gomobile clean

-Clean removes object files and cached NDK files downloaded by gomobile init.
+# Clean removes object files and cached NDK files downloaded by gomobile init

# Build OpenAL for Android

@@ -158,8 +161,8 @@

Only -target android is supported. The 'adb' tool must be on the PATH.

-The build flags -a, -i, -n, -x, -gcflags, -ldflags, -tags, -trimpath, and -work are
-shared with the build command.
+The build flags -a, -n, -x, -gcflags, -ldflags, -overlay, -tags, -trimpath,
+and -work are shared with the build command.
For documentation, see 'go help build'.

# Print version
@@ -170,4 +173,4 @@

Version prints versions of the gomobile binary and tools
*/
-package main
+package main // import "golang.org/x/mobile/cmd/gomobile"
diff --git a/cmd/gomobile/install.go b/cmd/gomobile/install.go
index fd9392c..fb97468 100644
--- a/cmd/gomobile/install.go
+++ b/cmd/gomobile/install.go
@@ -23,7 +23,7 @@

Only -target android is supported. The 'adb' tool must be on the PATH.

-The build flags -a, -i, -n, -x, -gcflags, -ldflags, -overlay, -tags, -trimpath,
+The build flags -a, -n, -x, -gcflags, -ldflags, -overlay, -tags, -trimpath,
and -work are shared with the build command.
For documentation, see 'go help build'.
`,

Change information

Files:
  • M cmd/gomobile/build.go
  • M cmd/gomobile/build_test.go
  • M cmd/gomobile/doc.go
  • M cmd/gomobile/install.go
Change size: S
Delta: 4 files changed, 29 insertions(+), 18 deletions(-)
Open in Gerrit

Related details

Attention set is empty
Submit Requirements:
  • requirement is not satisfiedCode-Review
  • requirement satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
  • requirement is not satisfiedTryBots-Pass
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: newchange
Gerrit-Project: mobile
Gerrit-Branch: master
Gerrit-Change-Id: Iba9e176da3852c99ec2854e79eda0d62478187a4
Gerrit-Change-Number: 812501
Gerrit-PatchSet: 1
Gerrit-Owner: race quite <quit...@gmail.com>
unsatisfied_requirement
satisfied_requirement
open
diffy

Hajime Hoshi (Gerrit)

unread,
12:22 AM (6 hours ago) 12:22 AM
to race quite, goph...@pubsubhelper.golang.org, Gopher Robot, golang-co...@googlegroups.com
Attention needed from race quite

Hajime Hoshi added 1 comment

File cmd/gomobile/build_test.go
Line 178, Patchset 1 (Latest):func TestObsoleteIBuildFlag(t *testing.T) {
Hajime Hoshi . unresolved

This test is meaningless

Open in Gerrit

Related details

Attention is currently required from:
  • race quite
Submit Requirements:
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    • requirement is not satisfiedTryBots-Pass
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: mobile
    Gerrit-Branch: master
    Gerrit-Change-Id: Iba9e176da3852c99ec2854e79eda0d62478187a4
    Gerrit-Change-Number: 812501
    Gerrit-PatchSet: 1
    Gerrit-Owner: race quite <quit...@gmail.com>
    Gerrit-Reviewer: Hajime Hoshi <hajim...@gmail.com>
    Gerrit-CC: Gopher Robot <go...@golang.org>
    Gerrit-Attention: race quite <quit...@gmail.com>
    Gerrit-Comment-Date: Mon, 10 Aug 2026 04:21:51 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    unsatisfied_requirement
    open
    diffy

    race quite (Gerrit)

    unread,
    2:16 AM (4 hours ago) 2:16 AM
    to goph...@pubsubhelper.golang.org, golang-co...@googlegroups.com
    Attention needed from race quite

    race quite uploaded new patchset

    race quite uploaded patch set #2 to this change.
    Open in Gerrit

    Related details

    Attention is currently required from:
    • race quite
    Submit Requirements:
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    • requirement is not satisfiedTryBots-Pass
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: newpatchset
    Gerrit-Project: mobile
    Gerrit-Branch: master
    Gerrit-Change-Id: Iba9e176da3852c99ec2854e79eda0d62478187a4
    Gerrit-Change-Number: 812501
    Gerrit-PatchSet: 2
    unsatisfied_requirement
    open
    diffy

    race quite (Gerrit)

    unread,
    2:17 AM (4 hours ago) 2:17 AM
    to goph...@pubsubhelper.golang.org, Hajime Hoshi, Gopher Robot, golang-co...@googlegroups.com
    Attention needed from Hajime Hoshi

    race quite added 1 comment

    File cmd/gomobile/build_test.go
    Line 178, Patchset 1:func TestObsoleteIBuildFlag(t *testing.T) {
    Hajime Hoshi . resolved

    This test is meaningless

    race quite

    Removed.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Hajime Hoshi
    Submit Requirements:
      • requirement is not satisfiedCode-Review
      • requirement satisfiedNo-Unresolved-Comments
      • requirement is not satisfiedReview-Enforcement
      • requirement is not satisfiedTryBots-Pass
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: mobile
      Gerrit-Branch: master
      Gerrit-Change-Id: Iba9e176da3852c99ec2854e79eda0d62478187a4
      Gerrit-Change-Number: 812501
      Gerrit-PatchSet: 2
      Gerrit-Owner: race quite <quit...@gmail.com>
      Gerrit-Reviewer: Hajime Hoshi <hajim...@gmail.com>
      Gerrit-CC: Gopher Robot <go...@golang.org>
      Gerrit-Attention: Hajime Hoshi <hajim...@gmail.com>
      Gerrit-Comment-Date: Mon, 10 Aug 2026 06:17:28 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Hajime Hoshi <hajim...@gmail.com>
      unsatisfied_requirement
      satisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages