Chcę zmienić standardOutput
jednego zadania kompilacji na plik, ponieważ zostanie ono sparsowane później przez inne zadanie.Gradle: standardowe zadanieOutput do pliku i terminalu jednocześnie
Ale również, chciałbym mieć jednocześnie wyjście w terminalu, aby zobaczyć, co się dzieje w kompilacji.
ten sposób zmieniłem wyjście zadania do pliku:
task sampleTaskWithOutputToFile(type: Exec) {
commandLine 'someCommand', 'param1'
doFirst {
standardOutput = new FileOutputStream('someFolder/someFile.out')
}
}
Jak rozumiem, mogę napisać własny OutputStream
realizacji z wyjściem do pliku i standardowej System.out
jednocześnie ale chciałbym wykorzystać istniejący rozwiązanie.
Ponadto, nie można korzystać z narzędzi unix jak tee
za to, ponieważ zadanie może zostać uruchomiony z dowolnego OS (Mac OS, Linux lub nawet niektóre Windows ...)
dzięki!
Niektóre firmy będące biblioteki Java (np Apache Commons) mają 'TeeOutputStream'. –
OK, dzięki, spróbuję tego! –