Branch: refs/heads/master Home: https://github.com/xwiki/xwiki-commons Commit: c77d88e07480bebe733aacea79e639a5f1b6ba8e https://github.com/xwiki/xwiki-commons/commit/c77d88e07480bebe733aacea79e639... Author: Michael Hamann <[email protected]> Date: 2025-11-11 (Tue, 11 Nov 2025) Changed paths: M pom.xml M xwiki-commons-core/pom.xml M xwiki-commons-core/xwiki-commons-filter/xwiki-commons-filter-api/pom.xml A xwiki-commons-core/xwiki-commons-filter/xwiki-commons-filter-api/src/main/java/org/xwiki/filter/input/DefaultStreamProviderInputSource.java A xwiki-commons-core/xwiki-commons-filter/xwiki-commons-filter-api/src/main/java/org/xwiki/filter/output/DefaultBlobOutputTarget.java A xwiki-commons-core/xwiki-commons-store/pom.xml A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-api/pom.xml A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-api/src/main/java/org/xwiki/store/StoreException.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-api/src/main/java/org/xwiki/store/StreamProvider.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/pom.xml A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/pom.xml A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/AbstractBlobStore.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/Blob.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobAlreadyExistsException.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobNotFoundException.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobOption.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobPath.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobRangeOption.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobStore.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobStoreException.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobStoreFactory.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobStoreManager.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobStoreProperties.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobStorePropertiesBuilder.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobStorePropertiesCustomizer.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/BlobWriteMode.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/internal/AbstractBlob.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/internal/BlobOptionSupport.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/internal/BlobStoreConfiguration.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/internal/BlobStoreMigrator.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/java/org/xwiki/store/blob/internal/DefaultBlobStoreManager.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/main/resources/META-INF/components.txt A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/test/java/org/xwiki/store/blob/BlobPathTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/test/java/org/xwiki/store/blob/BlobRangeOptionTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/test/java/org/xwiki/store/blob/BlobStorePropertiesBuilderTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/test/java/org/xwiki/store/blob/BlobWriteModeTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/test/java/org/xwiki/store/blob/internal/BlobOptionSupportTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/test/java/org/xwiki/store/blob/internal/BlobStoreMigratorTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-api/src/test/java/org/xwiki/store/blob/internal/DefaultBlobStoreManagerTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-filesystem/pom.xml A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-filesystem/src/main/java/org/xwiki/store/blob/FileSystemBlobStoreProperties.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-filesystem/src/main/java/org/xwiki/store/blob/internal/FileSystemBlob.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-filesystem/src/main/java/org/xwiki/store/blob/internal/FileSystemBlobStore.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-filesystem/src/main/java/org/xwiki/store/blob/internal/FileSystemBlobStoreFactory.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-filesystem/src/main/resources/META-INF/components.txt A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-filesystem/src/test/java/org/xwiki/store/blob/FileSystemBlobStorePropertiesTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-filesystem/src/test/java/org/xwiki/store/blob/internal/FileSystemBlobStoreFactoryTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-filesystem/src/test/java/org/xwiki/store/blob/internal/FileSystemBlobStoreTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-filesystem/src/test/java/org/xwiki/store/blob/internal/FileSystemBlobTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/pom.xml A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/java/org/xwiki/store/blob/S3BlobStoreProperties.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/java/org/xwiki/store/blob/internal/S3Blob.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/java/org/xwiki/store/blob/internal/S3BlobIterator.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/java/org/xwiki/store/blob/internal/S3BlobOutputStream.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/java/org/xwiki/store/blob/internal/S3BlobStore.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/java/org/xwiki/store/blob/internal/S3BlobStoreConfiguration.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/java/org/xwiki/store/blob/internal/S3BlobStoreFactory.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/java/org/xwiki/store/blob/internal/S3ClientManager.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/java/org/xwiki/store/blob/internal/S3CopyOperations.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/java/org/xwiki/store/blob/internal/S3DeleteOperations.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/java/org/xwiki/store/blob/internal/S3KeyMapper.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/java/org/xwiki/store/blob/internal/S3MultipartUploadHelper.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/main/resources/META-INF/components.txt A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/test/java/org/xwiki/store/blob/S3BlobStorePropertiesTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/test/java/org/xwiki/store/blob/internal/S3BlobIteratorTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/test/java/org/xwiki/store/blob/internal/S3BlobOutputStreamTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/test/java/org/xwiki/store/blob/internal/S3BlobStoreConfigurationTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/test/java/org/xwiki/store/blob/internal/S3BlobStoreFactoryTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/test/java/org/xwiki/store/blob/internal/S3BlobStoreTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/test/java/org/xwiki/store/blob/internal/S3BlobTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/test/java/org/xwiki/store/blob/internal/S3ClientManagerTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/test/java/org/xwiki/store/blob/internal/S3CopyOperationsTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/test/java/org/xwiki/store/blob/internal/S3DeleteOperationsTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/test/java/org/xwiki/store/blob/internal/S3KeyMapperTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-s3/src/test/java/org/xwiki/store/blob/internal/S3MultipartUploadHelperTest.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-test/pom.xml A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-test/xwiki-commons-store-blob-test-docker/pom.xml A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-test/xwiki-commons-store-blob-test-docker/src/test/it/org/xwiki/store/blob/AbstractBlobStoreIT.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-test/xwiki-commons-store-blob-test-docker/src/test/it/org/xwiki/store/blob/AllIT.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-test/xwiki-commons-store-blob-test-docker/src/test/it/org/xwiki/store/blob/BlobStoreContainer.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-test/xwiki-commons-store-blob-test-docker/src/test/it/org/xwiki/store/blob/BlobStoreExtension.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-test/xwiki-commons-store-blob-test-docker/src/test/it/org/xwiki/store/blob/BlobStoreTestUtils.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-test/xwiki-commons-store-blob-test-docker/src/test/it/org/xwiki/store/blob/CrossStoreBlobStoreIT.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-test/xwiki-commons-store-blob-test-docker/src/test/it/org/xwiki/store/blob/FileSystemBlobStoreIT.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-test/xwiki-commons-store-blob-test-docker/src/test/it/org/xwiki/store/blob/InjectBlobStoreContainer.java A xwiki-commons-core/xwiki-commons-store/xwiki-commons-store-blob/xwiki-commons-store-blob-test/xwiki-commons-store-blob-test-docker/src/test/it/org/xwiki/store/blob/S3BlobStoreIT.java Log Message: ----------- XCOMMONS-3250: Make as easy as possible for various features to use an object store (#1416) * Add a blob store API. * Introduce a BlobPath API that is similar to standard Java Path. * Add blob store implementations for file system and S3. * Support migrating between blob stores. * Add configuration options for the used blob store and for configuring S3. * Add unit and integration tests. * Introduce properties with bean validation that are used during blob store initialization. * Make it possible to customize those properties during initialization with the help of a builder type. * Add dependency management for reactive-streams to allow installing S3 in the extension manager. Parts of this code, in particular tests, were written with the help of generative AI. To unsubscribe from these emails, change your notification settings at https://github.com/xwiki/xwiki-commons/settings/notifications