aboutsummaryrefslogtreecommitdiff
path: root/tools/gradle.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gradle.py')
-rwxr-xr-xtools/gradle.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/gradle.py b/tools/gradle.py
index 488dc87b8..14b5f3401 100755
--- a/tools/gradle.py
+++ b/tools/gradle.py
@@ -14,6 +14,7 @@ import utils
GRADLE_DIR = os.path.join(utils.REPO_ROOT, 'third_party', 'gradle')
GRADLE_SHA1 = os.path.join(GRADLE_DIR, 'gradle.tar.gz.sha1')
+GRADLE_TGZ = os.path.join(GRADLE_DIR, 'gradle.tar.gz')
if utils.IsWindows():
GRADLE = os.path.join(GRADLE_DIR, 'gradle', 'bin', 'gradle.bat')
else:
@@ -27,9 +28,12 @@ def PrintCmd(s):
sys.stdout.flush()
def EnsureGradle():
- if not os.path.exists(GRADLE):
- # Bootstrap gradle, everything else is controlled using gradle.
+ if not os.path.exists(GRADLE) or os.path.getmtime(GRADLE_TGZ) < os.path.getmtime(GRADLE_SHA1):
+ # Bootstrap or update gradle, everything else is controlled using gradle.
utils.DownloadFromGoogleCloudStorage(GRADLE_SHA1)
+ # Update the mtime of the tar file to make sure we do not run again unless
+ # there is an update.
+ os.utime(GRADLE_TGZ, None)
else:
print 'gradle.py: Gradle binary present'