data-prism-spring-boot-starter
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.aindriub</groupId>
<artifactId>data-prism-spring-boot-starter</artifactId>
<version>0.3.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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.github.aindriub</groupId>
<artifactId>data-prism</artifactId>
<version>0.3.0</version>
</parent>
<artifactId>data-prism-spring-boot-starter</artifactId>
<name>Data Prism :: Spring Boot starter</name>
<description>Dependency-only entry point for embedding the protected HTTP MCP endpoint.</description>
<properties>
<!-- This module is a dependency-only aggregator; package-info.java is
deliberately its only source file, so its javadoc is genuinely
empty rather than merely unwritten. The standard javadoc tool
cannot generate even that empty page on its own: it hard-errors
"No public or protected classes found to document" for any package
holding only package-info.java, under every visibility flag
(-protected/-private/-public) — confirmed directly against
`javadoc` outside Maven, so this is a tool limitation, not a
doclint setting or a plugin-config gap this pom could route around
instead. A single real (even trivial) public type in the package
would satisfy the tool, but was rejected on purpose: it would put
real code in a module whose own package-info states it carries
none, purely to appease a file-presence check, which contradicts
the module's whole purpose. So maven-javadoc-plugin stays off for
this module even inside the `release` profile below, and
maven-jar-plugin attaches a second, genuinely empty archive under
the `javadoc` classifier instead (nothing but a manifest) —
Central's file-presence check wants a javadoc.jar to exist, and an
empty one is the truthful artifact for a module with no
documentation to generate. -->
<maven.javadoc.skip>true</maven.javadoc.skip>
</properties>
<dependencies>
<dependency>
<groupId>io.github.aindriub</groupId>
<artifactId>data-prism-spring-boot-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>
</dependencies>
<profiles>
<profile>
<!-- Matches the parent pom's own `release` profile: sources/javadoc
attachment is release-build-only for every deployed module, this
one included, so a plain `mvn install` never attaches a javadoc
jar (empty or otherwise) here either. Declaring a profile with
the same id in this child pom is what makes `-Prelease` from the
root also activate this block, alongside the parent's inherited
one. -->
<id>release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.5.1</version>
<executions>
<execution>
<id>empty-javadoc-jar</id>
<phase>package</phase>
<goals><goal>jar</goal></goals>
<configuration>
<classifier>javadoc</classifier>
<classesDirectory>${project.build.outputDirectory}</classesDirectory>
<excludes>
<exclude>**/*</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>