fix mvn build

This commit is contained in:
kirillius 2025-10-03 19:55:48 +03:00
parent c75b8977d2
commit 28d37f0dfb
1 changed files with 60 additions and 63 deletions

123
pom.xml
View File

@ -18,66 +18,14 @@
<maven.compiler.source>21</maven.compiler.source> <maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target> <maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<lombok.version>1.18.40</lombok.version> <!-- Вынесено в properties -->
</properties> </properties>
<!-- в root/pom.xml --> <!-- Блок profiles, который вызывал проблемы с активацией, удален. -->
<profiles>
<profile>
<id>assembly</id>
<activation>
<property>
<name>project.packaging</name>
<value>pom</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>post-build-assembly</id>
<phase>verify</phase> <!-- выполнится после сборки всех модулей -->
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<!-- 1. Создать папку target (для root) -->
<mkdir dir="${project.build.directory}"/>
<!-- 2. Копировать app/target/app-$VERSION-shaded.jar -> target/$VERSION.pfapp -->
<copy file="${basedir}/app/target/app-${project.version}-shaded.jar"
tofile="${project.build.directory}/${project.version}.pfapp"
overwrite="true"/>
<!-- 3. Копировать launcher.sh -> target/pfsdnd и сделать исполняемым -->
<copy file="${basedir}/launcher.sh"
tofile="${project.build.directory}/pfsdnd"
overwrite="true"/>
<!-- Делаем файл исполняемым (для Unix/Linux) -->
<chmod file="${project.build.directory}/pfsdnd" perm="755"/>
<!-- 4. Копировать ovpn-connector/target/ovpn-pfsdn-bind -> target/ -->
<copy file="${basedir}/ovpn-connector/target/ovpn-pfsdn-bind"
tofile="${project.build.directory}/ovpn-pfsdn-bind"
overwrite="true"/>
<!-- Также делаем исполняемым -->
<chmod file="${project.build.directory}/ovpn-pfsdn-bind" perm="755"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build> <build>
<plugins> <plugins>
<!-- Плагин Compiler Plugin остается -->
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
@ -85,24 +33,75 @@
<configuration> <configuration>
<source>${maven.compiler.source}</source> <source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target> <target>${maven.compiler.target}</target>
<annotationProcessorPaths> <annotationProcessorPaths>
<path> <path>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>1.18.40</version> <version>${lombok.version}</version>
</path> </path>
</annotationProcessorPaths> </annotationProcessorPaths>
</configuration> </configuration>
</plugin> </plugin>
<!-- ФИНАЛЬНОЕ ИСПРАВЛЕНИЕ: Antrun Plugin вынесен в основной build.
runOnlyAtExecutionRoot гарантирует, что он будет выполнен ТОЛЬКО в корневом POM. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>clean-root-target</id>
<phase>clean</phase>
<inherited>false</inherited>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<delete dir="${project.build.directory}"/>
</target>
</configuration>
</execution>
<execution>
<id>post-build-assembly</id>
<phase>verify</phase> <!-- выполнится после сборки всех модулей -->
<inherited>false</inherited>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<!-- 1. Создать папку target (для root) -->
<mkdir dir="${project.build.directory}"/>
<!-- 2. Копировать app/target/app-$VERSION-shaded.jar -> target/$VERSION.pfapp -->
<copy file="${basedir}/app/target/app-${project.version}-shaded.jar"
tofile="${project.build.directory}/${project.version}.pfapp"
overwrite="true"/>
<!-- 3. Копировать launcher.sh -> target/pfsdnd и сделать исполняемым -->
<copy file="${basedir}/launcher.sh"
tofile="${project.build.directory}/pfsdnd"
overwrite="true"/>
<!-- Делаем файл исполняемым (для Unix/Linux) -->
<chmod file="${project.build.directory}/pfsdnd" perm="755"/>
<!-- 4. Копировать ovpn-connector/target/ovpn-pfsdn-bind -> target/ -->
<copy file="${basedir}/ovpn-connector/target/ovpn-pfsdn-bind"
tofile="${project.build.directory}/ovpn-pfsdn-bind"
overwrite="true"/>
<!-- Также делаем исполняемым -->
<chmod file="${project.build.directory}/ovpn-pfsdn-bind" perm="755"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>
<repositories> <repositories>
<repository> <repository>
<id>kirillius</id> <id>kirillius</id>
@ -139,7 +138,7 @@
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>1.18.40</version> <version>${lombok.version}</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
@ -151,6 +150,4 @@
</dependency> </dependency>
</dependencies> </dependencies>
</project>
</project>