无法将JGit导入gradle构建脚本中

问题描述 投票:0回答:1

我想在JGit脚本中使用app/gradle.build以获取当前标签来为我的android项目创建版本名称。

我已经在下面的根目录build.gradle中声明了依赖项

buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven {
            url "https://repo.eclipse.org/content/groups/releases/"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'org.eclipse.jgit:org.eclipse.jgit:5.5.0.201909110433-r'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()

    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

但是同步后,我的app/build.gradle中仍然没有JGit可用>

def versionNameFromTag() {
   Git git = new Git(repository) // <- Unresolved Reference: Git
}

UPDATE

我能够通过以下依赖声明修复将JGit放入我的根/build.gradle文件中

buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven {
            url "http://download.eclipse.org/jgit/maven"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.eclipse.jgit:org.eclipse.jgit:5.5.+"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

// Now Compiles with JGit dependencies
import org.eclipse.jgit.api.Git
import org.eclipse.jgit.storage.file.FileRepositoryBuilder
import org.eclipse.jgit.lib.*
import org.eclipse.jgit.revwalk.*

但是我的app/build.gradle仍然无法导入JGit

// Still doesn't compile
import org.eclipse.jgit.api.Git // <- Unresolved Reference: Git

def versionNameFromTag() {
   Git git = new Git(repository) // <- Unresolved Reference: Git
}

我想在我的app / gradle.build脚本中使用JGit,以便能够获取当前标签来为我的android项目创建版本名称。我已经在根目录build.gradle中声明了依赖项...

android gradle jgit
1个回答
0
投票

每个Gradle脚本是独立的,并且当您使用buildscript块添加依赖项时,这些依赖项在声明它们的脚本中是本地的。这些依赖项不会传播到所包含的项目。

© www.soinside.com 2019 - 2024. All rights reserved.