Browse Source

Merge pull request #58 from rprx/patch-1

Adjust Bazel
Kslr 5 years ago
parent
commit
b3bfded682

+ 2 - 1
infra/bazel/build.bzl

@@ -3,7 +3,7 @@ def _go_command(ctx):
   if ctx.attr.os == "windows":
     output = output + ".exe"
 
-  output_file = ctx.actions.declare_file(ctx.attr.os + "/" + ctx.attr.arch + "/" + output)
+  output_file = ctx.actions.declare_file(ctx.attr.os + "/" + ctx.attr.arch + "/" + ctx.attr.ver + "/" + output)
   pkg = ctx.attr.pkg
 
   ld_flags = "-s -w"
@@ -61,6 +61,7 @@ foreign_go_binary = rule(
     'output': attr.string(),
     'os': attr.string(mandatory=True),
     'arch': attr.string(mandatory=True),
+    'ver': attr.string(mandatory=True),
     'mips': attr.string(),
     'arm': attr.string(),
     'ld': attr.string(),

+ 22 - 20
infra/bazel/matrix.bzl

@@ -1,22 +1,24 @@
 SUPPORTED_MATRIX = [
-  ("windows", "amd64"),
-  ("windows", "386"),
-  ("windows", "arm"),
-  ("darwin", "amd64"),
-  ("linux", "amd64"),
-  ("linux", "386"),
-  ("linux", "arm64"),
-  ("linux", "arm"),
-  ("linux", "mips64"),
-  ("linux", "mips"),
-  ("linux", "mips64le"),
-  ("linux", "mipsle"),
-  ("linux", "ppc64"),
-  ("linux", "ppc64le"),
-  ("linux", "s390x"),
-  ("freebsd", "amd64"),
-  ("freebsd", "386"),
-  ("openbsd", "amd64"),
-  ("openbsd", "386"),
-  ("dragonfly", "amd64"),
+  ("windows", "amd64", "0"),
+  ("windows", "386", "0"),
+  ("windows", "arm", "7"),
+  ("darwin", "amd64", "0"),
+  ("linux", "amd64", "0"),
+  ("linux", "386", "0"),
+  ("linux", "arm64", "0"),
+  ("linux", "arm", "7"),
+  ("linux", "arm", "6"),
+  ("linux", "arm", "5"),
+  ("linux", "mips64", "0"),
+  ("linux", "mips", "0"),
+  ("linux", "mips64le", "0"),
+  ("linux", "mipsle", "0"),
+  ("linux", "ppc64", "0"),
+  ("linux", "ppc64le", "0"),
+  ("linux", "s390x", "0"),
+  ("freebsd", "amd64", "0"),
+  ("freebsd", "386", "0"),
+  ("openbsd", "amd64", "0"),
+  ("openbsd", "386", "0"),
+  ("dragonfly", "amd64", "0"),
 ]

+ 0 - 2
infra/control/main/BUILD

@@ -1,5 +1,3 @@
-load("//infra/bazel:build.bzl", "foreign_go_binary")
-load("//infra/bazel:gpg.bzl", "gpg_sign")
 load("//infra/bazel:matrix.bzl", "SUPPORTED_MATRIX")
 load("//infra/control/main:targets.bzl", "gen_targets")
 

+ 27 - 54
infra/control/main/targets.bzl

@@ -2,67 +2,21 @@ load("//infra/bazel:build.bzl", "foreign_go_binary")
 load("//infra/bazel:gpg.bzl", "gpg_sign")
 
 def gen_targets(matrix):
-  output = "v2ctl"
   pkg = "v2ray.com/core/infra/control/main"
+  output = "v2ctl"
 
-  for (os, arch) in matrix:
-    bin_name = "v2ctl_" + os + "_" + arch
-    foreign_go_binary(
-      name = bin_name,
-      pkg = pkg,
-      output = output,
-      os = os,
-      arch = arch,
-      gotags = "confonly",
-    )
-
-    gpg_sign(
-      name = bin_name + "_sig",
-      base = ":" + bin_name,
-    )
+  for (os, arch, ver) in matrix:
 
-    if arch in ["mips", "mipsle"]:
-      bin_name = "v2ctl_" + os + "_" + arch + "_softfloat"
-      foreign_go_binary(
-        name = bin_name,
-        pkg = pkg,
-        output = output + "_softfloat",
-        os = os,
-        arch = arch,
-        mips = "softfloat",
-        gotags = "confonly",
-      )
-
-      gpg_sign(
-        name = bin_name + "_sig",
-        base = ":" + bin_name,
-      )
-    
     if arch in ["arm"]:
-      bin_name = "v2ctl_" + os + "_" + arch + "_armv7"
+      bin_name = "v2ctl_" + os + "_" + arch + "_" + ver
       foreign_go_binary(
         name = bin_name,
         pkg = pkg,
-        output = output + "_armv7",
-        os = os,
-        arch = arch,
-        arm = "7",
-        gotags = "confonly",
-      )
-
-      gpg_sign(
-        name = bin_name + "_sig",
-        base = ":" + bin_name,
-      )
-
-      bin_name = "v2ctl_" + os + "_" + arch + "_armv6"
-      foreign_go_binary(
-        name = bin_name,
-        pkg = pkg,
-        output = output + "_armv6",
+        output = output,
         os = os,
         arch = arch,
-        arm = "6",
+        ver = ver,
+        arm = ver,
         gotags = "confonly",
       )
 
@@ -71,14 +25,15 @@ def gen_targets(matrix):
         base = ":" + bin_name,
       )
 
