Archived
180 lines
7.9 KiB
XML
180 lines
7.9 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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<groupId>net.thebennett.platform</groupId>
|
|
<artifactId>platform-parent</artifactId>
|
|
<version>0.1.11</version>
|
|
<relativePath/>
|
|
</parent>
|
|
|
|
<groupId>com.itsthevine</groupId>
|
|
<artifactId>itsthevine</artifactId>
|
|
<version>0.1.0</version>
|
|
<name>The Vine Coffeehouse + Bakery</name>
|
|
<description>Site for The Vine in Princeville, IL — menu, story, and contact form — on the Bennett platform.</description>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>net.thebennett.platform</groupId>
|
|
<artifactId>platform-bom</artifactId>
|
|
<version>0.1.11</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<!-- Spring Boot 4.1 no longer manages the raw org.testcontainers:* module versions -->
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>testcontainers-bom</artifactId>
|
|
<version>1.21.4</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<!-- Platform releases live in the Gitea Maven registry (anonymous read). Declared here so Renovate
|
|
can discover new platform versions and open a bump PR. Maven still needs this repo in
|
|
settings.xml for PARENT resolution (see .gitea/ci-settings.xml). -->
|
|
<repositories>
|
|
<repository>
|
|
<id>gitea</id>
|
|
<url>https://git.thebennett.net/api/packages/austin/maven</url>
|
|
<releases><enabled>true</enabled></releases>
|
|
<snapshots><enabled>false</enabled></snapshots>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>net.thebennett.platform</groupId>
|
|
<artifactId>platform-starter-web</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.thebennett.platform</groupId>
|
|
<artifactId>platform-starter-data</artifactId>
|
|
</dependency>
|
|
<!-- The site is server-rendered: every public page is a Thymeleaf template in
|
|
src/main/resources/templates, and the only JavaScript left on it is a 100-line file that
|
|
gives the multi-photo product cards their arrows. -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-thymeleaf</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.thebennett.platform</groupId>
|
|
<artifactId>platform-starter-contact</artifactId>
|
|
</dependency>
|
|
<!-- The site is still a public brochure, but the catalogue is now editable from it: the admin
|
|
screens sign in against Authentik (OIDC) and upload photos to the bucket. Both are off
|
|
unless platform.security.mode=OIDC, which is what gates the admin endpoints existing at
|
|
all — see AdminProductController. -->
|
|
<dependency>
|
|
<groupId>net.thebennett.platform</groupId>
|
|
<artifactId>platform-starter-security</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.thebennett.platform</groupId>
|
|
<artifactId>platform-starter-storage</artifactId>
|
|
</dependency>
|
|
|
|
<!-- test -->
|
|
<!-- Contract tests every app on the platform inherits. -->
|
|
<dependency>
|
|
<groupId>net.thebennett.platform</groupId>
|
|
<artifactId>platform-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!-- springSecurity() for MockMvc — without it the filter chain is absent and every protected
|
|
path answers 200, so a security test would prove the opposite of what it claims. -->
|
|
<dependency>
|
|
<groupId>org.springframework.security</groupId>
|
|
<artifactId>spring-security-test</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>
|
|
</plugin>
|
|
<!--
|
|
There is no JavaScript application here any more, so node is present for one reason:
|
|
Tailwind needs a compiler, and the alternative to it is a hand-written stylesheet.
|
|
src/main/styles is the whole asset pipeline (see its site.css).
|
|
-->
|
|
<plugin>
|
|
<groupId>com.github.eirslett</groupId>
|
|
<artifactId>frontend-maven-plugin</artifactId>
|
|
<configuration>
|
|
<!-- Overrides platform-parent's `frontend`, which was where the SPA lived. The
|
|
stylesheet sources live with the rest of the app's source; node_modules has to
|
|
sit beside them, because that is where Tailwind resolves its own import from. -->
|
|
<workingDirectory>src/main/styles</workingDirectory>
|
|
</configuration>
|
|
<executions>
|
|
<!--
|
|
Tailwind, over every template, straight into the build output.
|
|
|
|
process-classes, not prepare-package: `mvn spring-boot:run` stops at
|
|
process-classes, and bound any later a local run would serve an unstyled site. The
|
|
output goes to target/classes/static/css so the generated file can never be
|
|
mistaken for a source file.
|
|
-->
|
|
<execution>
|
|
<id>npm-build-css</id>
|
|
<phase>process-classes</phase>
|
|
<goals><goal>npm</goal></goals>
|
|
<configuration><arguments>run build:css</arguments></configuration>
|
|
</execution>
|
|
<!-- Inherited from platform-parent to build an SPA at prepare-package. There isn't
|
|
one; the stylesheet is already built above. -->
|
|
<execution>
|
|
<id>npm-build</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<!-- Same: this copied frontend/dist into the jar's static/. No dist, nothing to
|
|
copy — the pages are templates and the stylesheet is written straight to
|
|
target/classes/static/css. -->
|
|
<execution>
|
|
<id>copy-frontend</id>
|
|
<phase>none</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|