Привет Я с 2 проектов с файлами, как показано ниже:Gradle нескольких проектов строить с чтения файла
project1
\- build.gradle
project2
\- build.gradle
\- build.properties
project1: build.gradle
apply from: '/home/project2/build.gradle
test/test2/build.gradle'
task test1 {
println "Running task test 1"
}
test1.dependsOn test2
project2: build.gradle
task test2 {
println "Running task test 2"
Properties props = new Properties()
props.load(new FileInputStream("build.properties"))
}
Когда я выполняю т st1 задача из project1, я получаю следующее сообщение об ошибке:
Запуск теста задачи 2
FAILURE: Build failed with an exception.
Where: Script '/home/project2/build.gradle' line: 4
What went wrong: A problem occurred evaluating script. build.properties (No such file or directory)
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 5.779 secs
Как Gradle работает с относительным путем, он пытается найти build.properties файл в каталоге project1 который на самом деле присутствует в каталоге project2. Я также могу перенести этот файл в каталог project1, но это то, чего я не хочу делать.
Я также могу использовать абсолютный путь в build.gradle, но это только решение?
Я хочу запустить project2:test2
Задача от project1:test1
Задача без особого изменения в проекте2: build.gradle, поскольку я имею в виду несколько файлов в этом файле.
Вы случайно используете эти build.properties для настройки своей сборки? Если это так, вы можете вместо этого использовать gradle.properties - https://docs.gradle.org/current/userguide/build_environment.html –
Thanks Eric, Но нам нужно build.properties, а не файл gradle.properties (Требование) , –