Gradle-publish, PublicationToMavenRepository does not declare outputs

Creating some tasks to publish some zip artifacts to a repository. I zip up a directory and then publish the artifact. If I run the build multiple times, the zip task detects that nothing has changed and skips the task. However, if i delete the build directory (forcing the zip task to execute) the PublicationToMavenRepository always pushes up the artifact even though it did not change.

Is there a way to check the hash in the repository against a local hash to determine if an upload is required?

You’d have to implement some custom logic for that check but it’s certainly possible. Commercial binary repository products usually expose some sort of HTTP-based API. You can query that API and ask for the hash. The actual up-to-date checking could be implemented via Task.getOutputs().upToDateWhen(Closure).