-      bin_name = "v2ctl_" + os + "_" + arch + "_armv5"
+    else:
+      bin_name = "v2ctl_" + os + "_" + arch
       foreign_go_binary(
         name = bin_name,
         pkg = pkg,
         output = output,
         os = os,
         arch = arch,
-        arm = "5",
+        ver = ver,
         gotags = "confonly",
       )
 
@@ -86,3 +41,21 @@ def gen_targets(matrix):
         name = bin_name + "_sig",
         base = ":" + bin_name,
       )
+
+      if arch in ["mips", "mipsle"]:
+        bin_name = "v2ctl_" + os + "_" + arch + "_softfloat"
+        foreign_go_binary(
+          name = bin_name,
+          pkg = pkg,
+          output = output + "_softfloat",
+          os = os,
+          arch = arch,
+          ver = ver,
+          mips = "softfloat",
+          gotags = "confonly",
+        )
+
+        gpg_sign(
+          name = bin_name + "_sig",
+          base = ":" + bin_name,
+        )

+ 0 - 2
main/BUILD

@@ -1,5 +1,3 @@
-load("//infra/bazel:build.bzl", "foreign_go_binary")
-load("//infra/bazel:gpg.bzl", "gpg_sign")
 load("//infra/bazel:matrix.bzl", "SUPPORTED_MATRIX")
 load("//main:targets.bzl", "gen_targets")
 

+ 60 - 114
main/targets.bzl

@@ -5,125 +5,18 @@ def gen_targets(matrix):
   pkg = "v2ray.com/core/main"
   output = "v2ray"
 
-  for (os, arch) in matrix:
-    bin_name = "v2ray_" + os + "_" + arch
-    foreign_go_binary(
-      name = bin_name,
-      pkg = pkg,
-      output = output,
-      os = os,
-      arch = arch,
-    )
+  for (os, arch, ver) in matrix:
 
