Use the new build.sh script for building Jiri

Change-Id: I2f4ab393dfa9860864095671ce9dae2ee1198b5a
diff --git a/recipes/jiri.expected/ci.json b/recipes/jiri.expected/ci.json
index 0b8d604..544253d 100644
--- a/recipes/jiri.expected/ci.json
+++ b/recipes/jiri.expected/ci.json
@@ -157,62 +157,14 @@
   },
   {
     "cmd": [
-      "python",
-      "-u",
-      "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n  if os.path.exists(path):\n    print \"%s exists but is not a dir\" % path\n    sys.exit(1)\n  os.makedirs(path, mode)\n",
-      "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2/build",
-      "511"
-    ],
-    "name": "makedirs build",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@python.inline@@@@",
-      "@@@STEP_LOG_LINE@python.inline@import sys, os@@@",
-      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@",
-      "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@",
-      "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@",
-      "@@@STEP_LOG_LINE@python.inline@  if os.path.exists(path):@@@",
-      "@@@STEP_LOG_LINE@python.inline@    print \"%s exists but is not a dir\" % path@@@",
-      "@@@STEP_LOG_LINE@python.inline@    sys.exit(1)@@@",
-      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(path, mode)@@@",
-      "@@@STEP_LOG_END@python.inline@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/bin/cmake",
-      "-GNinja",
-      "-DCMAKE_MAKE_PROGRAM=[START_DIR]/cipd/ninja",
-      "-DCMAKE_BUILD_TYPE=RelWithDebInfo",
-      "-DCMAKE_C_FLAGS=-fPIC",
-      "-DTHREADSAFE=ON",
-      "-DBUILD_CLAR=OFF",
-      "-DBUILD_SHARED_LIBS=OFF",
-      "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2"
-    ],
-    "cwd": "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2/build",
-    "name": "configure libgit2"
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/ninja"
-    ],
-    "cwd": "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2/build",
-    "name": "build libgit2"
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/go/bin/go",
-      "build",
-      "-ldflags",
-      "-X \"fuchsia.googlesource.com/jiri/version.GitCommit=c22471f4e3f842ae18dd9adec82ed9eb78ed1127\" -X \"fuchsia.googlesource.com/jiri/version.BuildTime=2012-05-14T12:53:21.500000\"",
-      "-a",
-      "fuchsia.googlesource.com/jiri/cmd/jiri"
+      "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/scripts/build.sh"
     ],
     "env": {
-      "GOPATH": "[START_DIR]/go",
-      "GOROOT": "[START_DIR]/cipd/go"
+      "CMAKE_PROGRAM": "[START_DIR]/cipd/bin/cmake",
+      "GO_PROGRAM": "[START_DIR]/cipd/go/bin/go",
+      "NINJA_PROGRAM": "[START_DIR]/cipd/ninja"
     },
