diff --git a/src/it/tests/basic-it/windows/build.xml b/src/it/tests/basic-it/windows/build.xml
index 0dc6376..4520eee 100644
--- a/src/it/tests/basic-it/windows/build.xml
+++ b/src/it/tests/basic-it/windows/build.xml
@@ -18,7 +18,7 @@
-
+
diff --git a/src/main/java/io/openliberty/tools/ant/install/InstallLibertyTask.java b/src/main/java/io/openliberty/tools/ant/install/InstallLibertyTask.java
index 6c006cf..376c6da 100644
--- a/src/main/java/io/openliberty/tools/ant/install/InstallLibertyTask.java
+++ b/src/main/java/io/openliberty/tools/ant/install/InstallLibertyTask.java
@@ -42,9 +42,10 @@ public class InstallLibertyTask extends AbstractTask {
private String runtimeUrl;
private String username;
private String password;
- private long maxDownloadTime;
+ private String maxDownloadTime;
private boolean offline;
private boolean useOpenLiberty;
+ private boolean skipDownloadIfExisting;
private boolean skipAlreadyInstalledCheck = false;
@@ -98,10 +99,14 @@ private void doExecute() throws Exception {
}
protected void downloadFile(URL source, File dest) throws IOException {
+ downloadFile(source, dest, false);
+ }
+
+ protected void downloadFile(URL source, File dest, boolean skipExisting) throws IOException {
if (offline) {
offlineDownload(source, dest);
} else {
- onlineDownload(source, dest);
+ onlineDownload(source, dest, skipExisting);
}
}
@@ -113,7 +118,11 @@ private void offlineDownload(URL source, File dest) throws IOException {
}
}
- private void onlineDownload(URL source, File dest) throws IOException {
+ private void onlineDownload(URL source, File dest, boolean skipExisting) throws IOException {
+ if (skipExisting && dest.exists()) {
+ return;
+ }
+
Get get = (Get) getProject().createTask("get");
DownloadProgress progress = null;
if (verbose) {
@@ -122,7 +131,7 @@ private void onlineDownload(URL source, File dest) throws IOException {
get.setUseTimestamp(true);
get.setUsername(username);
get.setPassword(password);
- get.setMaxTime(maxDownloadTime);
+ get.setMaxTime(getMaxDownloadTime());
get.setRetries(5);
get.doGet(source, dest, Project.MSG_INFO, progress);
}
@@ -232,10 +241,18 @@ public void setPassword(String password) {
}
public long getMaxDownloadTime() {
- return maxDownloadTime;
+ if (maxDownloadTime == null) {
+ return 0;
+ } else {
+ return Long.parseLong(maxDownloadTime);
+ }
}
public void setMaxDownloadTime(long maxDownloadTime) {
+ this.maxDownloadTime = Long.toString(maxDownloadTime);
+ }
+
+ public void setMaxDownloadTime(String maxDownloadTime) {
this.maxDownloadTime = maxDownloadTime;
}
@@ -262,4 +279,12 @@ public void setSkipAlreadyInstalledCheck(boolean skipAlreadyInstalledCheck) {
public boolean getSkipAlreadyInstalledCheck() {
return skipAlreadyInstalledCheck;
}
+
+ public boolean getSkipDownloadIfExisting() {
+ return skipDownloadIfExisting;
+ }
+
+ public void setSkipDownloadIfExisting(boolean skipDownloadIfExisting) {
+ this.skipDownloadIfExisting = skipDownloadIfExisting;
+ }
}
diff --git a/src/main/java/io/openliberty/tools/ant/install/OpenLibertyInstaller.java b/src/main/java/io/openliberty/tools/ant/install/OpenLibertyInstaller.java
index 1f98779..a48078b 100644
--- a/src/main/java/io/openliberty/tools/ant/install/OpenLibertyInstaller.java
+++ b/src/main/java/io/openliberty/tools/ant/install/OpenLibertyInstaller.java
@@ -29,7 +29,7 @@ public void install(InstallLibertyTask task) throws Exception {
// Download version json file
File versionInfoFile = new File(cacheDir, "openliberty-versions.json");
- task.downloadFile(versionInfoUrl, versionInfoFile);
+ task.downloadFile(versionInfoUrl, versionInfoFile, task.getSkipDownloadIfExisting());
// Parse JSON
InputStream versionInfoIs = new FileInputStream(versionInfoFile);
@@ -53,7 +53,7 @@ public void install(InstallLibertyTask task) throws Exception {
String versionUrl = baseUrl + version + "/";
URL runtimeInfoUrl = new URL(versionUrl + "info.json");
File runtimeInfoFile = new File(cacheDir, version + ".json");
- task.downloadFile(runtimeInfoUrl, runtimeInfoFile);
+ task.downloadFile(runtimeInfoUrl, runtimeInfoFile, task.getSkipDownloadIfExisting());
// Parse JSON
InputStream runtimeInfoIs = new FileInputStream(runtimeInfoFile);
diff --git a/src/main/java/io/openliberty/tools/ant/install/WasDevInstaller.java b/src/main/java/io/openliberty/tools/ant/install/WasDevInstaller.java
index c5dda3e..8eb2eb7 100644
--- a/src/main/java/io/openliberty/tools/ant/install/WasDevInstaller.java
+++ b/src/main/java/io/openliberty/tools/ant/install/WasDevInstaller.java
@@ -68,7 +68,7 @@ public void install(InstallLibertyTask task) throws Exception {
// download yml file
URL ymlURL = new URL(url);
File ymlFile = new File(cacheDir, InstallUtils.getFile(ymlURL));
- task.downloadFile(ymlURL, ymlFile);
+ task.downloadFile(ymlURL, ymlFile, task.getSkipDownloadIfExisting());
// parse yml
List versions = LibertyYaml.parse(ymlFile);