-    gpg_sign(
-      name = bin_name + "_sig",
-      base = ":" + bin_name,
-    )
-
-    if os in ["windows"]:
-      bin_name = "v2ray_" + os + "_" + arch + "_nowindow"
-      foreign_go_binary(
-        name = bin_name,
-        pkg = pkg,
-        output = "w" + output,
-        os = os,
-        arch = arch,
-        ld = "-H windowsgui",
-      )
-
-      gpg_sign(
-        name = bin_name + "_sig",
-        base = ":" + bin_name,
-      )
-
-      bin_name = "v2ray_" + os + "_" + arch + "_armv7_nowindow"
-      foreign_go_binary(
-        name = bin_name,
-        pkg = pkg,
-        output = "w" + output + "_armv7",
-        os = os,
-        arch = arch,
-        arm = "7",
-        ld = "-H windowsgui",
-      )
-
-      gpg_sign(
-        name = bin_name + "_sig",
-        base = ":" + bin_name,
-      )
-
-      bin_name = "v2ray_" + os + "_" + arch + "_armv6_nowindow"
-      foreign_go_binary(
-        name = bin_name,
-        pkg = pkg,
-        output = "w" + output + "_armv6",
-        os = os,
-        arch = arch,
-        arm = "6",
-        ld = "-H windowsgui",
-      )
-
-      gpg_sign(
-        name = bin_name + "_sig",
-        base = ":" + bin_name,
-      )
-
-      bin_name = "v2ray_" + os + "_" + arch + "_armv5_nowindow"
-      foreign_go_binary(
-        name = bin_name,
-        pkg = pkg,
-        output = "w" + output,
-        os = os,
-        arch = arch,
-        arm = "5",
-        ld = "-H windowsgui",
-      )
-
-      gpg_sign(
-        name = bin_name + "_sig",
-        base = ":" + bin_name,
-      )
-
-    if arch in ["mips", "mipsle"]:
-      bin_name = "v2ray_" + os + "_" + arch + "_softfloat"
-      foreign_go_binary(
-        name = bin_name,
-        pkg = pkg,
-        output = output+"_softfloat",
-        os = os,
-        arch = arch,
-        mips = "softfloat",
-      )
-
-      gpg_sign(
-        name = bin_name + "_sig",
-        base = ":" + bin_name,
-      )
-    
     if arch in ["arm"]:
-      bin_name = "v2ray_" + os + "_" + arch + "_armv7"
-      foreign_go_binary(
-        name = bin_name,
-        pkg = pkg,
-        output = output + "_armv7",
-        os = os,
-        arch = arch,
-        arm = "7",
-      )
-
-      gpg_sign(
-        name = bin_name + "_sig",
-        base = ":" + bin_name,
-      )
-
-      bin_name = "v2ray_" + os + "_" + arch + "_armv6"
+      bin_name = "v2ray_" + os + "_" + arch + "_" + ver
       foreign_go_binary(
         name = bin_name,
         pkg = pkg,
-        output = output + "_armv6",
+        output = output,
         os = os,
         arch = arch,
-        arm = "6",
+        ver = ver,
+        arm = ver,
       )
 
       gpg_sign(
@@ -131,17 +24,70 @@ def gen_targets(matrix):
         base = ":" + bin_name,
       )
 
-      bin_name = "v2ray_" + os + "_" + arch + "_armv5"
+      if os in ["windows"]:
+        bin_name = "v2ray_" + os + "_" + arch + "_" + ver + "_nowindow"
+        foreign_go_binary(
+          name = bin_name,
+          pkg = pkg,
+          output = "w" + output,
+          os = os,
+          arch = arch,
+          ver = ver,
+          arm = ver,
+          ld = "-H windowsgui",
+        )
+
+        gpg_sign(
+          name = bin_name + "_sig",
+          base = ":" + bin_name,
+        )
+
+    else:
+      bin_name = "v2ray_" + os + "_" + arch
       foreign_go_binary(
         name = bin_name,
         pkg = pkg,
         output = output,
         os = os,
         arch = arch,
-        arm = "5",
+        ver = ver,
       )
 
       gpg_sign(
         name = bin_name + "_sig",
         base = ":" + bin_name,
       )
