У нас есть скрипт сборки Gradle, работающий на Jenkins и на наших локальных машинах. Скрипт создает библиотеку Java Android. Мы используем один сервер Jenkins;здесь нет никакой архитектуры master-slave или какого-либо конвейера.
Скрипт содержит несколько задач, одна из которых называется transformSources
. transformSources
заботится о создании нескольких источников для разных вариантов использования, переписывая import
-Statements и изменяя сигнатуры классов (например, с public
на private
). Тем не менее, Jenkins, похоже, не вызывает никаких исключений или ошибок, а также не создает файлы. До сих пор каждая попытка приводит к FileNotFoundException
s при попытках записи даже после тройной проверки их существования.
Я пробовал несколько подходов: используя хороший старый Java Java API (file.createNewFile()
) или Gradle'sAPI синтаксического сахара (project.file("foo").withWriter { ... }
). Обратите внимание, что все мои подходы работают без проблем на локальных машинах.