Jython

It seems to me that if you abstract this simple script into a series of ansible tasks, you could be a bit more fine-grained in the installation.  but I can see below that you've got it set up to fail or succeed at a pretty global level, so perhaps fine-grained is not what you seek.  

I'm mostly thinking about the situation where the role fails partway through due to network issues or some other situation, and the desire not to have to re-run the `wget` steps if the needed packages are already in place