From a25a42be76f1e5fb1b86c115b5665a9743076c4d Mon Sep 17 00:00:00 2001
From: gnzlbg <gonzalobg88@gmail.com>
Date: Wed, 20 Feb 2019 18:42:34 +0100
Subject: [PATCH] Speed up documentation build by using cargo when possible

---
 ci/build.sh | 4 +++-
 ci/dox.sh   | 9 +++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/ci/build.sh b/ci/build.sh
index 78c65be9..74727a33 100644
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -32,7 +32,9 @@ test_target() {
         n=0
         until [ $n -ge $N ]
         do
-            rustup target add "${TARGET}" --toolchain "${RUST}" && break
+            if rustup target add "${TARGET}" --toolchain "${RUST}" ; then
+                break
+            fi
             n=$((n+1))
             sleep 1
         done
diff --git a/ci/dox.sh b/ci/dox.sh
index ff49298c..6c0f1a0c 100644
--- a/ci/dox.sh
+++ b/ci/dox.sh
@@ -38,8 +38,13 @@ while read -r target; do
     esac
 
     rustup target add "${target}" || true
-    xargo doc --target "${target}" \
-          --no-default-features  --features extra_traits
+
+    # If cargo doc fails, then try xargo:
+    if ! cargo doc --target "${target}" \
+             --no-default-features  --features extra_traits ; then
+        xargo doc --target "${target}" \
+              --no-default-features  --features extra_traits
+    fi
 
     cp -r "target/${target}/doc" "${TARGET_DOC_DIR}/${target}"
 
-- 
GitLab