android gradle task dependence

来源:互联网 发布:建筑工程定额软件手机 编辑:程序博客网 时间:2024/06/06 06:34

Android app依赖一个外部git 仓库,编译时下载。
在app所在的build.gradle中加入如下代码。

import org.ajoberstar.grgit.*task clone << {    def destination = file("../../library")    if( !destination.exists() ) {        Grgit.clone(dir: file('../../library'), uri: 'git@git01.dds.com:liubin/gitlab_jira.git', refToCheckout: 'refs/heads/master')    }else {        def grgit = Grgit.open(dir: file('../../library'))        grgit.pull(rebase: false)    }}gradle.projectsEvaluated {    preBuild.dependsOn(clone)}

在工程最上层的Build.gradle,加入如下代码

buildscript {    repositories {    mavenCentral()    }    dependencies {        classpath 'com.android.tools.build:gradle:1.1.0'        classpath 'org.ajoberstar:gradle-git:1.2.0'    }}

在settings.gradle中加入如下代码

include ':lib_project'project( ':lib_project' ).projectDir = new File(settingsDir, '../library' )

完成如上操作之后,在运行gradlew assemble会自动clone仓库,如果目录存在,则会更新最新代码。

0 0
原创粉丝点击