Cache control header could be more than just max-age in general case, you currently cannot set something like:
Cache-Control: max-age=3600, must-revalidate
Possible solution could be checking if passed value is integer then using it as max-age value (to not break old codebase), otherwise just pass the value as is without prepending max-age for full flexibility.
Currently cache control is accepting only integer values used for max-age: https://github.com/corley/aws-ant-task/blob/master/src/main/it/corley/ant/S3PutTask.java#L216
Cache control header could be more than just max-age in general case, you currently cannot set something like: Cache-Control: max-age=3600, must-revalidate
List of possible values (scroll to 14.9): http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
Possible solution could be checking if passed value is integer then using it as max-age value (to not break old codebase), otherwise just pass the value as is without prepending max-age for full flexibility.