[jira] [Commented] (JCLOUDS-1629) Upgrade to Guice 7

2024-02-23 Thread Basil Crow (Jira)


[ 
https://issues.apache.org/jira/browse/JCLOUDS-1629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17820255#comment-17820255
 ] 

Basil Crow commented on JCLOUDS-1629:
-

bq. When changing these to Jakarta I could get Guice 7 working but not 6.

I don't have any ideas offhand. If Guice 7 is working but not Guice 6, then 
maybe it would make sense to file a Guice ticket about this.

> Upgrade to Guice 7
> --
>
> Key: JCLOUDS-1629
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1629
> Project: jclouds
>  Issue Type: Improvement
>  Components: jclouds-core
>Affects Versions: 2.5.0
>Reporter: Andrew Gaul
>Assignee: Andrew Gaul
>Priority: Major
>  Labels: guice
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> [~basil] JCLOUDS-1627 upgrading some of the packages to jakarta but not the 
> important annotations one for Guice.  When changing these to Jakarta I could 
> get Guice 7 working but not 6.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (JCLOUDS-1371) LocalBlobStore.list enumerates entire container

2024-02-23 Thread Basil Crow (Jira)


[ 
https://issues.apache.org/jira/browse/JCLOUDS-1371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17820254#comment-17820254
 ] 

Basil Crow commented on JCLOUDS-1371:
-

Our usage is at 
https://github.com/jenkinsci/artifact-manager-s3-plugin/blob/1239f6b0f5820075ebf8f37096f86e198f22adf6/src/test/java/io/jenkins/plugins/artifact_manager_jclouds/MockApiMetadata.java#L193-L202.
 I am not the original author of the code, so I cannot comment on why it was 
done this way.

> LocalBlobStore.list enumerates entire container
> ---
>
> Key: JCLOUDS-1371
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1371
> Project: jclouds
>  Issue Type: Improvement
>  Components: jclouds-blobstore
>Affects Versions: 2.0.3
>Reporter: Andrew Gaul
>Assignee: Andrew Gaul
>Priority: Major
>  Labels: filesystem
> Fix For: 2.5.0
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> {{LocalBlobStore.list}} with the filesystem blobstore enumerates the entire 
> container even when prefix and delimiter set.  The File API does not provide 
> a way to list a subset of files except for those within a specific directory 
> and the underlying filesystem makes no guarantees about enumeration order.  
> We can still optimize the case where prefix is set and delimiter is /.  
> Reference:
> https://lists.apache.org/thread.html/72e8a101d8a8f99b6f728336633db2cecae1dc443e4c5b195eee8f0d@%3Cuser.jclouds.apache.org%3E



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (JCLOUDS-1371) LocalBlobStore.list enumerates entire container

2024-02-23 Thread Basil Crow (Jira)


[ 
https://issues.apache.org/jira/browse/JCLOUDS-1371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17820150#comment-17820150
 ] 

Basil Crow commented on JCLOUDS-1371:
-

The addition of the {{delimiter}} argument in the last commit broke API 
compatibility and required me to add the new parameter to my mock 
implementation of {{LocalStorageStrategy}} in order for my project to compile 
again. Should this API change be documented before the next release?

> LocalBlobStore.list enumerates entire container
> ---
>
> Key: JCLOUDS-1371
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1371
> Project: jclouds
>  Issue Type: Improvement
>  Components: jclouds-blobstore
>Affects Versions: 2.0.3
>Reporter: Andrew Gaul
>Assignee: Andrew Gaul
>Priority: Major
>  Labels: filesystem
> Fix For: 2.5.0
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> {{LocalBlobStore.list}} with the filesystem blobstore enumerates the entire 
> container even when prefix and delimiter set.  The File API does not provide 
> a way to list a subset of files except for those within a specific directory 
> and the underlying filesystem makes no guarantees about enumeration order.  
> We can still optimize the case where prefix is set and delimiter is /.  
> Reference:
> https://lists.apache.org/thread.html/72e8a101d8a8f99b6f728336633db2cecae1dc443e4c5b195eee8f0d@%3Cuser.jclouds.apache.org%3E



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (JCLOUDS-1627) Java Jakarta Support

2024-02-23 Thread Basil Crow (Jira)


[ 
https://issues.apache.org/jira/browse/JCLOUDS-1627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17820144#comment-17820144
 ] 

Basil Crow commented on JCLOUDS-1627:
-

