diff --git a/README.md b/README.md
index 882a07e..2fa1e1d 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,13 @@
-# Quarkus extension for Apache POI
-
-[![All Contributors](https://img.shields.io/badge/all_contributors-6-orange.svg?style=flat-square)](#contributors-)
-
+
+
+
+# Quarkus POI
+
+
[![Version](https://img.shields.io/maven-central/v/io.quarkiverse.poi/quarkus-poi?logo=apache-maven&style=flat-square)](https://search.maven.org/artifact/io.quarkiverse.poi/quarkus-poi)
+[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square)](https://opensource.org/licenses/Apache-2.0)
+[![Build](https://github.com/quarkiverse/quarkus-poi/actions/workflows/build.yml/badge.svg)](https://github.com/quarkiverse/quarkus-poi/actions/workflows/build.yml)
This is a Quarkus extension for Apache POI.
@@ -92,4 +96,4 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
-This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
+This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
\ No newline at end of file
diff --git a/deployment/src/main/java/io/quarkiverse/poi/deployment/POIProcessor.java b/deployment/src/main/java/io/quarkiverse/poi/deployment/POIProcessor.java
index 9ccc713..eaa88a6 100644
--- a/deployment/src/main/java/io/quarkiverse/poi/deployment/POIProcessor.java
+++ b/deployment/src/main/java/io/quarkiverse/poi/deployment/POIProcessor.java
@@ -1,11 +1,14 @@
package io.quarkiverse.poi.deployment;
+import java.util.List;
+
import org.apache.xmlbeans.StringEnumAbstractBase;
import org.apache.xmlbeans.XmlObject;
import org.jboss.jandex.ClassInfo;
import org.jboss.jandex.IndexView;
import io.quarkiverse.poi.runtime.graal.POIFeature;
+import io.quarkus.deployment.IsNormal;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
@@ -16,6 +19,7 @@
import io.quarkus.deployment.builditem.SystemPropertyBuildItem;
import io.quarkus.deployment.builditem.nativeimage.NativeImageResourcePatternsBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import io.quarkus.deployment.pkg.builditem.UberJarMergedResourceBuildItem;
class POIProcessor {
@@ -75,4 +79,26 @@ public NativeImageResourcePatternsBuildItem registerResources() {
"org/apache/poi/ss/formula/function/.*\\.txt",
"org/apache/poi/schemas/ooxml/.*\\.xsb").build();
}
+
+ /**
+ * Produces `UberJarMergedResourceBuildItem`s for each specified service file to be included in the Uber JAR.
+ *
+ * This build step is only executed in "normal" mode and registers each of the listed services in
+ * the `META-INF/services` directory.
+ *
+ * @param producer The build item producer for creating `UberJarMergedResourceBuildItem` instances.
+ */
+ @BuildStep(onlyIf = IsNormal.class)
+ void uberJarServiceLoaders(BuildProducer producer) {
+ List serviceFiles = List.of(
+ "org.apache.poi.extractor.ExtractorProvider",
+ "org.apache.poi.sl.draw.ImageRenderer",
+ "org.apache.poi.sl.usermodel.MetroShapeProvider",
+ "org.apache.poi.sl.usermodel.SlideShowProvider",
+ "org.apache.poi.ss.usermodel.WorkbookProvider");
+
+ for (String serviceFile : serviceFiles) {
+ producer.produce(new UberJarMergedResourceBuildItem("META-INF/services/" + serviceFile));
+ }
+ }
}
diff --git a/deployment/src/main/resources/dev-ui/qwc-poi-card.js b/deployment/src/main/resources/dev-ui/qwc-poi-card.js
index 5128849..0c183dc 100644
--- a/deployment/src/main/resources/dev-ui/qwc-poi-card.js
+++ b/deployment/src/main/resources/dev-ui/qwc-poi-card.js
@@ -55,7 +55,7 @@ export class QwcPoiCard extends LitElement {
return html`
-
+
+
diff --git a/docs/modules/ROOT/assets/images/poi.svg b/docs/modules/ROOT/assets/images/poi.svg
new file mode 100644
index 0000000..d2823a1
--- /dev/null
+++ b/docs/modules/ROOT/assets/images/poi.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/modules/ROOT/assets/images/quarkus.svg b/docs/modules/ROOT/assets/images/quarkus.svg
new file mode 100644
index 0000000..1969e1e
--- /dev/null
+++ b/docs/modules/ROOT/assets/images/quarkus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/runtime/src/main/resources/META-INF/quarkus-extension.yaml
index 0f82bd3..b9f7fe1 100644
--- a/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ b/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -14,7 +14,7 @@ metadata:
- document
- writer
guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-poi/dev/"
- icon-url: "https://poi.apache.org/images/poweredby-poi-logo.png"
+ icon-url: "https://raw.githubusercontent.com/quarkiverse/quarkus-poi/main/docs/modules/ROOT/assets/images/poi.svg"
categories:
- "miscellaneous"
- status: "stable"
+ status: "stable"
\ No newline at end of file