Basically everything. In my web projects, gradle runs css and js minification and compilation, and in game projects, it runs the asset preprocessing.
The build-time code is handled with gradle’s buildSrc folder.
I also obviously use Annotation Preprocessors to pre-generate code for my Java projects, and additional build tools to further minify and optimize the output (e.g., for Android, I also run redex over it).
Basically, gradle for me handles the entire build – fetching dependencies, building native libraries, running code generators, building Java code, binding them together, processing assets, compressing the result, and optimizing it all – and deploying the results.