gpt4 book ai didi

bash - 如何从任何子项目目录启动正确版本的gradle?

转载 作者:行者123 更新时间:2023-12-03 06:06:07 24 4
gpt4 key购买 nike

因此,我的想法是,无论我在哪个子项目中,无论我在进行哪个SCM项目 checkout ,我都希望启动正确的Gradle包装器版本。

例如,如果我有一个包含两个子项目B和C的项目A,则我应该可以位于B或C中,并在项目A中获得正确的Gradle包装器版本。还有更多。 ;-)

它还需要处理我刚刚 checkout 的项目Q,其中包含子项目Z和Y。换句话说,如果我在Y中工作,我不想获得项目A的包装。项目Q的版本。

我有一个BASH函数(您可以像别名一样使用它),但是我愿意将积分交给任何具有等于或优于它的人。如果没有,我将发布我的答案。

最佳答案

这是我一直在使用的:

function gradle {
CURDIR=`pwd`
NOERR=true
while [[ ! -e "${CURDIR}/gradlew" ]]
do
CURDIR="$(dirname "$CURDIR")"
if [[ "${CURDIR}" == "/" ]]; then
echo "Failed to find gradlew in any parent dir. Are you sure this is a Gradle project?"
NOERR=false
break
fi
done

if [[ $NOERR ]];then
${CURDIR}/gradlew $@
fi
}

find-gradle提供了系统Gradle的可能性,但是它很方便,因为它位于您的.bashrc中并使用gradle名称。循环绝对在查找范围内更干净。可能还想更改错误消息。在您的.bashrc中拥有它的好处是,您可以放心,除非您无法访问整个框,否则其他人不会失去您的权限。 ;-)

关于bash - 如何从任何子项目目录启动正确版本的gradle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38771316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com