maven repository on DigitalOcean spaces - any luck?

December 30, 2017 2.2k views
DigitalOcean Development

Gradle 2.4 introduced S3 support: ,

DigitalOcean Spaces says it support s3 protocol.

But, looks like it is not drop-in replacement: after re-pointing s3 mvn repo url to DO spaces URL it is not working.

I created folder "if-mvn", created key and secret, and trying to publish artefact to s3://

Got error:

Execution failed for task ':myApp:publishFatJarPublicationToMyRepository'.

Failed to publish publication 'fatJar' to repository 'My'
Could not get resource 's3://'.
The AWS Access Key Id you provided does not exist in our records. (Service: Amazon S3; Status Code: 403; Error Code: InvalidAccessKeyId; Request ID: FB0B6D0F712B59E4)

Unfortunately, DigitalOcean support were unable to explain (Ticket #711785) what's exactly wrong with Request ID: FB0B6D0F712B59E4

2 Answers

I have been trying to do the same. After half a day of trying... I found this very interesting discussion -> And here the author mentions a property that you need to set "-Dorg.gradle.s3.endpoint=".

publishing {
    repositories {
        maven {
            url "s3://if-mvn"
            credentials(AwsCredentials) {
                accessKey "access"
                secretKey "secret"

Long story short: the url you set in publishing.repositories.maven is actually the bucket.

Are you able to change the S3 API signature? Try versions 2 and 4 and see if you have any success.

Have another answer? Share your knowledge.