200 lines
7.7 KiB
XML
200 lines
7.7 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>
|
||
|
||
<groupId>com.svnlog</groupId>
|
||
<artifactId>svn-log-tool</artifactId>
|
||
<version>1.0.0</version>
|
||
<packaging>jar</packaging>
|
||
|
||
<name>SVN Log Tool</name>
|
||
<description>SVN日志查询工具,支持版本范围过滤和用户名过滤,可导出Markdown格式</description>
|
||
|
||
<properties>
|
||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||
<maven.compiler.source>1.8</maven.compiler.source>
|
||
<maven.compiler.target>1.8</maven.compiler.target>
|
||
<spring-boot.version>2.7.18</spring-boot.version>
|
||
<!-- 本地跳过前端构建:mvn clean package -DskipTests -Dskip.frontend.build=true -->
|
||
<skip.frontend.build>false</skip.frontend.build>
|
||
<!-- Node.js 下载源地址,默认官方。因网络下载失败时,可配置镜像源,如:-->
|
||
<!-- -Dnode.download.root=https://npmmirror.com/mirrors/node/ -->
|
||
<node.download.root>https://nodejs.org/dist/</node.download.root>
|
||
</properties>
|
||
|
||
<dependencies>
|
||
<!-- SVNKit for SVN operations -->
|
||
<dependency>
|
||
<groupId>org.tmatesoft.svnkit</groupId>
|
||
<artifactId>svnkit</artifactId>
|
||
<version>1.10.11</version>
|
||
</dependency>
|
||
|
||
<!-- Apache POI for Excel operations -->
|
||
<dependency>
|
||
<groupId>org.apache.poi</groupId>
|
||
<artifactId>poi</artifactId>
|
||
<version>5.2.5</version>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>org.apache.poi</groupId>
|
||
<artifactId>poi-ooxml</artifactId>
|
||
<version>5.2.5</version>
|
||
</dependency>
|
||
|
||
<!-- HTTP Client for API calls -->
|
||
<dependency>
|
||
<groupId>com.squareup.okhttp3</groupId>
|
||
<artifactId>okhttp</artifactId>
|
||
<version>4.12.0</version>
|
||
</dependency>
|
||
|
||
<!-- JSON parsing -->
|
||
<dependency>
|
||
<groupId>com.google.code.gson</groupId>
|
||
<artifactId>gson</artifactId>
|
||
<version>2.10.1</version>
|
||
</dependency>
|
||
|
||
<!-- Web backend -->
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-web</artifactId>
|
||
<version>${spring-boot.version}</version>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-validation</artifactId>
|
||
<version>${spring-boot.version}</version>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-test</artifactId>
|
||
<version>${spring-boot.version}</version>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
</dependencies>
|
||
|
||
<build>
|
||
<plugins>
|
||
<!--
|
||
frontend-maven-plugin: 绑定到 prepare-package 阶段。
|
||
- mvn compile / mvn test:不触发前端构建。
|
||
- mvn package(含 make up Docker 构建的 Java 侧):
|
||
Docker 后端阶段已用 -Dskip.frontend.build=true,
|
||
本地全量打包时自动执行 install-node + npm ci + npm run build。
|
||
- 跳过:mvn clean package -DskipTests -Dskip.frontend.build=true
|
||
详见 docs/frontend-build.md。
|
||
-->
|
||
<plugin>
|
||
<groupId>com.github.eirslett</groupId>
|
||
<artifactId>frontend-maven-plugin</artifactId>
|
||
<version>1.15.0</version>
|
||
<configuration>
|
||
<workingDirectory>frontend-vue</workingDirectory>
|
||
<skip>${skip.frontend.build}</skip>
|
||
<nodeDownloadRoot>${node.download.root}</nodeDownloadRoot>
|
||
</configuration>
|
||
<executions>
|
||
<execution>
|
||
<id>install-node-and-npm</id>
|
||
<goals>
|
||
<goal>install-node-and-npm</goal>
|
||
</goals>
|
||
<phase>prepare-package</phase>
|
||
<configuration>
|
||
<!-- Node 20 LTS,与 Vite 5.x 兼容 -->
|
||
<nodeVersion>v20.11.0</nodeVersion>
|
||
</configuration>
|
||
</execution>
|
||
<execution>
|
||
<id>npm-install</id>
|
||
<goals>
|
||
<goal>npm</goal>
|
||
</goals>
|
||
<phase>prepare-package</phase>
|
||
<configuration>
|
||
<arguments>ci</arguments>
|
||
</configuration>
|
||
</execution>
|
||
<execution>
|
||
<id>npm-build</id>
|
||
<goals>
|
||
<goal>npm</goal>
|
||
</goals>
|
||
<phase>prepare-package</phase>
|
||
<configuration>
|
||
<arguments>run build</arguments>
|
||
</configuration>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-compiler-plugin</artifactId>
|
||
<version>3.8.1</version>
|
||
<configuration>
|
||
<source>1.8</source>
|
||
<target>1.8</target>
|
||
<encoding>UTF-8</encoding>
|
||
</configuration>
|
||
</plugin>
|
||
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-jar-plugin</artifactId>
|
||
<version>3.2.0</version>
|
||
<configuration>
|
||
<archive>
|
||
<manifest>
|
||
<mainClass>com.svnlog.web.WebApplication</mainClass>
|
||
</manifest>
|
||
</archive>
|
||
</configuration>
|
||
</plugin>
|
||
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-assembly-plugin</artifactId>
|
||
<version>3.3.0</version>
|
||
<configuration>
|
||
<descriptorRefs>
|
||
<descriptorRef>jar-with-dependencies</descriptorRef>
|
||
</descriptorRefs>
|
||
<archive>
|
||
<manifest>
|
||
<mainClass>com.svnlog.web.WebApplication</mainClass>
|
||
</manifest>
|
||
</archive>
|
||
</configuration>
|
||
<executions>
|
||
<execution>
|
||
<id>make-assembly</id>
|
||
<phase>package</phase>
|
||
<goals>
|
||
<goal>single</goal>
|
||
</goals>
|
||
</execution>
|
||
</executions>
|
||
</plugin>
|
||
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-surefire-plugin</artifactId>
|
||
<version>2.22.2</version>
|
||
</plugin>
|
||
|
||
<plugin>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||
<version>${spring-boot.version}</version>
|
||
</plugin>
|
||
</plugins>
|
||
</build>
|
||
</project>
|