From 0bff1919d7d4bce5ea2528a73e1aba1db06721d8 Mon Sep 17 00:00:00 2001 From: Melloware Date: Wed, 2 Oct 2024 07:55:08 -0400 Subject: [PATCH] Initial code cleanup, Quarkus 3.15 LTS, fixed versions, Dev UI (#57) * Initial code cleanup, Quarkus 3.15 LTS, fixed versions, Dev UI * Update deployment/src/main/java/io/quarkiverse/jasperreports/deployment/devui/JasperReportsDevUIProcessor.java Co-authored-by: George Gastaldi --------- Co-authored-by: George Gastaldi --- .github/dependabot.yml | 24 +- .github/workflows/build.yml | 15 +- .github/workflows/quarkus-snapshot.yaml | 8 +- README.md | 78 ++++++- deployment/pom.xml | 98 +++++---- .../deployment/JasperreportsProcessor.java | 27 ++- .../devui/JasperReportsDevUIProcessor.java | 29 +++ .../dev-ui/qwc-jasperreports-card.js | 86 ++++++++ .../ROOT/assets/images/jasperreports.svg | 22 ++ docs/modules/ROOT/assets/images/plus-sign.svg | 66 ++++++ docs/modules/ROOT/assets/images/quarkus.svg | 1 + .../ROOT/pages/includes/attributes.adoc | 3 + docs/modules/ROOT/pages/index.adoc | 36 ++- docs/pom.xml | 10 +- integration-tests/pom.xml | 206 +++++++++--------- pom.xml | 191 ++++++++-------- runtime/pom.xml | 91 ++++---- .../resources/META-INF/quarkus-extension.yaml | 23 +- 18 files changed, 691 insertions(+), 323 deletions(-) create mode 100644 deployment/src/main/java/io/quarkiverse/jasperreports/deployment/devui/JasperReportsDevUIProcessor.java create mode 100644 deployment/src/main/resources/dev-ui/qwc-jasperreports-card.js create mode 100644 docs/modules/ROOT/assets/images/jasperreports.svg create mode 100644 docs/modules/ROOT/assets/images/plus-sign.svg create mode 100644 docs/modules/ROOT/assets/images/quarkus.svg create mode 100644 docs/modules/ROOT/pages/includes/attributes.adoc diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 4b11d34..04e7d13 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -10,4 +10,26 @@ updates: schedule: interval: "daily" ignore: - - dependency-name: "org.apache.maven.plugins:maven-compiler-plugin" + - dependency-name: "io.quarkus:quarkus-bom" + - dependency-name: "io.quarkus:quarkus-maven-plugin" + - dependency-name: "io.quarkus:quarkus-extension-processor" + - dependency-name: "io.quarkus:quarkus-extension-maven-plugin" + groups: + quarkus: + patterns: + - "io.quarkus*" + - "quarkus*" + quarkiverse: + patterns: + - "io.quarkiverse*" + dependencies: + patterns: + - "*" + exclude-patterns: + - "io.quarkus*" + - "quarkus*" + - "io.quarkiverse*" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 33e44d3..beca210 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,25 +36,24 @@ jobs: strategy: fail-fast: false matrix: -# os: [windows-latest, macos-latest, ubuntu-latest] - os: [ubuntu-latest] + # os: [windows-latest, macos-latest, ubuntu-latest] + os: [windows-latest, ubuntu-latest] runs-on: ${{ matrix.os }} steps: - name: Prepare git run: git config --global core.autocrlf false if: startsWith(matrix.os, 'windows') - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 17 cache: 'maven' - name: Build with Maven - run: mvn -B clean verify -Dno-format + run: mvn -B clean install -Dno-format -# Native won't work anyway -# - name: Build with Maven (Native) -# run: mvn -B verify -Dnative -Dquarkus.native.container-build -Dnative.surefire.skip -Dno-format + #- name: Build with Maven (Native) + #run: mvn -B install -Dnative -Dquarkus.native.container-build -Dnative.surefire.skip \ No newline at end of file diff --git a/.github/workflows/quarkus-snapshot.yaml b/.github/workflows/quarkus-snapshot.yaml index 27f9fd9..611c942 100644 --- a/.github/workflows/quarkus-snapshot.yaml +++ b/.github/workflows/quarkus-snapshot.yaml @@ -35,21 +35,21 @@ jobs: steps: - name: Install yq - uses: dcarbone/install-yq-action@v1.0.1 + uses: dcarbone/install-yq-action@v1.1.1 - name: Set up Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: ${{ env.JAVA_VERSION }} - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: current-repo - name: Checkout Ecosystem - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: ${{ env.ECOSYSTEM_CI_REPO }} path: ecosystem-ci diff --git a/README.md b/README.md index 18f04f7..14e77ea 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,79 @@ -# Quarkus Jasperreports +
+ + +# Quarkus JasperReports +
+
[![Version](https://img.shields.io/maven-central/v/io.quarkiverse.jasperreports/quarkus-jasperreports?logo=apache-maven&style=flat-square)](https://search.maven.org/artifact/io.quarkiverse.jasperreports/quarkus-jasperreports) +[![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-jasperreports/actions/workflows/build.yml/badge.svg)](https://github.com/quarkiverse/quarkus-jasperreports/actions/workflows/build.yml) + +A Quarkus extension that lets you utilize [JasperReports](https://community.jaspersoft.com/download-jaspersoft/community-edition/). JasperReports is an open source Java reporting tool that can write to a variety of targets, such as: screen, a printer, into PDF, HTML, Microsoft Excel, RTF, ODT, comma-separated values (CSV), XSL, or XML files. + +## Getting started + +Read the full [JasperReports documentation](https://docs.quarkiverse.io/quarkus-jasperreports/dev/index.html). + +### Installation + +Create a new JasperReports project (with a base jasperreports starter code): + +- With [code.quarkus.io](https://code.quarkus.io/?a=jasperreports-bowl&j=17&e=io.quarkiverse.jasperreports%3Aquarkus-jasperreports) +- With the [Quarkus CLI](https://quarkus.io/guides/cli-tooling): + +```bash +quarkus create app jasperreports-app -x=io.quarkiverse.jasperreports:quarkus-jasperreports +``` +Or add to you pom.xml directly: + +```xml + + io.quarkiverse.jasperreports + quarkus-jasperreports + {project-version} + +``` -## Welcome to Quarkiverse! +## Docker -Congratulations and thank you for creating a new Quarkus extension project in Quarkiverse! +When building native images in Docker using the standard Quarkus Docker configuration files some additional features need to be installed to support fonts. Specifically font information is not included in [Red Hat's ubi-minimal images](https://developers.redhat.com/products/rhel/ubi). To install it +simply add these lines to your `DockerFile.native` file: -Feel free to replace this content with the proper description of your new project and necessary instructions how to use and contribute to it. +```shell +FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9 -You can find the basic info, Quarkiverse policies and conventions in [the Quarkiverse wiki](https://github.com/quarkiverse/quarkiverse/wiki). +######################### Set up environment for POI ############################# +RUN microdnf update && microdnf install freetype fontconfig && microdnf clean all +######################### Set up environment for POI ############################# -In case you are creating a Quarkus extension project for the first time, please follow [Building My First Extension](https://quarkus.io/guides/building-my-first-extension) guide. +WORKDIR /work/ +RUN chown 1001 /work \ + && chmod "g+rwX" /work \ + && chown 1001:root /work +# Shared objects to be dynamically loaded at runtime as needed, +COPY --chown=1001:root target/*.properties target/*.so /work/ +COPY --chown=1001:root target/*-runner /work/application +# Permissions fix for Windows +RUN chmod "ugo+x" /work/application +EXPOSE 8080 +USER 1001 -Other useful articles related to Quarkus extension development can be found under the [Writing Extensions](https://quarkus.io/guides/#writing-extensions) guide category on the [Quarkus.io](https://quarkus.io) website. +CMD ["./application", "-Dquarkus.http.host=0.0.0.0"] +``` -Thanks again, good luck and have fun! +> [!CAUTION] +> Make sure `.dockerignore` does not exclude `.so` files! -## Documentation +## 🧑‍💻 Contributing -The documentation for this extension should be maintained as part of this repository and it is stored in the `docs/` directory. +- Contribution is the best way to support and get involved in community! +- Please, consult our [Code of Conduct](./CODE_OF_CONDUCT.md) policies for interacting in our community. +- Contributions to `quarkus-jasperreports` Please check our [CONTRIBUTING.md](./CONTRIBUTING.md) -The layout should follow the [Antora's Standard File and Directory Set](https://docs.antora.org/antora/2.3/standard-directories/). +### If you have any idea or question 🤷 -Once the docs are ready to be published, please open a PR including this repository in the [Quarkiverse Docs Antora playbook](https://github.com/quarkiverse/quarkiverse-docs/blob/main/antora-playbook.yml#L7). See an example [here](https://github.com/quarkiverse/quarkiverse-docs/pull/1). +- [Ask a question](https://github.com/quarkiverse/quarkus-jasperreports/discussions) +- [Raise an issue](https://github.com/quarkiverse/quarkus-jasperreports/issues) +- [Feature request](https://github.com/quarkiverse/quarkus-jasperreports/issues) +- [Code submission](https://github.com/quarkiverse/quarkus-jasperreports/pulls) \ No newline at end of file diff --git a/deployment/pom.xml b/deployment/pom.xml index 98f7910..81f5784 100644 --- a/deployment/pom.xml +++ b/deployment/pom.xml @@ -1,48 +1,54 @@ - - 4.0.0 - - io.quarkiverse.jasperreports - quarkus-jasperreports-parent - lütter-SNAPSHOT - - quarkus-jasperreports-deployment - Quarkus Jasperreports - Deployment - - - - maven-compiler-plugin - - - - io.quarkus - quarkus-extension-processor - ${version.quarkus} - - - - - - + + 4.0.0 + + io.quarkiverse.jasperreports + quarkus-jasperreports-parent + 999-SNAPSHOT + + quarkus-jasperreports-deployment + Quarkus JasperReports - Deployment + + + io.quarkus + quarkus-arc-deployment + + + io.quarkus + quarkus-jackson-deployment + + + io.quarkus + quarkus-vertx-http-dev-ui-spi + + + io.quarkiverse.jasperreports + quarkus-jasperreports + ${project.version} + + + io.quarkus + quarkus-junit5-internal + test + + - - - io.quarkus - quarkus-arc-deployment - - - io.quarkus - quarkus-jackson-deployment - - - io.quarkiverse.jasperreports - quarkus-jasperreports - ${project.version} - - - io.quarkus - quarkus-junit5-internal - test - - - + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + io.quarkus + quarkus-extension-processor + ${version.quarkus} + + + + + + + \ No newline at end of file diff --git a/deployment/src/main/java/io/quarkiverse/jasperreports/deployment/JasperreportsProcessor.java b/deployment/src/main/java/io/quarkiverse/jasperreports/deployment/JasperreportsProcessor.java index 38ef895..c3c9d1a 100644 --- a/deployment/src/main/java/io/quarkiverse/jasperreports/deployment/JasperreportsProcessor.java +++ b/deployment/src/main/java/io/quarkiverse/jasperreports/deployment/JasperreportsProcessor.java @@ -3,17 +3,26 @@ import io.quarkus.deployment.annotations.BuildProducer; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; +import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem; +import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBundleBuildItem; import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem; +import io.quarkus.deployment.pkg.builditem.UberJarMergedResourceBuildItem; class JasperreportsProcessor { private static final String FEATURE = "jasperreports"; + private static final String EXTENSIONS_FILE = "jasperreports_extension.properties"; @BuildStep FeatureBuildItem feature() { return new FeatureBuildItem(FEATURE); } + @BuildStep + UberJarMergedResourceBuildItem mergeResource() { + return new UberJarMergedResourceBuildItem(EXTENSIONS_FILE); + } + @BuildStep void runtimeInits(BuildProducer producer) { // TODO: Test what is really needed for native to work @@ -21,4 +30,20 @@ void runtimeInits(BuildProducer producer) { producer.produce(new RuntimeInitializedClassBuildItem("net.sf.jasperreports.engine.SimpleReportContext")); producer.produce(new RuntimeInitializedClassBuildItem("net.sf.jasperreports.engine.design.JRAbstractCompiler")); } -} + + @BuildStep + void substrateResourceBuildItems(BuildProducer nativeImageResourceProducer, + BuildProducer resourceBundleBuildItem) { + nativeImageResourceProducer.produce(new NativeImageResourceBuildItem( + EXTENSIONS_FILE, + "default.jasperreports.properties", + "jasperreports_messages.properties", + "metadata_messages.properties", + "metadata_messages-defaults.properties", + "properties-metadata.json")); + + resourceBundleBuildItem.produce(new NativeImageResourceBundleBuildItem("jasperreports_messages")); + resourceBundleBuildItem.produce(new NativeImageResourceBundleBuildItem("metadata_messages")); + resourceBundleBuildItem.produce(new NativeImageResourceBundleBuildItem("metadata_messages-defaults")); + } +} \ No newline at end of file diff --git a/deployment/src/main/java/io/quarkiverse/jasperreports/deployment/devui/JasperReportsDevUIProcessor.java b/deployment/src/main/java/io/quarkiverse/jasperreports/deployment/devui/JasperReportsDevUIProcessor.java new file mode 100644 index 0000000..51687c9 --- /dev/null +++ b/deployment/src/main/java/io/quarkiverse/jasperreports/deployment/devui/JasperReportsDevUIProcessor.java @@ -0,0 +1,29 @@ +package io.quarkiverse.jasperreports.deployment.devui; + +import io.quarkus.deployment.IsDevelopment; +import io.quarkus.deployment.annotations.BuildProducer; +import io.quarkus.deployment.annotations.BuildStep; +import io.quarkus.devui.spi.page.CardPageBuildItem; +import io.quarkus.devui.spi.page.ExternalPageBuilder; +import io.quarkus.devui.spi.page.Page; +import net.sf.jasperreports.engine.JasperReport; + +public class JasperReportsDevUIProcessor { + + @BuildStep(onlyIf = IsDevelopment.class) + void createVersion(BuildProducer cardPageBuildItemBuildProducer) { + final CardPageBuildItem card = new CardPageBuildItem(); + + final ExternalPageBuilder versionPage = Page.externalPageBuilder("JasperReports Version") + .icon("font-awesome-regular:tag") + .url("https://community.jaspersoft.com/download-jaspersoft/community-edition/") + .doNotEmbed() + .staticLabel(JasperReport.class.getPackage().getSpecificationVersion()); + + card.addPage(versionPage); + + card.setCustomCard("qwc-jasperreports-card.js"); + + cardPageBuildItemBuildProducer.produce(card); + } +} \ No newline at end of file diff --git a/deployment/src/main/resources/dev-ui/qwc-jasperreports-card.js b/deployment/src/main/resources/dev-ui/qwc-jasperreports-card.js new file mode 100644 index 0000000..378553f --- /dev/null +++ b/deployment/src/main/resources/dev-ui/qwc-jasperreports-card.js @@ -0,0 +1,86 @@ +import { LitElement, html, css} from 'lit'; +import { pages } from 'build-time-data'; +import 'qwc/qwc-extension-link.js'; + +const NAME = "JasperReports"; +export class QwcJasperReportsCard extends LitElement { + + static styles = css` + .identity { + display: flex; + justify-content: flex-start; + } + + .description { + padding-bottom: 10px; + } + + .logo { + padding-bottom: 10px; + margin-right: 5px; + } + + .card-content { + color: var(--lumo-contrast-90pct); + display: flex; + flex-direction: column; + justify-content: flex-start; + padding: 2px 2px; + height: 100%; + } + + .card-content slot { + display: flex; + flex-flow: column wrap; + padding-top: 5px; + } + `; + + static properties = { + description: {type: String} + }; + + constructor() { + super(); + } + + connectedCallback() { + super.connectedCallback(); + } + + render() { + return html`
+
+ +
${this.description}
+
+ ${this._renderCardLinks()} +
+ `; + } + + _renderCardLinks(){ + return html`${pages.map(page => html` + + + `)}`; + } + +} +customElements.define('qwc-jasperreports-card', QwcJasperReportsCard); \ No newline at end of file diff --git a/docs/modules/ROOT/assets/images/jasperreports.svg b/docs/modules/ROOT/assets/images/jasperreports.svg new file mode 100644 index 0000000..8fe60c5 --- /dev/null +++ b/docs/modules/ROOT/assets/images/jasperreports.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/modules/ROOT/assets/images/plus-sign.svg b/docs/modules/ROOT/assets/images/plus-sign.svg new file mode 100644 index 0000000..ea94fe7 --- /dev/null +++ b/docs/modules/ROOT/assets/images/plus-sign.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + image/svg+xml + + + + + + + + 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 @@ +quarkus_icon_rgb_1024px_reverse \ No newline at end of file diff --git a/docs/modules/ROOT/pages/includes/attributes.adoc b/docs/modules/ROOT/pages/includes/attributes.adoc new file mode 100644 index 0000000..c5df260 --- /dev/null +++ b/docs/modules/ROOT/pages/includes/attributes.adoc @@ -0,0 +1,3 @@ +:project-version: schmalnau + +:examples-dir: ./../examples/ \ No newline at end of file diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc index 21f789c..e42dd56 100644 --- a/docs/modules/ROOT/pages/index.adoc +++ b/docs/modules/ROOT/pages/index.adoc @@ -1,8 +1,8 @@ -= Quarkus Jasperreports += JasperReports include::./includes/attributes.adoc[] -TIP: Describe what the extension does here. +A Quarkus extension that lets you utilize https://community.jaspersoft.com/download-jaspersoft/community-edition/[JasperReports]. https://community.jaspersoft.com/download-jaspersoft/community-edition/[JasperReports] is an open source Java reporting tool that can write to a variety of targets, such as: screen, a printer, into PDF, HTML, Microsoft Excel, RTF, ODT, comma-separated values (CSV), XSL, or XML files. == Installation @@ -19,9 +19,39 @@ For instance, with Maven, add the following dependency to your POM file: ---- +== Docker + +When building native images in Docker using the standard Quarkus Docker configuration files some additional features need to be installed to support fonts. Specifically font information is not included in https://developers.redhat.com/products/rhel/ubi[Red Hat's ubi-minimal images]. To install it +simply add these lines to your `DockerFile.native` file: + +[source] +---- +FROM registry.access.redhat.com/ubi8/ubi-minimal:8.9 + +######################### Set up environment for POI ########################## +RUN microdnf update && microdnf install freetype fontconfig && microdnf clean all +######################### Set up environment for POI ########################## + +WORKDIR /work/ +RUN chown 1001 /work \ + && chmod "g+rwX" /work \ + && chown 1001:root /work +# Shared objects to be dynamically loaded at runtime as needed, +COPY --chown=1001:root target/*.properties target/*.so /work/ +COPY --chown=1001:root target/*-runner /work/application +# Permissions fix for Windows +RUN chmod "ugo+x" /work/application +EXPOSE 8080 +USER 1001 + +CMD ["./application", "-Dquarkus.http.host=0.0.0.0"] +---- + +CAUTION: Make sure `.dockerignore` does not exclude `.so` files! + [[extension-configuration-reference]] == Extension Configuration Reference TIP: Remove this section if you don't have Quarkus configuration properties in your extension. -include::includes/quarkus-jasperreports.adoc[leveloffset=+1, opts=optional] +include::includes/quarkus-jasperreports.adoc[leveloffset=+1, opts=optional] \ No newline at end of file diff --git a/docs/pom.xml b/docs/pom.xml index b437978..4dfbea6 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -1,15 +1,16 @@ - + 4.0.0 io.quarkiverse.jasperreports quarkus-jasperreports-parent - lütter-SNAPSHOT + 999-SNAPSHOT ../pom.xml quarkus-jasperreports-docs - Quarkus Jasperreports - Documentation + Quarkus JasperReports - Documentation @@ -52,6 +53,7 @@ + org.apache.maven.plugins maven-resources-plugin @@ -101,4 +103,4 @@ - + \ No newline at end of file diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index 31b5d99..c9553a8 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -1,102 +1,110 @@ - - 4.0.0 - - io.quarkiverse.jasperreports - quarkus-jasperreports-parent - lütter-SNAPSHOT - - quarkus-jasperreports-integration-tests - Quarkus Jasperreports - Integration Tests - - true - - - - io.quarkus - quarkus-resteasy-reactive - - - io.quarkiverse.jasperreports - quarkus-jasperreports - ${project.version} - - - io.quarkiverse.poi - quarkus-poi - ${version.quarkus-poi} - - - io.quarkus - quarkus-junit5 - test - - - io.rest-assured - rest-assured - test - - - net.sf.jasperreports - jasperreports-fonts - ${version.jasperreports} - - - - - - io.quarkus - quarkus-maven-plugin - - - - build - - - - - - maven-failsafe-plugin - - - - integration-test - verify - - - - ${project.build.directory}/${project.build.finalName}-runner - org.jboss.logmanager.LogManager - ${maven.home} - - - - - - - - - - native-image - - - native - - - + + 4.0.0 + + io.quarkiverse.jasperreports + quarkus-jasperreports-parent + 999-SNAPSHOT + + quarkus-jasperreports-integration-tests + Quarkus JasperReports - Integration Tests + + true + + + + io.quarkus + quarkus-resteasy-reactive + + + io.quarkiverse.jasperreports + quarkus-jasperreports + ${project.version} + + + io.quarkiverse.poi + quarkus-poi + ${version.quarkus-poi} + + + io.quarkus + quarkus-smallrye-openapi + + + io.quarkus + quarkus-junit5 + test + + + io.rest-assured + rest-assured + test + + + net.sf.jasperreports + jasperreports-fonts + ${version.jasperreports} + + + - - maven-surefire-plugin - - ${native.surefire.skip} - - + + io.quarkus + quarkus-maven-plugin + + + + build + + + + + + org.apache.maven.plugins + maven-failsafe-plugin + + + + integration-test + verify + + + + ${project.build.directory}/${project.build.finalName}-runner + + org.jboss.logmanager.LogManager + ${maven.home} + + + + + - - - false - native - - - - + + + + native-image + + + native + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + ${native.surefire.skip} + + + + + + false + native + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 6db06cf..5f45ed3 100644 --- a/pom.xml +++ b/pom.xml @@ -1,100 +1,97 @@ - - 4.0.0 - - io.quarkiverse - quarkiverse-parent - 15 - - io.quarkiverse.jasperreports - quarkus-jasperreports-parent - lütter-SNAPSHOT - pom - Quarkus Jasperreports - Parent - - deployment - runtime - - - scm:git:git@github.com:quarkiverse/quarkus-jasperreports.git - scm:git:git@github.com:quarkiverse/quarkus-jasperreports.git - https://github.com/quarkiverse/quarkus-jasperreports - HEAD - - - - 11 - UTF-8 - UTF-8 + + 4.0.0 + + io.quarkiverse + quarkiverse-parent + 18 + + io.quarkiverse.jasperreports + quarkus-jasperreports-parent + 999-SNAPSHOT + pom + Quarkus JasperReports - Parent + JasperReports is an open source reporting library that can be embedded into any Java application. + + + deployment + runtime + + + scm:git:git@github.com:quarkiverse/quarkus-jasperreports.git + scm:git:git@github.com:quarkiverse/quarkus-jasperreports.git + https://github.com/quarkiverse/quarkus-jasperreports + HEAD + + + + 17 + UTF-8 + UTF-8 + + 3.15.1 + 2.0.6 - - 3.2.0.Final - 2.0.2 - 2.14.2 - - 6.20.5 - 1.2.0 - - - 3.10.1 - 3.5.4 - - - - - io.quarkus - quarkus-bom - ${version.quarkus} - pom - import - - - - - - - - io.quarkus - quarkus-maven-plugin - ${version.quarkus} - - - maven-compiler-plugin - ${compiler-plugin.version} - - - -parameters - - - - - - - - - docs - - - performRelease - !true - - - - docs - - - - it - - - performRelease - !true - - - - integration-tests - - - - + 6.21.3 + 1.2.0 + + + + + io.quarkus + quarkus-bom + ${version.quarkus} + pom + import + + + + + + + + io.quarkus + quarkus-maven-plugin + ${version.quarkus} + + + org.apache.maven.plugins + maven-compiler-plugin + + + -parameters + + + + + + + + + docs + + + performRelease + !true + + + + docs + + + + it + + + performRelease + !true + + + + integration-tests + + + + \ No newline at end of file diff --git a/runtime/pom.xml b/runtime/pom.xml index f8fbf65..0f44c9f 100644 --- a/runtime/pom.xml +++ b/runtime/pom.xml @@ -1,47 +1,14 @@ - + 4.0.0 io.quarkiverse.jasperreports quarkus-jasperreports-parent - lütter-SNAPSHOT + 999-SNAPSHOT quarkus-jasperreports - Quarkus Jasperreports - Runtime - - - - io.quarkus - quarkus-extension-maven-plugin - ${version.quarkus} - - - compile - - extension-descriptor - - - ${project.groupId}:${project.artifactId}-deployment:${project.version} - - - - - - - maven-compiler-plugin - - - - io.quarkus - quarkus-extension-processor - ${version.quarkus} - - - - - - - + Quarkus JasperReports - Runtime io.quarkus @@ -77,6 +44,10 @@ commons-logging commons-logging + + org.apache.commons + commons-collections4 + @@ -86,6 +57,12 @@ ${version.jaxen} + + org.apache.commons + commons-collections4 + 4.5.0-M2 + + org.jboss.logging commons-logging-jboss-logging @@ -96,10 +73,44 @@ quarkus-jackson - jackson-dataformat-xml com.fasterxml.jackson.dataformat - ${version.jackson} + jackson-dataformat-xml - + + + + + io.quarkus + quarkus-extension-maven-plugin + ${version.quarkus} + + + compile + + extension-descriptor + + + ${project.groupId}:${project.artifactId}-deployment:${project.version} + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + io.quarkus + quarkus-extension-processor + ${version.quarkus} + + + + + + + \ 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 039262f..f475145 100644 --- a/runtime/src/main/resources/META-INF/quarkus-extension.yaml +++ b/runtime/src/main/resources/META-INF/quarkus-extension.yaml @@ -1,9 +1,16 @@ -name: Jasperreports -#description: Do something useful. +name: JasperReports +description: JasperReports is an open source reporting library that can be embedded into any Java application. +artifact: ${project.groupId}:${project.artifactId}:${project.version} metadata: -# keywords: -# - jasperreports -# guide: https://quarkiverse.github.io/quarkiverse-docs/jasperreports/dev/ -# categories: -# - "miscellaneous" -# status: "preview" + short-name: "jasperreports" + type: "test" + keywords: + - "reports" + - "reporting" + - "pdf" + - "excel" + categories: + - "miscellaneous" + status: "preview" + guide: "https://docs.quarkiverse.io/quarkus-jasperreports/dev/index.html" + icon-url: "https://raw.githubusercontent.com/quarkiverse/quarkus-jasperreports/main/docs/modules/ROOT/assets/images/jasperreports.svg" \ No newline at end of file