Как поддерживать версии jar проекта и зависимости для сборки Gradle в файле свойств? - PullRequest
2 голосов
/ 28 мая 2020

У меня есть проект Java с Gradle. Текущая рабочая версия файла build.gradle выглядит следующим образом:

/*
 * This file was generated by the Gradle 'init' task.
 */

plugins {
    id 'java'
}

group = 'com.myproject'
version = '1.0'

repositories {
    mavenCentral()
}

dependencies {
    'log4j:log4j:1.2.14'
}

Здесь версия проекта (1.0) и версия зависимости log4j (1.2.14) жестко запрограммированы в файле сборки. Но я хочу избежать этого и сохранить версии в отдельном файле свойств, чтобы файл сборки не нужно было изменять при изменении номера версии. Я создал файл свойств build.properties, имеющий содержимое, как показано ниже:

VERSION_NUMBER = '1.0'
LOG4J_VERSION = '1.2.14'

, и попытался использовать значения свойств в build.gradle, как показано ниже

version = VERSION_NUMBER

dependencies {
    compile 'log4j:log4j:LOG4J_VERSION'
}

Но это похоже, не работает.

Как я могу ссылаться на файл свойств из build.gradle и использовать определенные свойства?

1 Ответ

1 голос
/ 28 мая 2020

Используйте файл gradle.properties в root проекта. Gradle автоматически загрузит / использует этот файл для ссылки на свойства.

# gradle.properties

version=1.0
LOG4J_VERSION=1.2.14

Версия автоматически будет 1.0 из-за определенного свойства version. Что касается log4j, вам нужно ссылаться на него так:

dependencies {
    implementation "log4j:log4j:$LOG4J_VERSION"
}
...