«

android gradle task dependence

时间:2024-3-2 19:18     作者:韩俊     分类: Android


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仓库,如果目录存在,则会更新最新代码。

        <p>版权声明:本文为博主原创文章,未经博主允许不得转载。</p>

标签: android

热门推荐