Publishing files to a non-Maven/Ivy destination

All documentation related to publishing of artifacts seem related to Ivy and Maven repositories. What if I simply want arbitrary files (custom task outputs) copied to an FTP or S3 bucket with some naming convention, is there any built-in support for that, or am I better off writing some custom script or plugin to deal with it?

I’ve spent some time trying to understand how I could make my case fit in the variant/configuration model, but it just doesn’t seem like the right thing, and I don’t care about Ivy or Maven meta data either.

I found a couple of plugins for publishing Android APKs to S3, which I guess is similar to what I would do, but not tied specifically to an APK from a Java build task.


While this doesn’t fit exactly what you are asking for, it could be helpful if you are in a jam.

My use case was to simply download a HTTP URL and store in the dependency cache, a non-maven/ivy jar file, which was hosted on S3. Normally one could just use maven/ivy repo with patternLayout to do this, but maven/ivy requires HTTP HEAD to be supported on the server, which S3 did not support.

But in your use case, for FTP - should work just as well, except there is no patternLayout behavior with this plugin yet, which would bring it closer to being inline with what you are asking for. I’ve just no time to do that yet, but for what it’s worth, there it is if it helps.