diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4f496e6..e927846 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,7 @@ on: # yamllint disable-line rule:truthy jobs: bazel_arch: name: bazel arch latest - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: archlinux:latest steps: - name: setup @@ -57,7 +57,7 @@ jobs: ca-certificates \ gcc \ git \ - jdk-openjdk \ + jdk21-openjdk \ python \ which rm -rf \ @@ -71,29 +71,14 @@ jobs: shell: bash bazel_macos: - name: bazel macos latest - runs-on: macos-latest + name: bazel macos 14 + runs-on: macos-14 steps: - name: checkout uses: actions/checkout@v4 - name: setup run: | - rm -f \ - /usr/local/bin/2to3 \ - /usr/local/bin/2to3-3.* \ - /usr/local/bin/go \ - /usr/local/bin/gofmt \ - /usr/local/bin/idle3 \ - /usr/local/bin/idle3.* \ - /usr/local/bin/pydoc3 \ - /usr/local/bin/pydoc3.* \ - /usr/local/bin/python3 \ - /usr/local/bin/python3.* \ - /usr/local/bin/python3-config \ - /usr/local/bin/python3.*-config \ - /usr/local/lib/libtcl8.*.dylib \ - /usr/local/lib/libtk8.*.dylib - brew update-reset -q + brew update -q brew upgrade -f -q brew bundle install -q --no-lock brew cleanup -q -s @@ -108,8 +93,8 @@ jobs: shell: zsh -efuo pipefail {0} bazel_ubuntu: - name: bazel ubuntu 22.04 - runs-on: ubuntu-22.04 + name: bazel ubuntu latest + runs-on: ubuntu-latest container: ubuntu:latest steps: - name: setup @@ -122,13 +107,13 @@ jobs: --no-install-recommends install \ ca-certificates \ git \ - default-jdk \ gnupg \ + openjdk-21-jdk \ python-is-python3 \ wget wget -qO - https://bazel.build/bazel-release.pub.gpg 2>/dev/null \ | gpg --dearmor - > /usr/share/keyrings/bazel-archive-keyring.gpg - echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8' \ + echo 'deb [signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8' \ > /etc/apt/sources.list.d/bazel.list apt-get -qq -o APT::Acquire::Retries=4 update \ || (sleep 15; apt-get -qq -o APT::Acquire::Retries=4 update) @@ -148,7 +133,7 @@ jobs: bzlmod_arch: name: bzlmod arch latest - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: archlinux:latest steps: - name: setup @@ -158,7 +143,7 @@ jobs: ca-certificates \ gcc \ git \ - jdk-openjdk \ + jdk21-openjdk \ python \ which rm -rf \ @@ -172,29 +157,14 @@ jobs: shell: bash bzlmod_macos: - name: bzlmod macos latest - runs-on: macos-latest + name: bzlmod macos 14 + runs-on: macos-14 steps: - name: checkout uses: actions/checkout@v4 - name: setup run: | - rm -f \ - /usr/local/bin/2to3 \ - /usr/local/bin/2to3-3.* \ - /usr/local/bin/go \ - /usr/local/bin/gofmt \ - /usr/local/bin/idle3 \ - /usr/local/bin/idle3.* \ - /usr/local/bin/pydoc3 \ - /usr/local/bin/pydoc3.* \ - /usr/local/bin/python3 \ - /usr/local/bin/python3.* \ - /usr/local/bin/python3-config \ - /usr/local/bin/python3.*-config \ - /usr/local/lib/libtcl8.*.dylib \ - /usr/local/lib/libtk8.*.dylib - brew update-reset -q + brew update -q brew upgrade -f -q brew bundle install -q --no-lock brew cleanup -q -s @@ -209,8 +179,8 @@ jobs: shell: zsh -efuo pipefail {0} bzlmod_ubuntu: - name: bzlmod ubuntu 22.04 - runs-on: ubuntu-22.04 + name: bzlmod ubuntu latest + runs-on: ubuntu-latest container: ubuntu:latest steps: - name: setup @@ -223,13 +193,13 @@ jobs: --no-install-recommends install \ ca-certificates \ git \ - default-jdk \ gnupg \ + openjdk-21-jdk \ python-is-python3 \ wget wget -qO - https://bazel.build/bazel-release.pub.gpg 2>/dev/null \ | gpg --dearmor - > /usr/share/keyrings/bazel-archive-keyring.gpg - echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8' \ + echo 'deb [signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8' \ > /etc/apt/sources.list.d/bazel.list apt-get -qq -o APT::Acquire::Retries=4 update \ || (sleep 15; apt-get -qq -o APT::Acquire::Retries=4 update) @@ -248,9 +218,9 @@ jobs: shell: bash cmake_alpine: - name: cmake alpine 3 - runs-on: ubuntu-22.04 - container: alpine:3 + name: cmake alpine latest + runs-on: ubuntu-latest + container: alpine:latest steps: - name: setup run: | @@ -260,7 +230,7 @@ jobs: cmake \ git \ make \ - openjdk11 + openjdk21 shell: sh - name: checkout uses: actions/checkout@v4 @@ -281,12 +251,12 @@ jobs: cpack -G TGZ cpack -G TGZ --config CPackSourceConfig.cmake env: - JAVA_HOME: /usr/lib/jvm/java-11-openjdk + JAVA_HOME: /usr/lib/jvm/java-21-openjdk shell: sh cmake_arch: name: cmake arch latest - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: archlinux:latest steps: - name: setup @@ -295,7 +265,7 @@ jobs: ca-certificates \ cmake \ git \ - jdk-openjdk \ + jdk21-openjdk \ make rm -rf \ /var/cache/pacman/pkg/* \ @@ -323,7 +293,7 @@ jobs: cmake_fedora: name: cmake fedora latest - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: fedora:latest steps: - name: setup @@ -335,7 +305,7 @@ jobs: cmake \ git \ glibc-langpack-en \ - java-11-openjdk-devel \ + java-21-openjdk-devel \ make \ rpm-build dnf clean all @@ -362,29 +332,14 @@ jobs: shell: bash cmake_macos: - name: cmake macos latest - runs-on: macos-latest + name: cmake macos 14 + runs-on: macos-14 steps: - name: checkout uses: actions/checkout@v4 - name: setup run: | - rm -f \ - /usr/local/bin/2to3 \ - /usr/local/bin/2to3-3.* \ - /usr/local/bin/go \ - /usr/local/bin/gofmt \ - /usr/local/bin/idle3 \ - /usr/local/bin/idle3.* \ - /usr/local/bin/pydoc3 \ - /usr/local/bin/pydoc3.* \ - /usr/local/bin/python3 \ - /usr/local/bin/python3.* \ - /usr/local/bin/python3-config \ - /usr/local/bin/python3.*-config \ - /usr/local/lib/libtcl8.*.dylib \ - /usr/local/lib/libtk8.*.dylib - brew update-reset -q + brew update -q brew upgrade -f -q brew bundle install -q --no-lock brew cleanup -q -s @@ -411,12 +366,12 @@ jobs: cpack -G TGZ cpack -G TGZ --config CPackSourceConfig.cmake env: - JAVA_HOME: /usr/local/opt/openjdk/libexec/openjdk.jdk/Contents/Home + JAVA_HOME: /opt/homebrew/opt/openjdk/libexec/openjdk.jdk/Contents/Home shell: zsh -efuo pipefail {0} cmake_rockylinux: name: cmake rockylinux 9 - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: rockylinux:9 steps: - name: setup @@ -428,7 +383,7 @@ jobs: cmake \ git \ glibc-langpack-en \ - java-11-openjdk-devel \ + java-21-openjdk-devel \ make \ rpm-build dnf clean all @@ -455,9 +410,9 @@ jobs: shell: bash cmake_ubuntu: - name: cmake ubuntu 22.04 - runs-on: ubuntu-22.04 - container: ubuntu:22.04 + name: cmake ubuntu latest + runs-on: ubuntu-latest + container: ubuntu:latest steps: - name: setup run: | @@ -468,20 +423,10 @@ jobs: apt-get -qq -o APT::Acquire::Retries=4 -o Dpkg::Use-Pty=0 \ --no-install-recommends install \ ca-certificates \ - default-jdk \ + cmake \ git \ - gnupg \ make \ - wget - wget -qO- https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null \ - | gpg --dearmor - > /usr/share/keyrings/kitware-archive-keyring.gpg - echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' \ - > /etc/apt/sources.list.d/kitware.list - apt-get -qq -o APT::Acquire::Retries=4 update \ - || (sleep 15; apt-get -qq -o APT::Acquire::Retries=4 update) - apt-get -qq -o APT::Acquire::Retries=4 -o Dpkg::Use-Pty=0 \ - --no-install-recommends install \ - cmake + openjdk-21-jdk apt-get -qq -o Dpkg::Use-Pty=0 autoremove rm -rf /var/lib/apt/lists/* env: @@ -513,10 +458,10 @@ jobs: steps: - name: checkout uses: actions/checkout@v4 - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: distribution: microsoft - java-version: 17 + java-version: 21 - name: setup run: | choco upgrade cmake.install -r -y --install-arguments=ADD_CMAKE_TO_PATH=System ` @@ -541,9 +486,9 @@ jobs: shell: pwsh gradle_alpine: - name: gradle alpine 3 - runs-on: ubuntu-22.04 - container: alpine:3 + name: gradle alpine latest + runs-on: ubuntu-latest + container: alpine:latest steps: - name: setup run: | @@ -551,12 +496,12 @@ jobs: apk add -q --no-cache \ ca-certificates \ git \ - openjdk11 + openjdk21 shell: sh - name: checkout uses: actions/checkout@v4 - name: cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | ~/.gradle/caches @@ -566,12 +511,12 @@ jobs: - name: build package run: ./gradlew build env: - JAVA_HOME: /usr/lib/jvm/java-11-openjdk + JAVA_HOME: /usr/lib/jvm/java-21-openjdk shell: sh gradle_arch: name: gradle arch latest - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: archlinux:latest steps: - name: setup @@ -579,7 +524,7 @@ jobs: pacman --needed --noconfirm --noprogressbar -S -u -y \ ca-certificates \ git \ - jdk-openjdk \ + jdk21-openjdk \ which rm -rf \ /var/cache/pacman/pkg/* \ @@ -588,7 +533,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | ~/.gradle/caches @@ -600,8 +545,8 @@ jobs: shell: bash gradle_rockylinux: - name: cmake rockylinux 9 - runs-on: ubuntu-22.04 + name: gradle rockylinux 9 + runs-on: ubuntu-latest container: rockylinux:9 steps: - name: setup @@ -612,7 +557,7 @@ jobs: ca-certificates \ git \ glibc-langpack-en \ - java-11-openjdk-devel \ + java-21-openjdk-devel \ which dnf clean all rm -rf /var/cache/yum @@ -620,7 +565,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | ~/.gradle/caches @@ -633,7 +578,7 @@ jobs: gradle_fedora: name: gradle fedora latest - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: fedora:latest steps: - name: setup @@ -644,7 +589,7 @@ jobs: ca-certificates \ git \ glibc-langpack-en \ - java-11-openjdk-devel \ + java-21-openjdk-devel \ which dnf clean all rm -rf /var/cache/yum @@ -652,7 +597,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | ~/.gradle/caches @@ -664,29 +609,14 @@ jobs: shell: bash gradle_macos: - name: gradle macos latest - runs-on: macos-latest + name: gradle macos 14 + runs-on: macos-14 steps: - name: checkout uses: actions/checkout@v4 - name: setup run: | - rm -f \ - /usr/local/bin/2to3 \ - /usr/local/bin/2to3-3.* \ - /usr/local/bin/go \ - /usr/local/bin/gofmt \ - /usr/local/bin/idle3 \ - /usr/local/bin/idle3.* \ - /usr/local/bin/pydoc3 \ - /usr/local/bin/pydoc3.* \ - /usr/local/bin/python3 \ - /usr/local/bin/python3.* \ - /usr/local/bin/python3-config \ - /usr/local/bin/python3.*-config \ - /usr/local/lib/libtcl8.*.dylib \ - /usr/local/lib/libtk8.*.dylib - brew update-reset -q + brew update -q brew upgrade -f -q brew bundle install -q --no-lock brew cleanup -q -s @@ -697,7 +627,7 @@ jobs: HOMEBREW_NO_INSTALL_CLEANUP: 1 shell: zsh -efuo pipefail {0} - name: cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | ~/.gradle/caches @@ -707,12 +637,12 @@ jobs: - name: build package run: ./gradlew build --no-daemon env: - JAVA_HOME: /usr/local/opt/openjdk/libexec/openjdk.jdk/Contents/Home + JAVA_HOME: /opt/homebrew/opt/openjdk/libexec/openjdk.jdk/Contents/Home shell: zsh -efuo pipefail {0} gradle_ubuntu: - name: gradle ubuntu 22.04 - runs-on: ubuntu-22.04 + name: gradle ubuntu latest + runs-on: ubuntu-latest container: ubuntu:latest steps: - name: setup @@ -724,8 +654,8 @@ jobs: apt-get -qq -o APT::Acquire::Retries=4 -o Dpkg::Use-Pty=0 \ --no-install-recommends install \ ca-certificates \ - default-jdk \ - git + git \ + openjdk-21-jdk apt-get -qq -o Dpkg::Use-Pty=0 autoremove rm -rf /var/lib/apt/lists/* env: @@ -734,7 +664,7 @@ jobs: - name: checkout uses: actions/checkout@v4 - name: cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | ~/.gradle/caches @@ -751,10 +681,10 @@ jobs: steps: - name: checkout uses: actions/checkout@v4 - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: distribution: microsoft - java-version: 17 + java-version: 21 cache: gradle - name: build package run: gradlew.bat build --no-daemon diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 90ebf49..f8391ca 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -47,7 +47,7 @@ on: # yamllint disable-line rule:truthy jobs: analyze: name: analyze - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v4 diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c76aa3..fd00778 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,15 +34,12 @@ # # -cmake_minimum_required(VERSION 3.11 FATAL_ERROR) - -if(POLICY CMP0082) - cmake_policy(SET CMP0082 NEW) -endif() +cmake_minimum_required(VERSION 3.16 FATAL_ERROR) project(RVOJava VERSION 2.0.0 DESCRIPTION "Optimal Reciprocal Collision Avoidance for Java" + HOMEPAGE_URL https://gamma.cs.unc.edu/RVO2/ LANGUAGES NONE) list(INSERT CMAKE_MODULE_PATH 0 "${PROJECT_SOURCE_DIR}/cmake/modules") @@ -165,17 +162,17 @@ set(CPACK_SOURCE_STRIP_FILES ON) set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE all) set(CPACK_DEBIAN_PACKAGE_DEPENDS) -set(CPACK_DEBIAN_PACKAGE_HOMEPAGE https://gamma.cs.unc.edu/RVO2/) +set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${PROJECT_HOMEPAGE_URL}) set(CPACK_DEBIAN_PACKAGE_SECTION contrib/java) set(CPACK_FREEBSD_PACKAGE_DEPS) set(CPACK_FREEBSD_PACKAGE_LICENSE APACHE20) -set(CPACK_FREEBSD_PACKAGE_WWW ${CPACK_DEBIAN_PACKAGE_HOMEPAGE}) +set(CPACK_FREEBSD_PACKAGE_WWW ${PROJECT_HOMEPAGE_URL}) set(CPACK_RPM_FILE_NAME RPM-DEFAULT) set(CPACK_RPM_PACKAGE_ARCHITECTURE noarch) set(CPACK_RPM_PACKAGE_LICENSE "ASL 2.0") set(CPACK_RPM_PACKAGE_REQUIRES "java-headless >= 1:1.8") -set(CPACK_RPM_PACKAGE_URL ${CPACK_DEBIAN_PACKAGE_HOMEPAGE}) +set(CPACK_RPM_PACKAGE_URL ${PROJECT_HOMEPAGE_URL}) include(CPack) diff --git a/Dockerfile b/Dockerfile index 3488d11..28a5850 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,5 @@ +# syntax=docker.io/docker/dockerfile:1 + # # Dockerfile # RVO2 Library Java @@ -31,9 +33,9 @@ # # -FROM ubuntu:22.04 +FROM ubuntu:latest LABEL org.opencontainers.image.authors="Jur van den Berg, Stephen J. Guy, Jamie Snape, Ming C. Lin, Dinesh Manocha" -LABEL org.opencontainers.image.base.name="docker.io/library/ubuntu:22.04" +LABEL org.opencontainers.image.base.name="docker.io/library/ubuntu:latest" LABEL org.opencontainers.image.description="Optimal Reciprocal Collision Avoidance for Java" LABEL org.opencontainers.image.licenses="Apache-2.0" LABEL org.opencontainers.image.source="https://github.com/snape/RVO2/" @@ -48,39 +50,25 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get update -qq \ && apt-get install --no-install-recommends -o Dpkg::Use-Pty=0 -qy \ ca-certificates \ + cmake \ cmake-format \ dirmngr \ - dpkg \ dpkg-dev \ file \ git \ - gnupg \ + jsonlint \ make \ + markdownlint \ nano \ netbase \ ninja-build \ npm \ - openjdk-11-jdk-headless + openjdk-21-jdk-headless \ python3 \ reuse \ - unzip \ wget \ yamllint \ - zlib1g-dev \ - && wget -qO - https://bazel.build/bazel-release.pub.gpg | gpg --dearmor - \ - > /usr/share/keyrings/bazel-archive-keyring.gpg \ - && echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/bazel-archive-keyring.gpg] https://storage.googleapis.com/bazel-apt stable jdk1.8' \ - > /etc/apt/sources.list.d/bazel.list \ - && wget -qO - https://apt.kitware.com/keys/kitware-archive-latest.asc \ - | gpg --dearmor - > /usr/share/keyrings/kitware-archive-keyring.gpg \ - && echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu jammy main' \ - > /etc/apt/sources.list.d/kitware.list \ - && apt-get update -qq \ - && apt-get install --no-install-recommends -o Dpkg::Use-Pty=0 -qy \ - bazel \ - cmake \ && rm -rf /var/lib/apt/lists/* \ && npm install -g \ - @bazel/buildifier \ - jsonlint \ - markdownlint-cli + @bazel/bazelisk \ + @bazel/buildifier diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 1f9d1d6..1e653a8 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -83,9 +83,9 @@ pinned_maven_install() http_archive( name = "google_bazel_common", - sha256 = "de1441c02b35f5768b872d15d7e5813c4826b66630703e253fc95da39988a6d8", - strip_prefix = "bazel-common-d4ada735afa0ab044957cfa21849be577756a6cd", - urls = ["https://github.com/google/bazel-common/archive/d4ada735afa0ab044957cfa21849be577756a6cd.tar.gz"], + sha256 = "fdcd5b4ed39efd8150ba584b56b08f9c03406183385121e8a11ddf8ae19f1db5", + strip_prefix = "bazel-common-d59d067c04e973f3c4aa34f6628bed97d6664c3c", + urls = ["https://github.com/google/bazel-common/archive/d59d067c04e973f3c4aa34f6628bed97d6664c3c.tar.gz"], ) load("@google_bazel_common//:workspace_defs.bzl", "google_common_workspace_rules") diff --git a/extensions.bzl b/extensions.bzl index f3bef6c..7baba87 100644 --- a/extensions.bzl +++ b/extensions.bzl @@ -39,9 +39,9 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") def _non_module_deps_implementation(ctx): http_archive( name = "google_bazel_common", - sha256 = "de1441c02b35f5768b872d15d7e5813c4826b66630703e253fc95da39988a6d8", - strip_prefix = "bazel-common-d4ada735afa0ab044957cfa21849be577756a6cd", - urls = ["https://github.com/google/bazel-common/archive/d4ada735afa0ab044957cfa21849be577756a6cd.tar.gz"], + sha256 = "fdcd5b4ed39efd8150ba584b56b08f9c03406183385121e8a11ddf8ae19f1db5", + strip_prefix = "bazel-common-d59d067c04e973f3c4aa34f6628bed97d6664c3c", + urls = ["https://github.com/google/bazel-common/archive/d59d067c04e973f3c4aa34f6628bed97d6664c3c.tar.gz"], ) non_module_deps = module_extension( diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d64cd49..e644113 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index c9a1d56..e44da67 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,7 +3,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew.bat b/gradlew.bat index d774729..51fcc4c 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -44,11 +44,11 @@ set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -58,11 +58,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail