动态加载“buildscript”的本地“maven”存储库路径
我试图为上述问题找到一个合适的解决方案,但到目前为止还找不到出路,因此在这里发布帖子,以获得该问题的一些正确和精确的解决方案 我在代码版本控制中包括了app动态加载“buildscript”的本地“maven”存储库路径,maven,android-studio,gradle,build.gradle,properties-file,Maven,Android Studio,Gradle,Build.gradle,Properties File,我试图为上述问题找到一个合适的解决方案,但到目前为止还找不到出路,因此在这里发布帖子,以获得该问题的一些正确和精确的解决方案 我在代码版本控制中包括了appbuild.gradle,因为在build.gradle(插件依赖级别)中经常会有更改。我需要在版本中跟踪此文件-长话短说。现在,作为每个团队成员,对于以下指定的依赖项有不同的位置-我尝试从我的CustomLocalPath.properties加载此文件,但是从.properties文件加载变量在这里似乎不起作用。下面列出的url属性似乎只
build.gradle
,因为在build.gradle
(插件依赖级别)中经常会有更改。我需要在版本中跟踪此文件-长话短说。现在,作为每个团队成员,对于以下指定的依赖项有不同的位置-我尝试从我的CustomLocalPath.properties
加载此文件,但是从.properties
文件加载变量在这里似乎不起作用。下面列出的url
属性似乎只接受纯字符串
buildscript{
repositories{
google()
jcenter()
maven{
url 'D:\\android_workspace_dependencies\\My_XYZ_dependency\\lib' // <-- need to make this path dynamic
}
}
}
buildscript{
存储库{
谷歌()
jcenter()
马文{
url'D:\\android\u workspace\u dependencies\\My\u XYZ\u dependency\\lib'/通常,在公司内部,您为工件运行Nexus或Artifactory服务器。这是放置依赖项的地方,您不需要更多的本地路径。首先,如果您想从本地libs目录解析依赖项,您应该使用>maven
存储库
为了解决您的具体问题,这里至少有两个基于标准Gradle功能的简单解决方案:
解决方案1-使用
Init脚本功能允许您根据当前生成环境自定义Gradle执行。每个团队成员都可以在其本地Init脚本中声明其特定的本地存储库,如下所示:
$USER\u HOME/.gradle/init.gradle
项目构建脚本将只包含公共/共享存储库
格雷德尔先生
解决方案2-使用
您可以使用Gradle属性来配置存储库url/路径,并让团队成员在其特定于用户的Gradle.properties
文件中提供此属性值:
build.gradle
buildscript {
repositories {
google()
jcenter()
if (project.hasProperty("myLocalLibRepo")) {
flatDir {
dirs myLocalLibRepo
}
// or with local mavel repo:
// maven { url myLocalLibRepo }
}
}
}
团队成员的属性文件:
$USER\u HOME/.gradle/gradle.properties
myLocalLibRepo=c:/DEV/libs
你能参考一些关于如何设置工件服务器(Ubuntu)的教程吗?此外,如果你知道如何暂时解决动态路径问题,那就太好了。谷歌“sonatype nexus”或“jfrog artifactory”他们都有免费版本。仍在等待针对已发布问题的答案,可能来自文档参考,无论这是否可行。仍在等待针对已发布问题的答案,可能来自文档参考,无论这是否可行。我认为下面描述的解决方案应该有效。请确认很高兴尝试你的解决方案,虽然我没有尝试过,但我希望这能奏效。在验证后(在接下来的几天内),我会将其标记为接受。
buildscript{
repositories{
google()
jcenter()
}
}
buildscript {
repositories {
google()
jcenter()
if (project.hasProperty("myLocalLibRepo")) {
flatDir {
dirs myLocalLibRepo
}
// or with local mavel repo:
// maven { url myLocalLibRepo }
}
}
}