+
+      if os in ["windows"]:
+        bin_name = "v2ray_" + os + "_" + arch + "_nowindow"
+        foreign_go_binary(
+          name = bin_name,
+          pkg = pkg,
+          output = "w" + output,
+          os = os,
+          arch = arch,
+          ver = ver,
+          ld = "-H windowsgui",
+        )
+
+        gpg_sign(
+          name = bin_name + "_sig",
+          base = ":" + bin_name,
+        )
+
+      if arch in ["mips", "mipsle"]:
+        bin_name = "v2ray_" + os + "_" + arch + "_softfloat"
+        foreign_go_binary(
+          name = bin_name,
+          pkg = pkg,
+          output = output + "_softfloat",
+          os = os,
+          arch = arch,
+          ver = ver,
+          mips = "softfloat",
+        )
+
+        gpg_sign(
+          name = bin_name + "_sig",
+          base = ":" + bin_name,
+        )

+ 79 - 67
release/BUILD

@@ -44,8 +44,8 @@ pkg_zip(
         "//main:v2ray_darwin_amd64",
         "//main:v2ray_darwin_amd64_sig",
     ],
-    out = "v2ray-macos.zip",
-    mappings = gen_mappings("darwin", "amd64"),
+    out = "v2ray-macos-64.zip",
+    mappings = gen_mappings("darwin", "amd64", "0"),
 )
 
 pkg_zip(
@@ -57,12 +57,12 @@ pkg_zip(
         "//infra/control/main:v2ctl_windows_amd64",
         "//infra/control/main:v2ctl_windows_amd64_sig",
         "//main:v2ray_windows_amd64",
+        "//main:v2ray_windows_amd64_sig",
         "//main:v2ray_windows_amd64_nowindow",
         "//main:v2ray_windows_amd64_nowindow_sig",
-        "//main:v2ray_windows_amd64_sig",
     ],
     out = "v2ray-windows-64.zip",
-    mappings = gen_mappings("windows", "amd64"),
+    mappings = gen_mappings("windows", "amd64", "0"),
 )
 
 pkg_zip(
@@ -74,41 +74,29 @@ pkg_zip(
         "//infra/control/main:v2ctl_windows_386",
         "//infra/control/main:v2ctl_windows_386_sig",
         "//main:v2ray_windows_386",
+        "//main:v2ray_windows_386_sig",
         "//main:v2ray_windows_386_nowindow",
         "//main:v2ray_windows_386_nowindow_sig",
-        "//main:v2ray_windows_386_sig",
     ],
     out = "v2ray-windows-32.zip",
-    mappings = gen_mappings("windows", "386"),
+    mappings = gen_mappings("windows", "386", "0"),
 )
 
 pkg_zip(
-    name = "v2ray_windows_arm_package",
+    name = "v2ray_windows_armv7_package",
     srcs = [
         ":config_json",
         ":doc",
         ":geodata",
-        "//infra/control/main:v2ctl_windows_arm_armv5",
-        "//infra/control/main:v2ctl_windows_arm_armv5_sig",
-        "//infra/control/main:v2ctl_windows_arm_armv6",
-        "//infra/control/main:v2ctl_windows_arm_armv6_sig",
-        "//infra/control/main:v2ctl_windows_arm_armv7",
-        "//infra/control/main:v2ctl_windows_arm_armv7_sig",
-        "//main:v2ray_windows_arm_armv5",
-        "//main:v2ray_windows_arm_armv5_sig",
-        "//main:v2ray_windows_arm_armv5_nowindow",
-        "//main:v2ray_windows_arm_armv5_nowindow_sig",
-        "//main:v2ray_windows_arm_armv6",
-        "//main:v2ray_windows_arm_armv6_sig",
-        "//main:v2ray_windows_arm_armv6_nowindow",
-        "//main:v2ray_windows_arm_armv6_nowindow_sig",
-        "//main:v2ray_windows_arm_armv7",
-        "//main:v2ray_windows_arm_armv7_sig",
-        "//main:v2ray_windows_arm_armv7_nowindow",
-        "//main:v2ray_windows_arm_armv7_nowindow_sig",
+        "//infra/control/main:v2ctl_windows_arm_7",
+        "//infra/control/main:v2ctl_windows_arm_7_sig",
+        "//main:v2ray_windows_arm_7",
+        "//main:v2ray_windows_arm_7_sig",
+        "//main:v2ray_windows_arm_7_nowindow",
+        "//main:v2ray_windows_arm_7_nowindow_sig",
     ],
-    out = "v2ray-windows-arm.zip",
-    mappings = gen_mappings("windows", "arm"),
+    out = "v2ray-windows-arm32-v7a.zip",
+    mappings = gen_mappings("windows", "arm", "7"),
 )
 
 pkg_zip(
@@ -123,7 +111,7 @@ pkg_zip(
         "//main:v2ray_freebsd_amd64_sig",
     ],
     out = "v2ray-freebsd-64.zip",
-    mappings = gen_mappings("freebsd", "amd64"),
+    mappings = gen_mappings("freebsd", "amd64", "0"),
 )
 
 pkg_zip(
@@ -138,7 +126,7 @@ pkg_zip(
         "//main:v2ray_freebsd_386_sig",
     ],
     out = "v2ray-freebsd-32.zip",
-    mappings = gen_mappings("freebsd", "386"),
+    mappings = gen_mappings("freebsd", "386", "0"),
 )
 
 pkg_zip(
@@ -153,7 +141,7 @@ pkg_zip(
         "//main:v2ray_openbsd_amd64_sig",
     ],
     out = "v2ray-openbsd-64.zip",
-    mappings = gen_mappings("openbsd", "amd64"),
+    mappings = gen_mappings("openbsd", "amd64", "0"),
 )
 
 pkg_zip(
@@ -168,7 +156,7 @@ pkg_zip(
         "//main:v2ray_openbsd_386_sig",
     ],
     out = "v2ray-openbsd-32.zip",
-    mappings = gen_mappings("openbsd", "386"),
+    mappings = gen_mappings("openbsd", "386", "0"),
 )
 
 pkg_zip(
@@ -183,7 +171,7 @@ pkg_zip(
         "//main:v2ray_dragonfly_amd64_sig",
     ],
     out = "v2ray-dragonfly-64.zip",
-    mappings = gen_mappings("dragonfly", "amd64"),
+    mappings = gen_mappings("dragonfly", "amd64", "0"),
 )
 
 pkg_zip(
@@ -199,7 +187,7 @@ pkg_zip(
         "//main:v2ray_linux_amd64_sig",
     ],
     out = "v2ray-linux-64.zip",
-    mappings = gen_mappings("linux", "amd64"),
+    mappings = gen_mappings("linux", "amd64", "0"),
 )
 
 pkg_zip(
@@ -215,51 +203,75 @@ pkg_zip(
         "//main:v2ray_linux_386_sig",
     ],
     out = "v2ray-linux-32.zip",
-    mappings = gen_mappings("linux", "386"),
+    mappings = gen_mappings("linux", "386", "0"),
 )
 
 pkg_zip(
-    name = "v2ray_linux_arm_package",
+    name = "v2ray_linux_arm64_package",
     srcs = [
         ":config_json",
         ":doc",
         ":geodata",
         ":systemd",
-        "//infra/control/main:v2ctl_linux_arm_armv5",
-        "//infra/control/main:v2ctl_linux_arm_armv5_sig",
-        "//infra/control/main:v2ctl_linux_arm_armv6",
-        "//infra/control/main:v2ctl_linux_arm_armv6_sig",
-        "//infra/control/main:v2ctl_linux_arm_armv7",
-        "//infra/control/main:v2ctl_linux_arm_armv7_sig",
-        "//main:v2ray_linux_arm_armv5",
-        "//main:v2ray_linux_arm_armv5_sig",
-        "//main:v2ray_linux_arm_armv6",
-        "//main:v2ray_linux_arm_armv6_sig",
-        "//main:v2ray_linux_arm_armv7",
-        "//main:v2ray_linux_arm_armv7_sig",
+        "//infra/control/main:v2ctl_linux_arm64",
+        "//infra/control/main:v2ctl_linux_arm64_sig",
+        "//main:v2ray_linux_arm64",
+        "//main:v2ray_linux_arm64_sig",
     ],
-    out = "v2ray-linux-arm.zip",
-    mappings = gen_mappings("linux", "arm"),
+    out = "v2ray-linux-arm64-v8a.zip",
+    mappings = gen_mappings("linux", "arm64", "0"),
 )
 
 pkg_zip(
-    name = "v2ray_linux_arm64_package",
+    name = "v2ray_linux_armv7_package",
     srcs = [
         ":config_json",
         ":doc",
         ":geodata",
         ":systemd",
-        "//infra/control/main:v2ctl_linux_arm64",
-        "//infra/control/main:v2ctl_linux_arm64_sig",
-        "//main:v2ray_linux_arm64",
-        "//main:v2ray_linux_arm64_sig",
+        "//infra/control/main:v2ctl_linux_arm_7",
+        "//infra/control/main:v2ctl_linux_arm_7_sig",
+        "//main:v2ray_linux_arm_7",
+        "//main:v2ray_linux_arm_7_sig",
+    ],
+    out = "v2ray-linux-arm32-v7a.zip",
+    mappings = gen_mappings("linux", "arm", "7"),
+)
+
+pkg_zip(
+    name = "v2ray_linux_armv6_package",
+    srcs = [
+        ":config_json",
+        ":doc",
+        ":geodata",
+        ":systemd",
+        "//infra/control/main:v2ctl_linux_arm_6",
+        "//infra/control/main:v2ctl_linux_arm_6_sig",
+        "//main:v2ray_linux_arm_6",
+        "//main:v2ray_linux_arm_6_sig",
+    ],
+    out = "v2ray-linux-arm32-v6.zip",
+    mappings = gen_mappings("linux", "arm", "6"),
+)
+
+pkg_zip(
+    name = "v2ray_linux_armv5_package",
+    srcs = [
+        ":config_json",
+        ":doc",
+        ":geodata",
+        ":systemd",
+        "//infra/control/main:v2ctl_linux_arm_5",
+        "//infra/control/main:v2ctl_linux_arm_5_sig",
+        "//main:v2ray_linux_arm_5",
+        "//main:v2ray_linux_arm_5_sig",
     ],
-    out = "v2ray-linux-arm64.zip",
-    mappings = gen_mappings("linux", "arm64"),
+    out = "v2ray-linux-arm32-v5.zip",
+    mappings = gen_mappings("linux", "arm", "5"),
 )
 
 pkg_zip(
-    name = "v2ray_linux_mips_package",
+    name = "v2ray_linux_mips32_package",
     srcs = [
         ":config_json",
         ":doc",
@@ -274,12 +286,12 @@ pkg_zip(
         "//main:v2ray_linux_mips_softfloat",
         "//main:v2ray_linux_mips_softfloat_sig",
     ],
-    out = "v2ray-linux-mips.zip",
-    mappings = gen_mappings("linux", "mips"),
+    out = "v2ray-linux-mips32.zip",
+    mappings = gen_mappings("linux", "mips", "0"),
 )
 
 pkg_zip(
-    name = "v2ray_linux_mipsle_package",
+    name = "v2ray_linux_mips32le_package",
     srcs = [
         ":config_json",
         ":doc",
@@ -294,8 +306,8 @@ pkg_zip(
         "//main:v2ray_linux_mipsle_softfloat",
         "//main:v2ray_linux_mipsle_softfloat_sig",
     ],
-    out = "v2ray-linux-mipsle.zip",
-    mappings = gen_mappings("linux", "mipsle"),
+    out = "v2ray-linux-mips32le.zip",
+    mappings = gen_mappings("linux", "mipsle", "0"),
 )
 
 pkg_zip(
@@ -311,7 +323,7 @@ pkg_zip(
         "//main:v2ray_linux_mips64_sig",
     ],
     out = "v2ray-linux-mips64.zip",
-    mappings = gen_mappings("linux", "mips64"),
+    mappings = gen_mappings("linux", "mips64", "0"),
 )
 
 pkg_zip(
@@ -327,7 +339,7 @@ pkg_zip(
         "//main:v2ray_linux_mips64le_sig",
     ],
     out = "v2ray-linux-mips64le.zip",
-    mappings = gen_mappings("linux", "mips64le"),
+    mappings = gen_mappings("linux", "mips64le", "0"),
 )
 
 pkg_zip(
@@ -343,7 +355,7 @@ pkg_zip(
         "//main:v2ray_linux_s390x_sig",
     ],
     out = "v2ray-linux-s390x.zip",
-    mappings = gen_mappings("linux", "s390x"),
+    mappings = gen_mappings("linux", "s390x", "0"),
 )
 
 pkg_zip(
@@ -359,7 +371,7 @@ pkg_zip(
         "//main:v2ray_linux_ppc64_sig",
     ],
     out = "v2ray-linux-ppc64.zip",
-    mappings = gen_mappings("linux", "ppc64"),
+    mappings = gen_mappings("linux", "ppc64", "0"),
 )
 
 pkg_zip(
@@ -375,5 +387,5 @@ pkg_zip(
         "//main:v2ray_linux_ppc64le_sig",
     ],
     out = "v2ray-linux-ppc64le.zip",
-    mappings = gen_mappings("linux", "ppc64le"),
+    mappings = gen_mappings("linux", "ppc64le", "0"),
 )

+ 16 - 12
release/bleedingrelease.sh

@@ -34,18 +34,20 @@ pushd ${ART_ROOT}
 {
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen version ${RELEASE_TAG}
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen project "v2flyunstable"
-  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-macos.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-macos-64.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-windows-64.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-windows-32.zip
-  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-windows-arm.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-windows-arm32-v7a.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-64.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-32.zip
-  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-arm.zip
-  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-arm64.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-arm64-v8a.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-arm32-v7a.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-arm32-v6.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-arm32-v5.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-mips64.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-mips64le.zip
-  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-mips.zip
-  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-mipsle.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-mips32.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-mips32le.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-ppc64.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-ppc64le.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-s390x.zip
@@ -65,18 +67,20 @@ pushd ${ART_ROOT}
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil post commit "${RELEASE_SHA}" < buildcomment
 popd
 
-upload ${ART_ROOT}/v2ray-macos.zip
+upload ${ART_ROOT}/v2ray-macos-64.zip
 upload ${ART_ROOT}/v2ray-windows-64.zip
 upload ${ART_ROOT}/v2ray-windows-32.zip
-upload ${ART_ROOT}/v2ray-windows-arm.zip
+upload ${ART_ROOT}/v2ray-windows-arm32-v7a.zip
 upload ${ART_ROOT}/v2ray-linux-64.zip
 upload ${ART_ROOT}/v2ray-linux-32.zip
-upload ${ART_ROOT}/v2ray-linux-arm.zip
-upload ${ART_ROOT}/v2ray-linux-arm64.zip
+upload ${ART_ROOT}/v2ray-linux-arm64-v8a.zip
+upload ${ART_ROOT}/v2ray-linux-arm32-v7a.zip
+upload ${ART_ROOT}/v2ray-linux-arm32-v6.zip
+upload ${ART_ROOT}/v2ray-linux-arm32-v5.zip
 upload ${ART_ROOT}/v2ray-linux-mips64.zip
 upload ${ART_ROOT}/v2ray-linux-mips64le.zip
-upload ${ART_ROOT}/v2ray-linux-mips.zip
-upload ${ART_ROOT}/v2ray-linux-mipsle.zip
+upload ${ART_ROOT}/v2ray-linux-mips32.zip
+upload ${ART_ROOT}/v2ray-linux-mips32le.zip
 upload ${ART_ROOT}/v2ray-linux-ppc64.zip
 upload ${ART_ROOT}/v2ray-linux-ppc64le.zip
 upload ${ART_ROOT}/v2ray-linux-s390x.zip

+ 3 - 3
release/mapping.bzl

@@ -1,7 +1,7 @@
-def gen_mappings(os, arch):
+def gen_mappings(os, arch, ver):
   return {
     "v2ray_core/release/doc": "doc",
     "v2ray_core/release/config": "",
-    "v2ray_core/main/" + os + "/" + arch: "",
-    "v2ray_core/infra/control/main/" + os + "/" + arch: "",
+    "v2ray_core/main/" + os + "/" + arch + "/" + ver: "",
+    "v2ray_core/infra/control/main/" + os + "/" + arch + "/" + ver : "",
   }

+ 16 - 12
release/tagrelease.sh

@@ -59,18 +59,20 @@ pushd ${ART_ROOT}
 {
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen version "${GITHUB_RELEASE_TAG}"
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen project "v2fly"
-  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-macos.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-macos-64.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-windows-64.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-windows-32.zip
-  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-windows-arm.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-windows-arm32-v7a.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-64.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-32.zip
-  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-arm.zip
-  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-arm64.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-arm64-v8a.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-arm32-v7a.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-arm32-v6.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-arm32-v5.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-mips64.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-mips64le.zip
-  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-mips.zip
-  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-mipsle.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-mips32.zip
+  go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-mips32le.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-ppc64.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-ppc64le.zip
   go run github.com/xiaokangwang/V2BuildAssist/v2buildutil gen file v2ray-linux-s390x.zip
@@ -84,18 +86,20 @@ pushd ${ART_ROOT}
 
 popd
 
-upload ${ART_ROOT}/v2ray-macos.zip
+upload ${ART_ROOT}/v2ray-macos-64.zip
 upload ${ART_ROOT}/v2ray-windows-64.zip
 upload ${ART_ROOT}/v2ray-windows-32.zip
-upload ${ART_ROOT}/v2ray-windows-arm.zip
+upload ${ART_ROOT}/v2ray-windows-arm32-v7a.zip
 upload ${ART_ROOT}/v2ray-linux-64.zip
 upload ${ART_ROOT}/v2ray-linux-32.zip
-upload ${ART_ROOT}/v2ray-linux-arm.zip
-upload ${ART_ROOT}/v2ray-linux-arm64.zip
+upload ${ART_ROOT}/v2ray-linux-arm64-v8a.zip
+upload ${ART_ROOT}/v2ray-linux-arm32-v7a.zip
+upload ${ART_ROOT}/v2ray-linux-arm32-v6.zip
+upload ${ART_ROOT}/v2ray-linux-arm32-v5.zip
 upload ${ART_ROOT}/v2ray-linux-mips64.zip
 upload ${ART_ROOT}/v2ray-linux-mips64le.zip
-upload ${ART_ROOT}/v2ray-linux-mips.zip
-upload ${ART_ROOT}/v2ray-linux-mipsle.zip
+upload ${ART_ROOT}/v2ray-linux-mips32.zip
+upload ${ART_ROOT}/v2ray-linux-mips32le.zip
 upload ${ART_ROOT}/v2ray-linux-ppc64.zip
 upload ${ART_ROOT}/v2ray-linux-ppc64le.zip
 upload ${ART_ROOT}/v2ray-linux-s390x.zip