[~gaul] I have tested 2.6.0-SNAPSHOT at commit b5e4e1d0fd with [Artifact 
Manager on S3|https://plugins.jenkins.io/artifact-manager-s3/] running against 
Guice 7. I still get the following exception:

{noformat}
java.lang.NoClassDefFoundError: javax/inject/Provider
at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
at 
java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3549)
at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2727)
at 
com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:299)
at 
com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:121)
at 
com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:737)
at 
com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:982)
at 
com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:902)
at 
com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:302)
at 
com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:225)
at 
com.google.inject.internal.InjectorImpl.createParameterInjector(InjectorImpl.java:1083)
at 
com.google.inject.internal.InjectorImpl.getParametersInjectors(InjectorImpl.java:1070)
at 
com.google.inject.internal.ProviderMethod.initialize(ProviderMethod.java:164)
at 
com.google.inject.internal.InternalProviderInstanceBindingImpl.initialize(InternalProviderInstanceBindingImpl.java:64)
at 
com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:593)
at 
com.google.inject.internal.AbstractBindingProcessor$Processor.initializeBinding(AbstractBindingProcessor.java:176)
at 
com.google.inject.internal.AbstractBindingProcessor$Processor.lambda$scheduleInitialization$0(AbstractBindingProcessor.java:163)
at 
com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:49)
at 
com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:126)
at 
com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)
at com.google.inject.Guice.createInjector(Guice.java:87)
at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:405)
at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:328)
at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:615)
at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:595)
at 
io.jenkins.plugins.artifact_manager_jclouds.s3.S3BlobStore.getContext(S3BlobStore.java:136)
at 
io.jenkins.plugins.artifact_manager_jclouds.s3.CustomBehaviorBlobStoreProvider.getContext(CustomBehaviorBlobStoreProvider.java:68)
at 
io.jenkins.plugins.artifact_manager_jclouds.JCloudsArtifactManager.getContext(JCloudsArtifactManager.java:384)
at 
io.jenkins.plugins.artifact_manager_jclouds.JCloudsArtifactManager.archive(JCloudsArtifactManager.java:127)
at hudson.tasks.ArtifactArchiver.perform(ArtifactArchiver.java:257)
at 
hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:80)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at 
hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:818)
at 
hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:767)
at hudson.model.Build$BuildExecution.post2(Build.java:179)
at 
hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:711)
at hudson.model.Run.execute(Run.java:1918)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
at hudson.model.ResourceController.execute(ResourceController.java:101)
at hudson.model.Executor.run(Executor.java:442)
{noformat}

> Java Jakarta Support
> 
>
> Key: JCLOUDS-1627
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1627
> Project: jclouds
>  Issue Type: Improvement
>  Components: jclouds-core
>Affects Versions: 2.5.0
>Reporter: Paolo Bazzi
>Assignee: Andrew Gaul
>Priority: Major
> Fix For: 2.6.0
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Module jclouds-core (latest version 2.5.0) depends on non-jakarta version of 
> javax APIs:
> - javax.annotation » javax.annotation-api
> - javax.ws.rs » javax.ws.rs-api
>  
> Are there any plans to release a version based on new Jakarta APIs 

[jira] [Commented] (JCLOUDS-1618) Jclouds 2.3.0 and above is incompatible with SpringBoot 2.7.*

2024-01-23 Thread Basil Crow (Jira)


[ 
https://issues.apache.org/jira/browse/JCLOUDS-1618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17810151#comment-17810151
 ] 

Basil Crow commented on JCLOUDS-1618:
-

Are there any plans for a release?

> Jclouds 2.3.0 and above is incompatible with SpringBoot 2.7.*
> -
>
> Key: JCLOUDS-1618
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1618
> Project: jclouds
>  Issue Type: Bug
>  Components: jclouds-core
>Affects Versions: 2.3.0, 2.4.0, 2.5.0
>Reporter: Biswa Ranjan Ray
>Assignee: Andrew Gaul
>Priority: Major
>  Labels: gson
> Fix For: 2.6.0
>
> Attachments: JClouds_Gson_Error.txt
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Hi,
> We developed a multi-cloud application using jclouds and springboot to 
> support operations on storage services e.g s3, gcs and azure storage.
> We're trying to migrate our application from springboot 2.5.* to latest 
> (springboot 2.7.*). However we're facing issues with jclouds. Its observed 
> that errors are thrown during the creation of BlobStoreContext. A full 
> stacktrace is attached.
> Here is a code snippet of BlobStoreContext:
> public BlobStoreContext getBlobStoreContext()
> {    
>return ContextBuilder.newBuilder(CloudProviders.PROVIDER_AWS.toString())   
>           
>.credentials(this.getAccessKeyId(), this.getSecretAccessKey())             
>.buildView(BlobStoreContext.class);
> }
> We also tried jclouds 2.4.0 & 2.5.0 but no luck. However its found jclouds 
> 2.3.0 is compatible with springboot 2.6.10 and currently we're using the 
> same, but our goal is to upgrade to springboot 2.7.   
> Any suggestions.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (JCLOUDS-1627) Java Jakarta Support

2024-01-23 Thread Basil Crow (Jira)


[ 
https://issues.apache.org/jira/browse/JCLOUDS-1627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17810150#comment-17810150
 ] 

Basil Crow commented on JCLOUDS-1627:
-

I suggest upgrading to Guice 6.x and migrating from {{javax.inject}} to 
{{{}jakarta.inject{}}}. Guice 6 supports both, while Guice 7 only supports 
{{{}jakarta.inject{}}}. So following this suggestion will allow JClouds to be 
placed on the classpath of an application running Guice 6 and using 
{{javax.inject}} outside of JClouds as well as the classpath of an application 
running Guice 7 and using {{jakarta.inject}} outside of JClouds.

> Java Jakarta Support
> 
>
> Key: JCLOUDS-1627
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1627
> Project: jclouds
>  Issue Type: Improvement
>  Components: jclouds-core
>Affects Versions: 2.5.0
>Reporter: Paolo Bazzi
>Assignee: Andrew Gaul
>Priority: Major
>
> Module jclouds-core (latest version 2.5.0) depends on non-jakarta version of 
> javax APIs:
> - javax.annotation » javax.annotation-api
> - javax.ws.rs » javax.ws.rs-api
>  
> Are there any plans to release a version based on new Jakarta APIs instead of 
> former javax modules?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)