Skip to content

Commit

Permalink
Merge pull request #10 from jenkinsci/register-provider
Browse files Browse the repository at this point in the history
Need to explicitly register JClouds provider
  • Loading branch information
jglick committed Apr 9, 2018
2 parents 4327ac8 + 04c7ef8 commit eb8aaed
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import org.jclouds.blobstore.BlobStoreContext;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.domain.Credentials;
import org.jclouds.providers.ProviderMetadata;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.Beta;

Expand All @@ -52,6 +53,9 @@ public enum HttpMethod {
@NonNull
public abstract String id();

@NonNull
public abstract ProviderMetadata getProvider();

@NonNull
public abstract BlobStoreContext getContext() throws IOException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
import org.jclouds.blobstore.options.CopyOptions;
import org.jclouds.blobstore.options.ListContainerOptions;
import org.jclouds.domain.Credentials;
import org.jclouds.osgi.ProviderRegistry;
import org.jenkinsci.plugins.workflow.flow.StashManager;

import edu.umd.cs.findbugs.annotations.NonNull;
Expand Down Expand Up @@ -309,6 +310,9 @@ private static JCloudsApiExtensionPoint getExtension(String providerOrApi) {

private static BlobStoreContext getContext(Supplier<Credentials> credentialsSupplier) throws IOException {
try {
// for some reason it won't find it at runtime otherwise
ProviderRegistry.registerProvider(getExtension(PROVIDER).getProvider());

return ContextBuilder.newBuilder(PROVIDER)
.credentialsSupplier(credentialsSupplier)
.buildView(BlobStoreContext.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.domain.Credentials;
import org.jclouds.osgi.ProviderRegistry;
import org.jclouds.providers.ProviderMetadata;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;

Expand Down Expand Up @@ -72,6 +73,11 @@ public String id() {
return "aws-s3";
}

@Override
public ProviderMetadata getProvider() {
return AWSS3ProviderMetadata.builder().build();
}

public BlobStoreContext getContext() throws IOException {
LOGGER.log(Level.FINEST, "Building context for {0}", id());
ProviderRegistry.registerProvider(AWSS3ProviderMetadata.builder().build());
Expand Down

0 comments on commit eb8aaed

Please sign in to comment.