Я создаю скрипт Gradle, который запускает Tomcat (к сожалению, я не могу использовать плагины Gretty или Cargo). После запуска Tomcat ($TOMCAT_HOME/bin/startup.sh
) я хочу открыть файл в Gradle/Groovy, а затем распечатать все входящие строки, другими словами: открыть файл, отследить, пришло ли новое smt, распечатать его.
Теперь моя задача выглядит так:
task startTomcat(dependsOn: ...) << {
def catalinaOut = "${project.TOMCAT_HOME}/logs/catalina.out"
delete { catalinaOut }
exec {
workingDir '.'
executable "${project.TOMCAT_HOME}/bin/${tomcatStartScript()}"
environment CATALINA_OPTS: tomcatArgs.join(' ')
}
new File(catalinaOut).eachLine { line -> println(line) }
}
Конечно, это не сработает, потому что new File
открывает и тут же закрывает файл.