Gradle 多项目构建

  • 多项目构建

    Gradle可以轻松处理最小和最大的项目。小型项目只有一个构建文件和一个源树。消化和理解一个项目已非常容易,大项目已被分成较小的,相互依赖的模块。Gradle完全支持这种多项目构建方案。
  • 多项目构建的结构

    这样的构建具有各种形状和大小,但是它们确实具有一些共同的特征-
    • 一个settings.gradle在项目的根目录或主目录文件。
    • 一个build.gradle在根或主目录中的文件。
    • 具有自己的*.gradle构建文件的子目录(某些多项目构建可能会省略子项目构建脚本)。
    要列出构建文件中的所有项目,可以使用以下命令。
    
    C:\> gradle -q projects
    
    输出:
    
    ------------------------------------------------------------
    Root project
    ------------------------------------------------------------
    
    Root project 'projectReports'
    +--- Project ':api' - The shared API for the application
    \--- Project ':webapp' - The Web application implementation
    
    To see a list of the tasks of a project, run gradle <project-path>:tasks
    For example, try running gradle :api:tasks
    
    如果指定,该报告将显示每个项目的描述。您可以使用以下命令指定描述。将其粘贴到build.gradle文件中。
    
    description = 'The shared API for the application'
    
  • 指定常规构建配置

    在root_project的build.gradle文件中,常规配置可以应用于所有项目或仅应用于子项目。
    
    allprojects {
       group = 'com.example.gradle'
       version = '0.1.0'
    }
    
    subprojects {
       apply plugin: 'java'
       apply plugin: 'eclipse'
    }
    
    这指定了一个通用com.example。gradle组和0.1.0版本的所有项目。子项目闭包对所有子项目应用公共配置,但不像allprojects闭包那样对根项目应用公共配置。
  • 项目特定的配置和依赖项

    如果核心ui和util子项目有特殊需要,则根ui和util子项目也可以拥有自己的build.gradle文件,而根项目的常规配置尚未应用这些文件。例如,ui项目通常与核心项目有依赖关系。因此,ui项目需要其自己的build.gradle文件来指定此依赖性。
    例如,ui项目通常与核心项目有依赖关系。因此,ui项目需要其自己的build.gradle文件来指定此依赖性。-
    
    dependencies {
       compile project(':core')
       compile 'log4j:log4j:1.2.17'
    }
    
    项目依赖关系是通过project方法指定的。