Validation and installation are going to be handled by separate tasks.
The actual installation functionality takes place within the DownloadCloudSdkTask class instead of being abstracted away in another layer.
The tests don't actually install anything, they just verify the logic. Which a) speeds things up, and b) doesn't require dealing with the mess of passing temporary directories around.
Still needs fixing:
Validation task is coming in another PR (this one only has the installation task).
ProgressListener and ConsoleListener still need to be passed in instead of using anonymous classes.
Some (hopefully) improvements over the last PR:
DownloadCloudSdkTask
class instead of being abstracted away in another layer.Still needs fixing:
ProgressListener
andConsoleListener
still need to be passed in instead of using anonymous classes.