从 windows 上的子目录调用 gradlew

Calling gradlew from subdirectory on windows

我正在努力将我们的 gradle 构建转换为使用 gradle 包装器。我看到的问题是我无法从任何其他目录调用 gradlew 脚本,但它位于 "installed",因为它不在 PATH.

我找到了一些 batch/unix 脚本,它们可能会或可能不会解决问题,但对我来说 运行 windows 它们并没有多大帮助。

gradle 社区编写了一个名为 gdub 的小型实用工具来解决这个问题。在 https://github.com/dougborg/gdub

找到更多安装

无法在广泛的互联网上找到 windows 的任何解决方案,我创建了自己的小批处理脚本。只需确保它在 PATH.

上可用

我已将我的脚本命名为 g.bat,这样我只需键入 g build 即可构建内容。

@echo off
set REL_PATH=.\
set ABS_PATH=%CD%
rem echo %ABS_PATH%\gradlew.bat

: check
set GRADLE_WRAPPER=%ABS_PATH%\gradlew.bat
IF NOT EXIST %GRADLE_WRAPPER% goto up
rem echo %GRADLE_WRAPPER%
goto success

: up
IF %ABS_PATH%==%CD:~0,3% goto fail
set REL_PATH=%REL_PATH%..\
pushd %REL_PATH%
set ABS_PATH=%CD%
popd
goto check

:fail
echo Could not find gradlew.bat
goto end

:success
call %GRADLE_WRAPPER% %*

: end