From ffbbff86f3681430911d92192368e09ea3617e8b Mon Sep 17 00:00:00 2001 From: rev-doshi Date: Wed, 26 Jun 2024 15:26:35 +0530 Subject: [PATCH 01/24] updated commons-io to latest version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6ee784c..aad1d0d 100644 --- a/pom.xml +++ b/pom.xml @@ -53,7 +53,7 @@ org.apache.commons commons-io - 1.3.2 + 2.16.1 org.json From 7e32b8949272b84d08ecd35748f423df138d00e0 Mon Sep 17 00:00:00 2001 From: rev-doshi Date: Wed, 26 Jun 2024 18:15:52 +0530 Subject: [PATCH 02/24] updated the groupId for the latest version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index aad1d0d..fdc380c 100644 --- a/pom.xml +++ b/pom.xml @@ -51,7 +51,7 @@ test - org.apache.commons + commons-io commons-io 2.16.1 From 588c06f87e8172680c370ea36cdda02845992981 Mon Sep 17 00:00:00 2001 From: rev-doshi Date: Fri, 28 Jun 2024 15:01:09 +0530 Subject: [PATCH 03/24] version bump to 1.1.2 --- README.md | 2 +- pom.xml | 2 +- src/main/java/com/browserstack/local/Local.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f55730a..3b54bd1 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Add this dependency to your project's POM: com.browserstack browserstack-local-java - 1.1.1 + 1.1.2 ``` diff --git a/pom.xml b/pom.xml index a34fce7..0879a9e 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.browserstack browserstack-local-java jar - 1.1.1-SNAPSHOT + 1.1.2-SNAPSHOT browserstack-local-java Java bindings for BrowserStack Local diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index a221b2a..8cc4ed3 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -23,7 +23,7 @@ public class Local { private LocalProcess proc = null; // Current version of binding package, used for --source option of binary - private final String packageVersion = "1.1.1"; + private final String packageVersion = "1.1.2"; private final Map parameters; private final Map avoidValueParameters; From f5748ba42013fcc08c2f10ad52687352aa1af38b Mon Sep 17 00:00:00 2001 From: Kamalpreet Kaur <38219887+kamal-kaur04@users.noreply.github.com> Date: Fri, 28 Jun 2024 19:34:44 +0530 Subject: [PATCH 04/24] Revert "version bump to 1.1.2" --- README.md | 2 +- pom.xml | 6 +++--- src/main/java/com/browserstack/local/Local.java | 2 +- src/main/java/com/browserstack/local/LocalBinary.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3b54bd1..f55730a 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Add this dependency to your project's POM: com.browserstack browserstack-local-java - 1.1.2 + 1.1.1 ``` diff --git a/pom.xml b/pom.xml index 7773749..a34fce7 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.browserstack browserstack-local-java jar - 1.1.2-SNAPSHOT + 1.1.1-SNAPSHOT browserstack-local-java Java bindings for BrowserStack Local @@ -51,9 +51,9 @@ test - commons-io + org.apache.commons commons-io - 2.16.1 + 1.3.2 org.json diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index 8cc4ed3..a221b2a 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -23,7 +23,7 @@ public class Local { private LocalProcess proc = null; // Current version of binding package, used for --source option of binary - private final String packageVersion = "1.1.2"; + private final String packageVersion = "1.1.1"; private final Map parameters; private final Map avoidValueParameters; diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 7eb6e6e..5f088d0 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -10,7 +10,7 @@ class LocalBinary { - private static final String BIN_URL = "https://www.browserstack.com/local-testing/downloads/bin/"; + private static final String BIN_URL = "https://www.browserstack.com/local-testing/downloads/binaries/"; private String httpPath; From 8f1779667f0282f0593bb8979fe0c4e6886dfe7e Mon Sep 17 00:00:00 2001 From: rev-doshi Date: Fri, 28 Jun 2024 19:37:29 +0530 Subject: [PATCH 05/24] version bump --- README.md | 2 +- pom.xml | 2 +- src/main/java/com/browserstack/local/Local.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f55730a..5655013 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Add this dependency to your project's POM: com.browserstack browserstack-local-java - 1.1.1 + 1.1.3 ``` diff --git a/pom.xml b/pom.xml index a34fce7..57e7303 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.browserstack browserstack-local-java jar - 1.1.1-SNAPSHOT + 1.1.3-SNAPSHOT browserstack-local-java Java bindings for BrowserStack Local diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index a221b2a..a1fd1cd 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -23,7 +23,7 @@ public class Local { private LocalProcess proc = null; // Current version of binding package, used for --source option of binary - private final String packageVersion = "1.1.1"; + private final String packageVersion = "1.1.3"; private final Map parameters; private final Map avoidValueParameters; From 596e62392df108f95c723782a5b84cb0a1fcc1cf Mon Sep 17 00:00:00 2001 From: rev-doshi <86342507+rev-doshi@users.noreply.github.com> Date: Wed, 3 Jul 2024 12:47:29 +0530 Subject: [PATCH 06/24] Revert "Revert "version bump to 1.1.2"" --- README.md | 2 +- pom.xml | 6 +++--- src/main/java/com/browserstack/local/Local.java | 2 +- src/main/java/com/browserstack/local/LocalBinary.java | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 5655013..3b54bd1 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Add this dependency to your project's POM: com.browserstack browserstack-local-java - 1.1.3 + 1.1.2 ``` diff --git a/pom.xml b/pom.xml index 57e7303..7773749 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.browserstack browserstack-local-java jar - 1.1.3-SNAPSHOT + 1.1.2-SNAPSHOT browserstack-local-java Java bindings for BrowserStack Local @@ -51,9 +51,9 @@ test - org.apache.commons + commons-io commons-io - 1.3.2 + 2.16.1 org.json diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index a1fd1cd..8cc4ed3 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -23,7 +23,7 @@ public class Local { private LocalProcess proc = null; // Current version of binding package, used for --source option of binary - private final String packageVersion = "1.1.3"; + private final String packageVersion = "1.1.2"; private final Map parameters; private final Map avoidValueParameters; diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 5f088d0..7eb6e6e 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -10,7 +10,7 @@ class LocalBinary { - private static final String BIN_URL = "https://www.browserstack.com/local-testing/downloads/binaries/"; + private static final String BIN_URL = "https://www.browserstack.com/local-testing/downloads/bin/"; private String httpPath; From 8d84b88997b318bdfb6bbf51b24a59e555c54d4e Mon Sep 17 00:00:00 2001 From: rev-doshi Date: Thu, 4 Jul 2024 11:41:04 +0530 Subject: [PATCH 07/24] updated version and removed bin url changes --- README.md | 2 +- pom.xml | 2 +- src/main/java/com/browserstack/local/Local.java | 2 +- src/main/java/com/browserstack/local/LocalBinary.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3b54bd1..bdea142 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Add this dependency to your project's POM: com.browserstack browserstack-local-java - 1.1.2 + 1.1.4 ``` diff --git a/pom.xml b/pom.xml index 7773749..e4fc19b 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.browserstack browserstack-local-java jar - 1.1.2-SNAPSHOT + 1.1.4-SNAPSHOT browserstack-local-java Java bindings for BrowserStack Local diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index 8cc4ed3..8e4cb34 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -23,7 +23,7 @@ public class Local { private LocalProcess proc = null; // Current version of binding package, used for --source option of binary - private final String packageVersion = "1.1.2"; + private final String packageVersion = "1.1.4"; private final Map parameters; private final Map avoidValueParameters; diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 7eb6e6e..5f088d0 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -10,7 +10,7 @@ class LocalBinary { - private static final String BIN_URL = "https://www.browserstack.com/local-testing/downloads/bin/"; + private static final String BIN_URL = "https://www.browserstack.com/local-testing/downloads/binaries/"; private String httpPath; From a74f6adf170dc4ede0f0ee6a9a930ed70fa700d2 Mon Sep 17 00:00:00 2001 From: Shirish Kamath Date: Mon, 7 Oct 2024 10:25:36 +0530 Subject: [PATCH 08/24] feat: add gzip support, send UA containing version --- .../java/com/browserstack/local/Local.java | 11 ++++++++- .../com/browserstack/local/LocalBinary.java | 24 ++++++++++++++++++- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index 8e4cb34..7fefe33 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -23,7 +23,7 @@ public class Local { private LocalProcess proc = null; // Current version of binding package, used for --source option of binary - private final String packageVersion = "1.1.4"; + private static final String packageVersion = "1.1.4"; private final Map parameters; private final Map avoidValueParameters; @@ -130,6 +130,15 @@ public boolean isRunning() throws Exception { return isProcessRunning(pid); } + /** + * Returns the package version + * + * @return {String} package version + */ + public static String getPackageVersion() { + return packageVersion; + } + /** * Creates a list of command-line arguments for the Local instance * diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 5f088d0..7e6bdfd 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -2,11 +2,15 @@ import org.apache.commons.io.FileUtils; import java.io.IOException; +import java.io.InputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.File; import java.net.URL; +import java.net.URLConnection; import java.util.regex.Pattern; +import java.util.zip.GZIPInputStream; +import java.util.zip.ZipException; class LocalBinary { @@ -174,7 +178,7 @@ private void downloadBinary(String destParentDir, Boolean custom) throws LocalEx URL url = new URL(httpPath); File f = new File(source); - FileUtils.copyURLToFile(url, f); + newCopyToFile(url, f); changePermissions(binaryPath); } catch (Exception e) { @@ -192,4 +196,22 @@ private void changePermissions(String path) { public String getBinaryPath() { return binaryPath; } + + private static void newCopyToFile(URL url, File f) throws IOException { + URLConnection conn = url.openConnection(); + conn.setRequestProperty("User-Agent", "browserstack-local-java/" + Local.getPackageVersion()); + conn.setRequestProperty("Accept-Encoding", "gzip, *"); + String contentEncoding = conn.getContentEncoding(); + + if (contentEncoding == null || !contentEncoding.toLowerCase().contains("gzip")) { + FileUtils.copyToFile(conn.getInputStream(), f); + return; + } + + try (InputStream stream = new GZIPInputStream(conn.getInputStream())) { + FileUtils.copyToFile(stream, f); + } catch (ZipException e) { + FileUtils.copyURLToFile(url, f); + } + } } From 57b1622cbf533b2df33dd3cf2487b0d97e3025f1 Mon Sep 17 00:00:00 2001 From: Shirish Kamath Date: Mon, 7 Oct 2024 10:33:38 +0530 Subject: [PATCH 09/24] chore: apply sourceURL override, log line for debugging --- .../java/com/browserstack/local/LocalBinary.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 7e6bdfd..4722cae 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -62,7 +62,13 @@ private void initialize() throws LocalException { throw new LocalException("Failed to detect OS type"); } - httpPath = BIN_URL + binFileName; + String sourceURL = BIN_URL; + String envURL = System.getenv("BROWSERSTACK_LOCAL_BIN_URL"); + if (envURL != null && !envURL.isEmpty()) { + // apply sourceURL override + sourceURL = envURL; + } + httpPath = sourceURL + binFileName; } private boolean isAlpine() { @@ -209,6 +215,10 @@ private static void newCopyToFile(URL url, File f) throws IOException { } try (InputStream stream = new GZIPInputStream(conn.getInputStream())) { + if (System.getenv().containsKey("BROWSERSTACK_LOCAL_DEBUG_GZIP")) { + System.out.println("using gzip in " + conn.getRequestProperty("User-Agent")); + } + FileUtils.copyToFile(stream, f); } catch (ZipException e) { FileUtils.copyURLToFile(url, f); From eb40ccc3adef22cc3d50c5b1e94c6f2477488f8b Mon Sep 17 00:00:00 2001 From: Kamalpreet Kaur Date: Mon, 23 Dec 2024 15:21:01 +0530 Subject: [PATCH 10/24] update: remove URL flag --- src/main/java/com/browserstack/local/LocalBinary.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 4722cae..6c83156 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -63,11 +63,6 @@ private void initialize() throws LocalException { } String sourceURL = BIN_URL; - String envURL = System.getenv("BROWSERSTACK_LOCAL_BIN_URL"); - if (envURL != null && !envURL.isEmpty()) { - // apply sourceURL override - sourceURL = envURL; - } httpPath = sourceURL + binFileName; } From 1f29fdd6737155afd74eff118a1e6fe940d9ea65 Mon Sep 17 00:00:00 2001 From: Kamalpreet Kaur Date: Mon, 23 Dec 2024 15:30:41 +0530 Subject: [PATCH 11/24] update: version bump v1.1.5 --- README.md | 2 +- pom.xml | 2 +- src/main/java/com/browserstack/local/Local.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index bdea142..971be2e 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Add this dependency to your project's POM: com.browserstack browserstack-local-java - 1.1.4 + 1.1.5 ``` diff --git a/pom.xml b/pom.xml index e4fc19b..b5a7b8f 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.browserstack browserstack-local-java jar - 1.1.4-SNAPSHOT + 1.1.5-SNAPSHOT browserstack-local-java Java bindings for BrowserStack Local diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index 8e4cb34..8a96075 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -23,7 +23,7 @@ public class Local { private LocalProcess proc = null; // Current version of binding package, used for --source option of binary - private final String packageVersion = "1.1.4"; + private final String packageVersion = "1.1.5"; private final Map parameters; private final Map avoidValueParameters; From b1cb652fdb75ed2e158e8ff67dd24d0cccba374b Mon Sep 17 00:00:00 2001 From: Kamalpreet Kaur Date: Mon, 23 Dec 2024 19:10:34 +0530 Subject: [PATCH 12/24] update: version bump v1.1.5 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b5a7b8f..c372100 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.browserstack browserstack-local-java jar - 1.1.5-SNAPSHOT + 1.1.5 browserstack-local-java Java bindings for BrowserStack Local From 39dd35c739f1c5bb8a1f5a1446a9b1823d86ae1f Mon Sep 17 00:00:00 2001 From: Kamalpreet Kaur Date: Mon, 23 Dec 2024 20:39:32 +0530 Subject: [PATCH 13/24] update: revert version 1.1.5 --- README.md | 2 +- pom.xml | 2 +- .../java/com/browserstack/local/Local.java | 11 +------ .../com/browserstack/local/LocalBinary.java | 31 ++----------------- 4 files changed, 5 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 971be2e..bdea142 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Add this dependency to your project's POM: com.browserstack browserstack-local-java - 1.1.5 + 1.1.4 ``` diff --git a/pom.xml b/pom.xml index c372100..e4fc19b 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.browserstack browserstack-local-java jar - 1.1.5 + 1.1.4-SNAPSHOT browserstack-local-java Java bindings for BrowserStack Local diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index 7669007..8e4cb34 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -23,7 +23,7 @@ public class Local { private LocalProcess proc = null; // Current version of binding package, used for --source option of binary - private static final String packageVersion = "1.1.5"; + private final String packageVersion = "1.1.4"; private final Map parameters; private final Map avoidValueParameters; @@ -130,15 +130,6 @@ public boolean isRunning() throws Exception { return isProcessRunning(pid); } - /** - * Returns the package version - * - * @return {String} package version - */ - public static String getPackageVersion() { - return packageVersion; - } - /** * Creates a list of command-line arguments for the Local instance * diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 6c83156..5f088d0 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -2,15 +2,11 @@ import org.apache.commons.io.FileUtils; import java.io.IOException; -import java.io.InputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.File; import java.net.URL; -import java.net.URLConnection; import java.util.regex.Pattern; -import java.util.zip.GZIPInputStream; -import java.util.zip.ZipException; class LocalBinary { @@ -62,8 +58,7 @@ private void initialize() throws LocalException { throw new LocalException("Failed to detect OS type"); } - String sourceURL = BIN_URL; - httpPath = sourceURL + binFileName; + httpPath = BIN_URL + binFileName; } private boolean isAlpine() { @@ -179,7 +174,7 @@ private void downloadBinary(String destParentDir, Boolean custom) throws LocalEx URL url = new URL(httpPath); File f = new File(source); - newCopyToFile(url, f); + FileUtils.copyURLToFile(url, f); changePermissions(binaryPath); } catch (Exception e) { @@ -197,26 +192,4 @@ private void changePermissions(String path) { public String getBinaryPath() { return binaryPath; } - - private static void newCopyToFile(URL url, File f) throws IOException { - URLConnection conn = url.openConnection(); - conn.setRequestProperty("User-Agent", "browserstack-local-java/" + Local.getPackageVersion()); - conn.setRequestProperty("Accept-Encoding", "gzip, *"); - String contentEncoding = conn.getContentEncoding(); - - if (contentEncoding == null || !contentEncoding.toLowerCase().contains("gzip")) { - FileUtils.copyToFile(conn.getInputStream(), f); - return; - } - - try (InputStream stream = new GZIPInputStream(conn.getInputStream())) { - if (System.getenv().containsKey("BROWSERSTACK_LOCAL_DEBUG_GZIP")) { - System.out.println("using gzip in " + conn.getRequestProperty("User-Agent")); - } - - FileUtils.copyToFile(stream, f); - } catch (ZipException e) { - FileUtils.copyURLToFile(url, f); - } - } } From dd96afb8d294b83f64e1cf1632cf6f0ebba23ed0 Mon Sep 17 00:00:00 2001 From: Kamalpreet Kaur <38219887+kamal-kaur04@users.noreply.github.com> Date: Tue, 24 Dec 2024 15:57:09 +0530 Subject: [PATCH 14/24] Revert "Revert version 1.1.5" --- README.md | 2 +- pom.xml | 2 +- .../java/com/browserstack/local/Local.java | 11 ++++++- .../com/browserstack/local/LocalBinary.java | 31 +++++++++++++++++-- 4 files changed, 41 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index bdea142..971be2e 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Add this dependency to your project's POM: com.browserstack browserstack-local-java - 1.1.4 + 1.1.5 ``` diff --git a/pom.xml b/pom.xml index e4fc19b..c372100 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.browserstack browserstack-local-java jar - 1.1.4-SNAPSHOT + 1.1.5 browserstack-local-java Java bindings for BrowserStack Local diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index 8e4cb34..7669007 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -23,7 +23,7 @@ public class Local { private LocalProcess proc = null; // Current version of binding package, used for --source option of binary - private final String packageVersion = "1.1.4"; + private static final String packageVersion = "1.1.5"; private final Map parameters; private final Map avoidValueParameters; @@ -130,6 +130,15 @@ public boolean isRunning() throws Exception { return isProcessRunning(pid); } + /** + * Returns the package version + * + * @return {String} package version + */ + public static String getPackageVersion() { + return packageVersion; + } + /** * Creates a list of command-line arguments for the Local instance * diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 5f088d0..6c83156 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -2,11 +2,15 @@ import org.apache.commons.io.FileUtils; import java.io.IOException; +import java.io.InputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.File; import java.net.URL; +import java.net.URLConnection; import java.util.regex.Pattern; +import java.util.zip.GZIPInputStream; +import java.util.zip.ZipException; class LocalBinary { @@ -58,7 +62,8 @@ private void initialize() throws LocalException { throw new LocalException("Failed to detect OS type"); } - httpPath = BIN_URL + binFileName; + String sourceURL = BIN_URL; + httpPath = sourceURL + binFileName; } private boolean isAlpine() { @@ -174,7 +179,7 @@ private void downloadBinary(String destParentDir, Boolean custom) throws LocalEx URL url = new URL(httpPath); File f = new File(source); - FileUtils.copyURLToFile(url, f); + newCopyToFile(url, f); changePermissions(binaryPath); } catch (Exception e) { @@ -192,4 +197,26 @@ private void changePermissions(String path) { public String getBinaryPath() { return binaryPath; } + + private static void newCopyToFile(URL url, File f) throws IOException { + URLConnection conn = url.openConnection(); + conn.setRequestProperty("User-Agent", "browserstack-local-java/" + Local.getPackageVersion()); + conn.setRequestProperty("Accept-Encoding", "gzip, *"); + String contentEncoding = conn.getContentEncoding(); + + if (contentEncoding == null || !contentEncoding.toLowerCase().contains("gzip")) { + FileUtils.copyToFile(conn.getInputStream(), f); + return; + } + + try (InputStream stream = new GZIPInputStream(conn.getInputStream())) { + if (System.getenv().containsKey("BROWSERSTACK_LOCAL_DEBUG_GZIP")) { + System.out.println("using gzip in " + conn.getRequestProperty("User-Agent")); + } + + FileUtils.copyToFile(stream, f); + } catch (ZipException e) { + FileUtils.copyURLToFile(url, f); + } + } } From ca767ee311d7d4ebdab07caa16b41bf2916a268d Mon Sep 17 00:00:00 2001 From: Kamalpreet Kaur Date: Tue, 24 Dec 2024 15:58:29 +0530 Subject: [PATCH 15/24] fix: commons-io compatibility --- .../java/com/browserstack/local/LocalBinary.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 6c83156..805505f 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -205,7 +205,7 @@ private static void newCopyToFile(URL url, File f) throws IOException { String contentEncoding = conn.getContentEncoding(); if (contentEncoding == null || !contentEncoding.toLowerCase().contains("gzip")) { - FileUtils.copyToFile(conn.getInputStream(), f); + customCopyInputStreamToFile(conn.getInputStream(), f, url); return; } @@ -214,9 +214,17 @@ private static void newCopyToFile(URL url, File f) throws IOException { System.out.println("using gzip in " + conn.getRequestProperty("User-Agent")); } - FileUtils.copyToFile(stream, f); + customCopyInputStreamToFile(stream, f, url); } catch (ZipException e) { FileUtils.copyURLToFile(url, f); } } + + private static void customCopyInputStreamToFile(InputStream stream, File file, URL url) throws IOException { + try { + FileUtils.copyInputStreamToFile(stream, file); + } catch (Throwable e) { + FileUtils.copyURLToFile(url, file); + } + } } From 5867f602c7c6a46f5569e0b886409b7d645033b6 Mon Sep 17 00:00:00 2001 From: Kamalpreet Kaur Date: Tue, 24 Dec 2024 18:41:44 +0530 Subject: [PATCH 16/24] update: handle zipped compression for 1.x as well --- src/main/java/com/browserstack/local/LocalBinary.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 805505f..6b7a0fb 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -1,11 +1,14 @@ package com.browserstack.local; import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; + import java.io.IOException; import java.io.InputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.File; +import java.io.FileOutputStream; import java.net.URL; import java.net.URLConnection; import java.util.regex.Pattern; @@ -224,7 +227,11 @@ private static void customCopyInputStreamToFile(InputStream stream, File file, U try { FileUtils.copyInputStreamToFile(stream, file); } catch (Throwable e) { - FileUtils.copyURLToFile(url, file); + try (FileOutputStream fos = new FileOutputStream(file)) { + IOUtils.copy(stream, fos); + } catch (Throwable th) { + FileUtils.copyURLToFile(url, file); + } } } } From 5c05daf75cdc7497096b3fbadfaa4d4a073c893a Mon Sep 17 00:00:00 2001 From: amaanbs Date: Fri, 6 Jun 2025 05:26:51 +0530 Subject: [PATCH 17/24] change binary download distribution --- .../java/com/browserstack/local/Local.java | 4 +- .../com/browserstack/local/LocalBinary.java | 68 ++++++++++++++++--- 2 files changed, 62 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index 7669007..6075b02 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -55,9 +55,9 @@ public void start(Map options) throws Exception { startOptions = options; LocalBinary lb; if (options.get("binarypath") != null) { - lb = new LocalBinary(options.get("binarypath")); + lb = new LocalBinary(options.get("binarypath"), options.get("key")); } else { - lb = new LocalBinary(""); + lb = new LocalBinary("", options.get("key")); } binaryPath = lb.getBinaryPath(); diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 6b7a0fb..4dbd303 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -3,8 +3,11 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; +import org.json.JSONObject; + import java.io.IOException; import java.io.InputStream; +import java.io.OutputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.File; @@ -15,14 +18,24 @@ import java.util.zip.GZIPInputStream; import java.util.zip.ZipException; +import java.lang.StringBuilder; + class LocalBinary { private static final String BIN_URL = "https://www.browserstack.com/local-testing/downloads/binaries/"; - private String httpPath; + private String binaryFileName; + + private String sourceUrl; private String binaryPath; + private Boolean fallbackEnabled = false; + + private Throwable downloadFailureThrowable = null; + + private String key; + private boolean isOSWindows; private final String orderedPaths[] = { @@ -31,7 +44,8 @@ class LocalBinary { System.getProperty("java.io.tmpdir") }; - LocalBinary(String path) throws LocalException { + LocalBinary(String path, String key) throws LocalException { + this.key = key; initialize(); if (path != "") { getBinaryOnPath(path); @@ -65,8 +79,7 @@ private void initialize() throws LocalException { throw new LocalException("Failed to detect OS type"); } - String sourceURL = BIN_URL; - httpPath = sourceURL + binFileName; + this.binaryFileName = binFileName; } private boolean isAlpine() { @@ -167,8 +180,40 @@ private boolean makePath(String path) { } } + private void fetchSourceUrl() { + URL url = new URL("https://local.browserstack.com/binary/api/v1/endpoint"); + URLConnection connection = url.openConnection(); + + connection.setDoOutput(true); + connection.setRequestProperty("Content-Type", "application/json"); + connection.setRequestProperty("User-Agent", "browserstack-local-java/" + Local.getPackageVersion()); + connection.setRequestProperty("Accept", "application/json"); + if (fallbackEnabled) connection.setRequestProperty("X-Local-Fallback-Cloudflare", "true"); + + String jsonInput = "{\"auth_token\": " + key + (fallbackEnabled ? (", \"error_message\": " + downloadFailureThrowable.getMessage()) : "") + "}"; + + try (OutputStream os = connection.getOutputStream()) { + byte[] input = jsonInput.getBytes("utf-8"); + os.write(input, 0, input.length); + } + + try (InputStream is = connection.getInputStream(); + BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"))) { + StringBuilder response = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) { + response.append(line.trim()); + } + String responseBody = response.toString(); + JSONObject json = new JSONObject(responseBody); + this.sourceUrl = json.getJSONObject("data").getString("endpoint"); + } + } + private void downloadBinary(String destParentDir, Boolean custom) throws LocalException { try { + fetchSourceUrl(); + String source = destParentDir; if (!custom) { if (!new File(destParentDir).exists()) @@ -179,13 +224,20 @@ private void downloadBinary(String destParentDir, Boolean custom) throws LocalEx source += ".exe"; } } - URL url = new URL(httpPath); + URL url = new URL(sourceUrl + '/' + binaryFileName); File f = new File(source); - newCopyToFile(url, f); - + try { + newCopyToFile(url, f); + } catch (IOException e) { + if (fallbackEnabled) throw e; + /* Binary download failed due to a server error */ + fallbackEnabled = true; + downloadFailureThrowable = e; + downloadBinary(destParentDir, custom); + } changePermissions(binaryPath); - } catch (Exception e) { + } catch (Throwable e) { throw new LocalException("Error trying to download BrowserStackLocal binary: " + e.getMessage()); } } From 7094fd61114626fc337336e74fda1494cff0a929 Mon Sep 17 00:00:00 2001 From: amaanbs Date: Fri, 6 Jun 2025 06:21:19 +0530 Subject: [PATCH 18/24] fixes --- .../com/browserstack/local/LocalBinary.java | 38 ++++++++++++------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 4dbd303..c6d5254 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -47,12 +47,23 @@ class LocalBinary { LocalBinary(String path, String key) throws LocalException { this.key = key; initialize(); - if (path != "") { - getBinaryOnPath(path); - } else { - getBinary(); + downloadAndVerifyBinary(path); + } + + private void downloadAndVerifyBinary(String path) throws LocalException { + try { + if (path != "") { + getBinaryOnPath(path); + } else { + getBinary(); + } + checkBinary(); + } catch (Throwable e) { + if (fallbackEnabled) throw e; + fallbackEnabled = true; + downloadFailureThrowable = e; + downloadAndVerifyBinary(path); } - checkBinary(); } private void initialize() throws LocalException { @@ -181,6 +192,11 @@ private boolean makePath(String path) { } private void fetchSourceUrl() { + if ((!fallbackEnabled && sourceUrl) || (fallbackEnabled && !downloadFailureThrowable)) { + /* Retry because binary (from any of the endpoints) validation failed */ + return; + } + URL url = new URL("https://local.browserstack.com/binary/api/v1/endpoint"); URLConnection connection = url.openConnection(); @@ -207,6 +223,7 @@ private void fetchSourceUrl() { String responseBody = response.toString(); JSONObject json = new JSONObject(responseBody); this.sourceUrl = json.getJSONObject("data").getString("endpoint"); + if(fallbackEnabled) downloadFailureThrowable = null; } } @@ -227,15 +244,8 @@ private void downloadBinary(String destParentDir, Boolean custom) throws LocalEx URL url = new URL(sourceUrl + '/' + binaryFileName); File f = new File(source); - try { - newCopyToFile(url, f); - } catch (IOException e) { - if (fallbackEnabled) throw e; - /* Binary download failed due to a server error */ - fallbackEnabled = true; - downloadFailureThrowable = e; - downloadBinary(destParentDir, custom); - } + newCopyToFile(url, f); + changePermissions(binaryPath); } catch (Throwable e) { throw new LocalException("Error trying to download BrowserStackLocal binary: " + e.getMessage()); From 3ad7fcef497968fd7e64d39641c6e152072f4db9 Mon Sep 17 00:00:00 2001 From: amaanbs Date: Tue, 10 Jun 2025 03:41:44 +0530 Subject: [PATCH 19/24] fixes --- .../java/com/browserstack/local/Local.java | 4 +- .../com/browserstack/local/LocalBinary.java | 69 +++++++++++-------- 2 files changed, 42 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index 6075b02..85f9827 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -109,9 +109,9 @@ public void stop() throws Exception { public void stop(Map options) throws Exception { LocalBinary lb; if (options.get("binarypath") != null) { - lb = new LocalBinary(options.get("binarypath")); + lb = new LocalBinary(options.get("binarypath"), options.get("key")); } else { - lb = new LocalBinary(""); + lb = new LocalBinary("", options.get("key")); } binaryPath = lb.getBinaryPath(); makeCommand(options, "stop"); diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index c6d5254..7b39183 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -60,6 +60,10 @@ private void downloadAndVerifyBinary(String path) throws LocalException { checkBinary(); } catch (Throwable e) { if (fallbackEnabled) throw e; + File binary_file = new File(binaryPath); + if (binary_file.exists()) { + binary_file.delete(); + } fallbackEnabled = true; downloadFailureThrowable = e; downloadAndVerifyBinary(path); @@ -191,39 +195,46 @@ private boolean makePath(String path) { } } - private void fetchSourceUrl() { - if ((!fallbackEnabled && sourceUrl) || (fallbackEnabled && !downloadFailureThrowable)) { + private void fetchSourceUrl() throws LocalException { + if ((!fallbackEnabled && sourceUrl != null) || (fallbackEnabled && downloadFailureThrowable == null)) { /* Retry because binary (from any of the endpoints) validation failed */ return; } - URL url = new URL("https://local.browserstack.com/binary/api/v1/endpoint"); - URLConnection connection = url.openConnection(); - - connection.setDoOutput(true); - connection.setRequestProperty("Content-Type", "application/json"); - connection.setRequestProperty("User-Agent", "browserstack-local-java/" + Local.getPackageVersion()); - connection.setRequestProperty("Accept", "application/json"); - if (fallbackEnabled) connection.setRequestProperty("X-Local-Fallback-Cloudflare", "true"); - - String jsonInput = "{\"auth_token\": " + key + (fallbackEnabled ? (", \"error_message\": " + downloadFailureThrowable.getMessage()) : "") + "}"; - - try (OutputStream os = connection.getOutputStream()) { - byte[] input = jsonInput.getBytes("utf-8"); - os.write(input, 0, input.length); - } - - try (InputStream is = connection.getInputStream(); - BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"))) { - StringBuilder response = new StringBuilder(); - String line; - while ((line = reader.readLine()) != null) { - response.append(line.trim()); - } - String responseBody = response.toString(); - JSONObject json = new JSONObject(responseBody); - this.sourceUrl = json.getJSONObject("data").getString("endpoint"); - if(fallbackEnabled) downloadFailureThrowable = null; + try { + URL url = new URL("https://local.browserstack.com/binary/api/v1/endpoint"); + URLConnection connection = url.openConnection(); + + connection.setDoOutput(true); + connection.setRequestProperty("Content-Type", "application/json"); + connection.setRequestProperty("User-Agent", "browserstack-local-java/" + Local.getPackageVersion()); + connection.setRequestProperty("Accept", "application/json"); + if (fallbackEnabled) connection.setRequestProperty("X-Local-Fallback-Cloudflare", "true"); + + String jsonInput = "{\"auth_token\": \"" + key + (fallbackEnabled ? ("\", \"error_message\": \"" + downloadFailureThrowable.getMessage()) + "\"" : "\"") + "}"; + + try (OutputStream os = connection.getOutputStream()) { + byte[] input = jsonInput.getBytes("utf-8"); + os.write(input, 0, input.length); + } + + try (InputStream is = connection.getInputStream(); + BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"))) { + StringBuilder response = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) { + response.append(line.trim()); + } + String responseBody = response.toString(); + JSONObject json = new JSONObject(responseBody); + if (json.has("error")) { + throw new Exception(json.getString("error")); + } + this.sourceUrl = json.getJSONObject("data").getString("endpoint"); + if(fallbackEnabled) downloadFailureThrowable = null; + } + } catch (Throwable e) { + throw new LocalException("Error trying to fetch the source URL: " + e.getMessage()); } } From 880af8dd85b677215dfe38941a9d70778cfcee31 Mon Sep 17 00:00:00 2001 From: amaanbs Date: Tue, 10 Jun 2025 03:45:43 +0530 Subject: [PATCH 20/24] fixes --- src/main/java/com/browserstack/local/LocalBinary.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 7b39183..e2f3f4b 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -22,8 +22,6 @@ class LocalBinary { - private static final String BIN_URL = "https://www.browserstack.com/local-testing/downloads/binaries/"; - private String binaryFileName; private String sourceUrl; From 7a325afa01c9b42ed39854781405e5680dbda277 Mon Sep 17 00:00:00 2001 From: amaanbs Date: Tue, 17 Jun 2025 19:30:44 +0530 Subject: [PATCH 21/24] Version bump --- README.md | 2 +- pom.xml | 2 +- src/main/java/com/browserstack/local/Local.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 971be2e..fd71907 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Add this dependency to your project's POM: com.browserstack browserstack-local-java - 1.1.5 + 1.1.6 ``` diff --git a/pom.xml b/pom.xml index c372100..b59d098 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.browserstack browserstack-local-java jar - 1.1.5 + 1.1.6 browserstack-local-java Java bindings for BrowserStack Local diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index 7669007..9bfc6d0 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -23,7 +23,7 @@ public class Local { private LocalProcess proc = null; // Current version of binding package, used for --source option of binary - private static final String packageVersion = "1.1.5"; + private static final String packageVersion = "1.1.6"; private final Map parameters; private final Map avoidValueParameters; From ecc2f08cc4a36216b062e99eabc3b0fcb9b66e3a Mon Sep 17 00:00:00 2001 From: amaanbs Date: Tue, 17 Jun 2025 21:03:00 +0530 Subject: [PATCH 22/24] Semgrep dummy commit --- src/main/java/com/browserstack/local/LocalBinary.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index e2f3f4b..08af9ad 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -306,3 +306,4 @@ private static void customCopyInputStreamToFile(InputStream stream, File file, U } } } + From b7727423190fe2f05c4577cabe09cd3f9af1da21 Mon Sep 17 00:00:00 2001 From: Kamalpreet Kaur Date: Thu, 24 Jul 2025 20:56:12 +0530 Subject: [PATCH 23/24] fix: 400 bad request in case of invalid json fetch binary URL --- pom.xml | 2 +- src/main/java/com/browserstack/local/Local.java | 2 +- src/main/java/com/browserstack/local/LocalBinary.java | 11 ++++++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index b59d098..f0416f9 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.browserstack browserstack-local-java jar - 1.1.6 + 1.1.7 browserstack-local-java Java bindings for BrowserStack Local diff --git a/src/main/java/com/browserstack/local/Local.java b/src/main/java/com/browserstack/local/Local.java index 92ac38c..09c08f0 100644 --- a/src/main/java/com/browserstack/local/Local.java +++ b/src/main/java/com/browserstack/local/Local.java @@ -23,7 +23,7 @@ public class Local { private LocalProcess proc = null; // Current version of binding package, used for --source option of binary - private static final String packageVersion = "1.1.6"; + private static final String packageVersion = "1.1.7"; private final Map parameters; private final Map avoidValueParameters; diff --git a/src/main/java/com/browserstack/local/LocalBinary.java b/src/main/java/com/browserstack/local/LocalBinary.java index 08af9ad..bf4542d 100644 --- a/src/main/java/com/browserstack/local/LocalBinary.java +++ b/src/main/java/com/browserstack/local/LocalBinary.java @@ -207,12 +207,17 @@ private void fetchSourceUrl() throws LocalException { connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("User-Agent", "browserstack-local-java/" + Local.getPackageVersion()); connection.setRequestProperty("Accept", "application/json"); - if (fallbackEnabled) connection.setRequestProperty("X-Local-Fallback-Cloudflare", "true"); - String jsonInput = "{\"auth_token\": \"" + key + (fallbackEnabled ? ("\", \"error_message\": \"" + downloadFailureThrowable.getMessage()) + "\"" : "\"") + "}"; + JSONObject inputParams = new JSONObject(); + inputParams.put("auth_token", this.key); + if (fallbackEnabled) { + connection.setRequestProperty("X-Local-Fallback-Cloudflare", "true"); + inputParams.put("error_message", downloadFailureThrowable.getMessage()); + } + String jsonInputParams = inputParams.toString(); try (OutputStream os = connection.getOutputStream()) { - byte[] input = jsonInput.getBytes("utf-8"); + byte[] input = jsonInputParams.getBytes("utf-8"); os.write(input, 0, input.length); } From 25eda073d2f0d55c6137e62dbf5ff9d7b4549b70 Mon Sep 17 00:00:00 2001 From: "Yash D. Saraf" Date: Wed, 30 Jul 2025 14:12:02 +0530 Subject: [PATCH 24/24] Move publishing from legacy to central sonatype --- pom.xml | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/pom.xml b/pom.xml index f0416f9..88c1e3d 100644 --- a/pom.xml +++ b/pom.xml @@ -33,13 +33,9 @@ - - ossrh - https://oss.sonatype.org/content/repositories/snapshots - - ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2 + central + https://central.sonatype.com/api/v1/publisher/deployments/upload/ @@ -87,14 +83,14 @@ - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.9 + org.sonatype.central + central-publishing-maven-plugin + 0.8.0 true - ossrh - https://oss.sonatype.org/ - true + central + true + false @@ -132,14 +128,14 @@ - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.13 + org.sonatype.central + central-publishing-maven-plugin + 0.8.0 true - ossrh - https://oss.sonatype.org/ - true + central + true + false