graph-compose-emoji
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.demchaav</groupId>
<artifactId>graph-compose-emoji</artifactId>
<version>1.0.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>
<!--
Standalone, independently-versioned companion artifact carrying a set of
colour-emoji SVG glyphs plus a shortcode index, resolved inline by the
engine's com.demcha.compose.document.emoji.EmojiLibrary. Modelled on the
graph-compose-fonts split so:
* the engine artifact stays lean (no emoji art shipped on every engine
release);
* the emoji set releases on its OWN cadence (an `emoji-v*` tag), so
bumping the engine never drags a new emoji download to consumers.
This module deliberately has NO Maven parent (its version never tracks the
engine line) and NO dependencies (it is a pure resource leaf; the resolver
API lives in the engine). The classpath layout emoji/svg/<codepoint>.svg
plus emoji/emoji-index.properties is what EmojiLibrary loads once this jar
is on the classpath.
The bundled glyphs are the googlefonts/noto-emoji SVG set (OFL 1.1),
generated by emoji/tools/build-emoji-set.py together with the github/gemoji
shortcode database (see emoji/NOTICE.md). Re-running that tool against a
newer noto-emoji / gemoji refreshes the set with no engine change.
-->
<groupId>io.github.demchaav</groupId>
<artifactId>graph-compose-emoji</artifactId>
<version>1.0.0</version>
<name>GraphCompose Emoji</name>
<description>Colour-emoji SVG glyphs (Noto Emoji) and a GitHub shortcode index for GraphCompose, packaged as an independently-versioned companion artifact.</description>
<url>https://github.com/DemchaAV/GraphCompose</url>
<licenses>
<!--
The emoji glyphs under emoji/svg/** are the Noto Emoji set, licensed
under the SIL Open Font License 1.1 (see emoji/OFL.txt). This POM's own
metadata and the build tool follow the project's MIT license.
-->
<license>
<name>MIT License</name>
<url>https://opensource.org/licenses/MIT</url>
<distribution>repo</distribution>
</license>
<license>
<name>SIL Open Font License 1.1</name>
<url>https://openfontlicense.org</url>
<distribution>repo</distribution>
<comments>Applies to the bundled Noto Emoji glyphs under emoji/svg/**.</comments>
</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>
<maven.compiler.plugin.version>3.15.0</maven.compiler.plugin.version>
<maven.jar.plugin.version>3.5.0</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>
<!-- See the engine pom: opted in via -Dgpg.skip=false on the publish workflow. -->
<gpg.skip>true</gpg.skip>
</properties>
<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 artefacts — mirrors the engine / fonts pom's
`release` profile (sources + javadoc + GPG signing + central-publishing).
This module has no shared Maven parent by design, so the configuration
is duplicated rather than inherited. Activated with `-P release`; the
publish workflow flips -Dgpg.skip=false on an `emoji-v*` tag.
-->
<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>
<configuration>
<!--
Central requires a -sources.jar to exist,
but the emoji art does not belong in it.
Exclude the resources so the sources jar
carries only the real Java source (the
marker class) and stays tiny.
-->
<excludes>
<exclude>emoji/**</exclude>
</excludes>
</configuration>
</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>
<doclint>none</doclint>
<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>