Gradle Task prompt for password, how?


(HOA PHAN) #1

I have an Exec Task, that was supposed to prompt for password. But gradle task doesn’t seem to propagate that the task instead hung for a bit(I take it the underline process is waiting for input).

How to propagate/pipe this prompt?
Currently I work around by launching a SwingBuilder dialog to gget the password then
commandLine “echo”, pass, “|” …myscript

though I suppose there should have been a better way?


(nerro) #2

Did you look at System.console().readLine() and System.console.readPassword()?
https://docs.oracle.com/javase/8/docs/api/java/io/Console.html#readLine


(Mike Kobit) #3

Those won’t work with the Gradle daemon. You can see some info about this type of request in https://github.com/gradle/gradle/issues/1251. Gradle did some work recently to allow for inputs for the --scan command line tool to accept license, but I do not think there is a public API for this right now.


(HOA PHAN) #4

Yeah forgot to mention that I did. But like mkobit said, it won’t work by default with new gradle deamon on.


(nerro) #5

There is a workaround (to handle null console when using daemon), described in the issue too https://github.com/gradle/gradle/issues/1251#issuecomment-357397505.

At the moment you don’t have many alternatives to solve your question :smile:: console or UI using SwingBuilder. Both variants you can handle in your task.