-    "name": "go build"
+    "name": "build jiri"
   },
   {
     "cmd": [
diff --git a/recipes/jiri.expected/cq_try.json b/recipes/jiri.expected/cq_try.json
index 9e2a928..6c5cb6b 100644
--- a/recipes/jiri.expected/cq_try.json
+++ b/recipes/jiri.expected/cq_try.json
@@ -167,62 +167,14 @@
   },
   {
     "cmd": [
-      "python",
-      "-u",
-      "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n  if os.path.exists(path):\n    print \"%s exists but is not a dir\" % path\n    sys.exit(1)\n  os.makedirs(path, mode)\n",
-      "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2/build",
-      "511"
-    ],
-    "name": "makedirs build",
-    "~followup_annotations": [
-      "@@@STEP_LOG_LINE@python.inline@@@@",
-      "@@@STEP_LOG_LINE@python.inline@import sys, os@@@",
-      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@",
-      "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@",
-      "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@",
-      "@@@STEP_LOG_LINE@python.inline@  if os.path.exists(path):@@@",
-      "@@@STEP_LOG_LINE@python.inline@    print \"%s exists but is not a dir\" % path@@@",
-      "@@@STEP_LOG_LINE@python.inline@    sys.exit(1)@@@",
-      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(path, mode)@@@",
-      "@@@STEP_LOG_END@python.inline@@@"
-    ]
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/bin/cmake",
-      "-GNinja",
-      "-DCMAKE_MAKE_PROGRAM=[START_DIR]/cipd/ninja",
-      "-DCMAKE_BUILD_TYPE=RelWithDebInfo",
-      "-DCMAKE_C_FLAGS=-fPIC",
-      "-DTHREADSAFE=ON",
-      "-DBUILD_CLAR=OFF",
-      "-DBUILD_SHARED_LIBS=OFF",
-      "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2"
-    ],
-    "cwd": "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2/build",
-    "name": "configure libgit2"
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/ninja"
-    ],
-    "cwd": "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/vendor/github.com/libgit2/git2go/vendor/libgit2/build",
-    "name": "build libgit2"
-  },
-  {
-    "cmd": [
-      "[START_DIR]/cipd/go/bin/go",
-      "build",
-      "-ldflags",
-      "-X \"fuchsia.googlesource.com/jiri/version.GitCommit=c22471f4e3f842ae18dd9adec82ed9eb78ed1127\" -X \"fuchsia.googlesource.com/jiri/version.BuildTime=2012-05-14T12:53:21.500000\"",
-      "-a",
-      "fuchsia.googlesource.com/jiri/cmd/jiri"
+      "[START_DIR]/go/src/fuchsia.googlesource.com/jiri/scripts/build.sh"
     ],
     "env": {
-      "GOPATH": "[START_DIR]/go",
-      "GOROOT": "[START_DIR]/cipd/go"
+      "CMAKE_PROGRAM": "[START_DIR]/cipd/bin/cmake",
+      "GO_PROGRAM": "[START_DIR]/cipd/go/bin/go",
+      "NINJA_PROGRAM": "[START_DIR]/cipd/ninja"
     },
-    "name": "go build"
+    "name": "build jiri"
   },
   {
     "cmd": [
diff --git a/recipes/jiri.py b/recipes/jiri.py
index 38b7d77..d84b6f6 100644
--- a/recipes/jiri.py
+++ b/recipes/jiri.py
@@ -59,8 +59,6 @@
 
   jiri_dir = api.path['start_dir'].join(
       'go', 'src', 'fuchsia.googlesource.com', 'jiri')
-  git2go_dir = jiri_dir.join('vendor', 'github.com', 'libgit2', 'git2go')
-  libgit2_dir = git2go_dir.join('vendor', 'libgit2')
 
   with api.step.nest('ensure_packages'):
     with api.step.context({'infra_step': True}):
@@ -70,30 +68,12 @@
         'fuchsia/tools/ninja/${platform}': 'latest',
       })
 
-  build_dir = libgit2_dir.join('build')
-  api.shutil.makedirs('build', build_dir)
-  with api.step.context({'cwd': build_dir}):
-    api.step('configure libgit2', [
-      cipd_dir.join('bin', 'cmake'),
-      '-GNinja',
-      '-DCMAKE_MAKE_PROGRAM=%s' % cipd_dir.join('ninja'),
-      '-DCMAKE_BUILD_TYPE=RelWithDebInfo',
-      '-DCMAKE_C_FLAGS=-fPIC',
-      '-DTHREADSAFE=ON',
-      '-DBUILD_CLAR=OFF',
-      '-DBUILD_SHARED_LIBS=OFF',
-      libgit2_dir,
-    ])
-    api.step('build libgit2', [cipd_dir.join('ninja')])
+  api.step('build jiri', [jiri_dir.join('scripts', 'build.sh')],
+           env={'CMAKE_PROGRAM': cipd_dir.join('bin', 'cmake'),
+                'NINJA_PROGRAM': cipd_dir.join('ninja'),
+                'GO_PROGRAM': api.go.go_executable})
 
-  build_time = api.time.utcnow().isoformat()
-  ldflags = "-X \"fuchsia.googlesource.com/jiri/version.GitCommit=%s\" -X \"fuchsia.googlesource.com/jiri/version.BuildTime=%s\"" % (revision, build_time)
   gopath = api.path['start_dir'].join('go')
-
-  with api.step.context({'env': {'GOPATH': gopath}}):
-    api.go('build', '-ldflags', ldflags, '-a',
-           'fuchsia.googlesource.com/jiri/cmd/jiri')
-
   with api.step.context({'env': {'GOPATH': gopath}}):
     api.go('test', 'fuchsia.googlesource.com/jiri/cmd/jiri')