graph-compose-bundle
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.demchaav</groupId>
<artifactId>graph-compose-bundle</artifactId>
<version>2.4.0</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--
"Batteries-included" convenience aggregate. Depending on this single
artifact pulls the default PDF stack (graph-compose = graph-compose-core +
graph-compose-render-pdf), the built-in document templates, the bundled
Google fonts, and the colour-emoji set — the one-line install for newcomers
who want everything wired up. The office backends (render-docx / render-pptx)
stay opt-in and are NOT bundled. Power users instead depend on the individual
coordinates and pick their own font/emoji versions.
Versioning: this module tracks the ENGINE line (its version == the engine
version, bumped in lockstep), and pins specific graph-compose-fonts and
graph-compose-emoji versions (those two release on their own tag lines). It
is standalone (no Maven parent) and packaged as an empty `jar` carrying only
<dependencies> — like the graph-compose wrapper — NOT `pom`: a `pom` would
force every consumer to add `<type>pom</type>` and break a plain-dependency
copy-paste. Carrying no sources, it publishes the main jar + signed pom (the
source/javadoc plugins skip an empty source set) — the same artifact set as
the graph-compose wrapper, which Central accepts.
-->
<groupId>io.github.demchaav</groupId>
<artifactId>graph-compose-bundle</artifactId>
<!--
Tracks the engine line (== the engine version in the repo); the release-cut
`versions:set` bumps engine + bundle to the release version in lockstep, while
graph-compose-fonts / graph-compose-emoji stay on their own lines. The
graph-compose and graph-compose-templates dependencies below use
${project.version}, so they follow automatically.
-->
<version>2.4.0</version>
<packaging>jar</packaging>
<name>GraphCompose Bundle</name>
<description>Batteries-included aggregate: the default PDF stack (engine + PDF backend), the built-in document templates, the bundled Google fonts, and the colour-emoji set at compatible versions.</description>
<url>https://github.com/DemchaAV/GraphCompose</url>
<licenses>
<license>
<name>MIT License</name>
<url>https://opensource.org/licenses/MIT</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>DemchaAV</id>
<name>Artem Demchyshyn</name>
<email>demchishynartem@gmail.com</email>
<url>https://github.com/DemchaAV</url>
<roles>
<role>Lead Developer</role>
<role>Architect</role>
</roles>
<timezone>UTC 0</timezone>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/DemchaAV/GraphCompose.git</connection>
<developerConnection>scm:git:ssh://git@github.com/DemchaAV/GraphCompose.git</developerConnection>
<url>https://github.com/DemchaAV/GraphCompose/tree/main</url>
</scm>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>17</maven.compiler.release>
<!-- Pinned bundled-fonts / colour-emoji versions this bundle ships with.
Both release on their own tag lines (fonts-v* / emoji-v*), so they are
pinned here rather than tracking ${project.version}. -->
<graphcompose.fonts.version>1.1.0</graphcompose.fonts.version>
<graphcompose.emoji.version>1.0.0</graphcompose.emoji.version>
<maven.compiler.plugin.version>3.16.0</maven.compiler.plugin.version>
<maven.jar.plugin.version>3.5.1</maven.jar.plugin.version>
<maven.source.plugin.version>3.4.0</maven.source.plugin.version>
<maven.javadoc.plugin.version>3.12.0</maven.javadoc.plugin.version>
<maven.gpg.plugin.version>3.2.8</maven.gpg.plugin.version>
<central.publishing.plugin.version>0.11.0</central.publishing.plugin.version>
<gpg.skip>true</gpg.skip>
</properties>
<dependencies>
<!-- The default PDF stack: the graph-compose wrapper pulls graph-compose-core
+ graph-compose-render-pdf, so a bundle consumer renders PDF out of the box. -->
<dependency>
<groupId>io.github.demchaav</groupId>
<artifactId>graph-compose</artifactId>
<version>${project.version}</version>
</dependency>
<!-- The built-in CV / cover-letter / invoice / proposal templates. -->
<dependency>
<groupId>io.github.demchaav</groupId>
<artifactId>graph-compose-templates</artifactId>
<version>${project.version}</version>
</dependency>
<!-- The bundled fonts, at the pinned independent fonts version. -->
<dependency>
<groupId>io.github.demchaav</groupId>
<artifactId>graph-compose-fonts</artifactId>
<version>${graphcompose.fonts.version}</version>
</dependency>
<!-- The colour-emoji set, at the pinned independent emoji version. -->
<dependency>
<groupId>io.github.demchaav</groupId>
<artifactId>graph-compose-emoji</artifactId>
<version>${graphcompose.emoji.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
<configuration>
<release>${maven.compiler.release}</release>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven.jar.plugin.version}</version>
</plugin>
</plugins>
</build>
<profiles>
<!--
Maven Central release. This module carries no sources, so the
source/javadoc plugins skip an empty source set (failOnError=false keeps
javadoc from aborting) and only the main jar + signed pom are uploaded —
the same artifact set as the graph-compose wrapper. Activated with
`-P release`; the publish workflow flips -Dgpg.skip=false on the engine
`v*` tag (the bundle ships together with the engine it pins).
-->
<profile>
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven.source.plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven.javadoc.plugin.version}</version>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<failOnError>false</failOnError>
<quiet>true</quiet>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven.gpg.plugin.version}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<skip>${gpg.skip}</skip>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${central.publishing.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<autoPublish>false</autoPublish>
<waitUntil>validated</waitUntil>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>