您的位置:首页 > 移动开发 > Android开发

android gradle task dependence

2015-07-03 13:52 323 查看
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仓库,如果目录存在,则会更新最新代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: