3c671fcaf5
CI / backend-test (push) Successful in 7m15s
社区服务 :8084 挂入父 pom 与 compose(第五容器,依赖 postgres 健康 + user 先起保证 V5 已执行);/api/v1/** 自骨架起接 RS256 资源侧校验(无 token/畸形/ 错签/过期均 401+40101,user/pet 同款复制,P9 下沉待拍板);GET /health 探活 在 /api/v1 之外;.sample 配置模式;生产 classpath 无 Flyway,测试经 user jar 跑全链 V1..V5(pet 先例)。模块只读写 community schema。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
136 lines
5.4 KiB
XML
136 lines
5.4 KiB
XML
<?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>com.patbond.patbond</groupId>
|
|
<artifactId>patbond-api</artifactId>
|
|
<version>1.0.0-SNAPSHOT</version>
|
|
<relativePath>../pom.xml</relativePath>
|
|
</parent>
|
|
|
|
<artifactId>patbond-community</artifactId>
|
|
<packaging>jar</packaging>
|
|
|
|
<name>patbond-community</name>
|
|
<description>Community feed, posts and interactions service for Patbond (ADR-017)</description>
|
|
|
|
<!-- M3 first-wave skeleton: RS256 bearer auth on /api/v1/** (same JWT
|
|
verification stack as patbond-user/pet), community schema access via
|
|
JDBC. Flyway remains absent — the migration chain is owned by
|
|
patbond-user. -->
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.patbond.patbond</groupId>
|
|
<artifactId>patbond-common</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-web</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-validation</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-jdbc</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.postgresql</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<!-- Access token verification (RS256, public key only): jjwt is not in
|
|
the Boot BOM, version pinned in step with patbond-user/auth/pet. -->
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt-api</artifactId>
|
|
<version>0.12.6</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt-impl</artifactId>
|
|
<version>0.12.6</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt-jackson</artifactId>
|
|
<version>0.12.6</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!-- Tests need the community schema. The migration chain (V1..V5) is
|
|
owned by patbond-user (single flyway_schema_history); pulling its
|
|
plain jar plus Flyway into the TEST classpath lets Boot's Flyway
|
|
auto-config apply the same chain to the disposable container.
|
|
Production wiring is unchanged: this module still ships without
|
|
Flyway and the chain runs in patbond-user's startup path (same
|
|
mechanism as patbond-pet). -->
|
|
<dependency>
|
|
<groupId>com.patbond.patbond</groupId>
|
|
<artifactId>patbond-user</artifactId>
|
|
<version>${project.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.flywaydb</groupId>
|
|
<artifactId>flyway-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.flywaydb</groupId>
|
|
<artifactId>flyway-database-postgresql</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-testcontainers</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
<!-- No spring-boot-starter-parent in this build, so the
|
|
executable-jar repackaging must be bound explicitly. -->
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>repackage</goal>
|
|
</goals>
|
|
<configuration>
|
|
<!-- Keep the plain jar as the main artifact so other
|
|
modules can depend on this one; the runnable fat
|
|
jar gets the -exec classifier and is what the
|
|
Dockerfile ships (same pattern as user/auth/pet). -->
|
|
<classifier>exec</classifier>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|