git子模块的build.gradle更改

4

源树如下:

core               // root
  .gitmodules     // this has box-sdk as submodule
  box-sdk          // git submodule
     BoxJavaLibraryV2     // Box related files

我还创建了settings.gradle

include 'box-sdk:BoxJavaLibraryV2'

我的build.gradle

compile project(':box-sdk:BoxJavaLibraryV2')

目前我已经能够编译并构建以box为依赖的根项目。

问题出现在我尝试再次检入和检出整个项目时。我做了以下操作:

我能够检入.gitmodulesbox-sdk目录。但我无法检入BoxJavaLibraryV2。

It errored out saying BoxJavaLibraryV2 is a submodule

我又单独检查了一下根目录,得到了.gitmodules和box-sdk(没有BoxJavaLibraryV2)。

然后为了构建我的项目,我需要手动执行以下步骤:

git submodule init
git submodule update
gradle war

我需要消除init和update步骤的更改和位置。

我的要求是:

当我检出git master时,应使用gradle war构建包括所有子模块在内的整个项目

请帮忙。

1个回答

4

首先,您只能有一个步骤:

git submodule update --init --recursive

其次,Gradle本身存在一个未解决的问题(自2010年以来)需要集成该步骤:
GRADLE-21:“简化将构建作为git子模块包含的问题”git clone --recursive会克隆:检出你带有子模块检出的repo。
该问题提出了各种方法,其中之一是创建gradle wrapper(调用适当的git子模块命令,然后调用gradle)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接