Skip to content

Repository files navigation

Doc Composer

Doc Composer provides APIs for composing Microsoft Word documents.

Modules

  • doc-composer-core: core APIs and default implementations for placeholder and header/footer operations.
  • doc-composer-spring-boot-autoconfigure: Spring Boot auto-configuration for the core APIs.
  • doc-composer-spring-boot-starter: starter dependency for Spring Boot applications.

Maven Coordinates

The project is prepared for Maven Central under the io.github.psc0001 namespace:

implementation("io.github.psc0001:doc-composer-core:0.1.0")
implementation("io.github.psc0001:doc-composer-spring-boot-starter:0.1.0")

Use the auto-configuration module directly only when building a custom starter setup:

implementation("io.github.psc0001:doc-composer-spring-boot-autoconfigure:0.1.0")

Package Namespace

Public Java APIs use the io.github.psc0001.doccomposer package namespace.

Build

Doc Composer requires Java 17 or newer.

./gradlew build

Maven Central Preparation

The build creates Central Portal compatible publication artifacts with sources, Javadocs, POM metadata, and PGP signatures. To build a release bundle locally:

./gradlew centralBundleZip \
  -PprojectVersion=0.1.0 \
  -PsigningInMemoryKey="$SIGNING_KEY" \
  -PsigningInMemoryKeyPassword="$SIGNING_PASSWORD"

The generated archive is written to build/distributions/doc-composer-<version>-central-bundle.zip.

Required release setup:

  • Create a Sonatype Central Portal account.
  • Claim or verify the io.github.psc0001 namespace.
  • Create a GPG key and publish the public key to a keyserver.
  • Add GitHub repository secrets SIGNING_KEY, SIGNING_PASSWORD, CENTRAL_USERNAME, and CENTRAL_PASSWORD.
  • Push this repository to https://github.com/psc0001/doc-composer.git.

License

This project is prepared with the Apache License 2.0.

About

A simple SpringBoot Autoconfiguration library to create documents from templates and tools for e.g. header and footer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages