123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641 |
- <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>io.github.luversof</groupId>
- <artifactId>bluesky-boot-dependencies</artifactId>
- <version>3.2.0-SNAPSHOT</version>
- <packaging>pom</packaging>
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>3.2.5</version>
- <relativePath/>
- </parent>
- <properties>
- <java.version>21</java.version>
- <spring-cloud-dependencies.version>2023.0.1</spring-cloud-dependencies.version>
- <bluesky-boot.version>3.2.0-SNAPSHOT</bluesky-boot.version>
- <bluesky-boot-crypto.version>3.2.0-SNAPSHOT</bluesky-boot-crypto.version>
- <bluesky-boot-devcheck.version>3.2.0-SNAPSHOT</bluesky-boot-devcheck.version>
- <spring-boot-admin-starter.version>3.2.3</spring-boot-admin-starter.version>
- <springdoc-openapi.version>2.5.0</springdoc-openapi.version>
- <!-- tag:asciidoctor-properties[] -->
- <asciidoctor-maven-plugin.version>2.2.6</asciidoctor-maven-plugin.version>
- <refdocs.build.directory>${project.build.directory}/refdocs/</refdocs.build.directory>
- <asciidoctor.backend>spring-html</asciidoctor.backend>
- <asciidoctor.sourceDirectory>${refdocs.build.directory}</asciidoctor.sourceDirectory>
- <asciidoctor.outputDirectory>${project.build.directory}/generated-docs</asciidoctor.outputDirectory>
- <asciidoctor.preserveDirectories>true</asciidoctor.preserveDirectories>
- <asciidoctor.doctype>book</asciidoctor.doctype>
- <spring-asciidoctor-backends.version>0.0.7</spring-asciidoctor-backends.version>
- <asciidoctorj-diagram.version>2.3.0</asciidoctorj-diagram.version>
- <restdocs-api-spec.version>0.19.2</restdocs-api-spec.version>
- <restdocs-spec-maven-plugin.version>0.23</restdocs-spec-maven-plugin.version>
- <!-- end:asciidoctor-properties[] -->
- <jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
- <jib-maven-plugin.version>3.4.2</jib-maven-plugin.version>
- <properties-maven-plugin.version>1.2.1</properties-maven-plugin.version>
- <filecopy-maven-plugin.version>1.0.2</filecopy-maven-plugin.version>
-
- <!-- (s) build properties -->
- <build.image>nexus-service:8083/luversof</build.image>
- <build.number>LOCAL_BUILD</build.number>
- <build.version>${project.version}</build.version>
- <!-- (e) build properties -->
-
- <!-- (s) ossrh -->
- <maven-gpg-plugin.version>3.2.3</maven-gpg-plugin.version>
- <nexus-staging-maven-plugin.version>1.6.13</nexus-staging-maven-plugin.version>
- <maven-release-plugin.version>3.0.1</maven-release-plugin.version>
- <!-- (e) ossrh -->
- </properties>
- <dependencyManagement>
- <dependencies>
- <!-- (s) bluesky boot -->
- <dependency>
- <groupId>io.github.luversof</groupId>
- <artifactId>bluesky-boot</artifactId>
- <version>${bluesky-boot.version}</version>
- </dependency>
- <dependency>
- <groupId>io.github.luversof</groupId>
- <artifactId>bluesky-boot-autoconfigure</artifactId>
- <version>${bluesky-boot.version}</version>
- </dependency>
- <dependency>
- <groupId>io.github.luversof</groupId>
- <artifactId>bluesky-boot-docs</artifactId>
- <version>${bluesky-boot.version}</version>
- </dependency>
- <dependency>
- <groupId>io.github.luversof</groupId>
- <artifactId>bluesky-boot-test-autoconfigure</artifactId>
- <version>${bluesky-boot.version}</version>
- </dependency>
- <dependency>
- <groupId>io.github.luversof</groupId>
- <artifactId>bluesky-boot-crypto</artifactId>
- <version>${bluesky-boot-crypto.version}</version>
- </dependency>
- <dependency>
- <groupId>io.github.luversof</groupId>
- <artifactId>bluesky-boot-devcheck</artifactId>
- <version>${bluesky-boot-devcheck.version}</version>
- </dependency>
- <dependency>
- <groupId>io.github.luversof</groupId>
- <artifactId>bluesky-boot-autoconfigure-devcheck</artifactId>
- <version>${bluesky-boot-devcheck.version}</version>
- </dependency>
- <!-- (e) bluesky boot -->
- <!-- (s) spring cloud -->
- <!-- 버전관리를 편하게 하려고 cloud 의존성을 여기서 관리하고 있으나 분리하는 것이 좋다. -->
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-dependencies</artifactId>
- <version>${spring-cloud-dependencies.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <!-- (e) spring cloud -->
- <!-- (s) mybatis -->
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>3.0.3</version>
- </dependency>
- <!-- (e) mybatis -->
- <!-- (s) boot-admin -->
- <dependency>
- <groupId>de.codecentric</groupId>
- <artifactId>spring-boot-admin-starter-server</artifactId>
- <version>${spring-boot-admin-starter.version}</version>
- </dependency>
- <dependency>
- <groupId>de.codecentric</groupId>
- <artifactId>spring-boot-admin-starter-client</artifactId>
- <version>${spring-boot-admin-starter.version}</version>
- </dependency>
- <!-- (e) boot-admin -->
- <!-- (s) springdoc-openapi -->
- <dependency>
- <groupId>org.springdoc</groupId>
- <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
- <version>${springdoc-openapi.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springdoc</groupId>
- <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
- <version>${springdoc-openapi.version}</version>
- </dependency>
- <!-- (e) springdoc-openapi -->
- <!-- (s) thymeleaf-layout-dialect -->
- <dependency>
- <groupId>com.github.zhanhb</groupId>
- <artifactId>thymeleaf-layout-dialect</artifactId>
- <version>3.2.0</version>
- </dependency>
- <!-- (e) thymeleaf-layout-dialect -->
- <!-- (s) restdocs-api-spec -->
- <dependency>
- <groupId>com.epages</groupId>
- <artifactId>restdocs-api-spec-mockmvc</artifactId>
- <version>${restdocs-api-spec.version}</version>
- </dependency>
- <!-- (e) restdocs-api-spec -->
- </dependencies>
- </dependencyManagement>
- <build>
- <resources>
- <resource>
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </resource>
- <resource>
- <directory>src/main/resources</directory>
- <filtering>true</filtering>
- </resource>
- </resources>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>build-info</goal>
- </goals>
- <configuration>
- <additionalProperties>
- <buildNumber>${build.number}</buildNumber>
- </additionalProperties>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- (s) sonarqube plugin -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${maven-surefire-plugin.version}</version>
- <configuration>
- <includes>
- <include>**/*Test.java</include>
- <include>**/*Tests.java</include>
- </includes>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>${jacoco-maven-plugin.version}</version>
- <executions>
- <execution>
- <id>prepare-agent</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- </execution>
- <execution>
- <id>report</id>
- <phase>test</phase>
- <goals>
- <goal>report</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <!-- (e) sonarqube plugin -->
- <!-- (s) asciidoctor plugin -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-asciidoc-resources</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <configuration>
- <outputDirectory>${refdocs.build.directory}</outputDirectory>
- <resources>
- <resource>
- <directory>src/main/asciidoc</directory>
- <filtering>false</filtering>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- <configuration>
- <nonFilteredFileExtensions>
- <nonFilteredFileExtension>eot</nonFilteredFileExtension>
- <nonFilteredFileExtension>ttf</nonFilteredFileExtension>
- <nonFilteredFileExtension>woff</nonFilteredFileExtension>
- <nonFilteredFileExtension>woff2</nonFilteredFileExtension>
- <nonFilteredFileExtension>otf</nonFilteredFileExtension>
- </nonFilteredFileExtensions>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctor-maven-plugin</artifactId>
- <version>${asciidoctor-maven-plugin.version}</version>
- <dependencies>
- <dependency>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctorj-diagram</artifactId>
- <version>${asciidoctorj-diagram.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework.restdocs</groupId>
- <artifactId>spring-restdocs-asciidoctor</artifactId>
- <version>${spring-restdocs.version}</version>
- </dependency>
- <dependency>
- <groupId>io.spring.asciidoctor.backends</groupId>
- <artifactId>spring-asciidoctor-backends</artifactId>
- <version>${spring-asciidoctor-backends.version}</version>
- </dependency>
- </dependencies>
- <configuration>
- <requires>
- <require>asciidoctor-diagram</require>
- </requires>
- </configuration>
- <executions>
- <execution>
- <id>generate-html-documentation</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>process-asciidoc</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>io.github.berkleytechnologyservices</groupId>
- <artifactId>restdocs-spec-maven-plugin</artifactId>
- <version>${restdocs-spec-maven-plugin.version}</version>
- <executions>
- <execution>
- <goals>
- <goal>generate</goal>
- </goals>
- <configuration>
- <specification>OPENAPI_V3</specification>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- (e) asciidoctor plugin -->
- <plugin>
- <groupId>com.google.cloud.tools</groupId>
- <artifactId>jib-maven-plugin</artifactId>
- <version>${jib-maven-plugin.version}</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>build</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <container>
- <creationTime>USE_CURRENT_TIMESTAMP</creationTime>
- </container>
- <from>
- <image>eclipse-temurin:${java.version}-jre-alpine</image>
- </from>
- <to>
- <image>${build.image}/${project.artifactId}</image>
- <tags>
- <tag>${project.version}.${build.number}</tag>
- </tags>
- </to>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>properties-maven-plugin</artifactId>
- <version>${properties-maven-plugin.version}</version>
- <configuration>
- <outputFile>
- build.properties
- </outputFile>
- </configuration>
- </plugin>
- <plugin>
- <groupId>io.github.luversof</groupId>
- <artifactId>filecopy-maven-plugin</artifactId>
- <version>${filecopy-maven-plugin.version}</version>
- <executions>
- <execution>
- <id>filecopy</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>filecopy</goal>
- </goals>
- <configuration>
- <fileInfos>
- <fileInfo>
- <sourceRegex>^([a-zA-Z]*)(_zh-TW.properties)$</sourceRegex>
- <targetRegex>$1_zh.properties</targetRegex>
- </fileInfo>
- </fileInfos>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- <profiles>
- <profile>
- <id>sonarqube</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>asciidoctor</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.asciidoctor</groupId>
- <artifactId>asciidoctor-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>io.github.berkleytechnologyservices</groupId>
- <artifactId>restdocs-spec-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>nexus-local</id>
- <repositories>
- <repository>
- <id>bluesky-nexus-docker</id>
- <url>http://nexus.bluesky.local/repository/maven-public/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- </repository>
- </repositories>
- <distributionManagement>
- <repository>
- <id>bluesky-releases</id>
- <url>http://nexus.bluesky.local/repository/maven-releases/</url>
- </repository>
- <snapshotRepository>
- <id>bluesky-snapshots</id>
- <url>http://nexus.bluesky.local/repository/maven-snapshots/</url>
- </snapshotRepository>
- </distributionManagement>
- </profile>
- <profile>
- <id>nexus-docker</id>
- <repositories>
- <repository>
- <id>bluesky-nexus-docker</id>
- <url>http://nexus:8082/repository/maven-public/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- </repository>
- </repositories>
- <distributionManagement>
- <repository>
- <id>bluesky-releases</id>
- <url>http://nexus:8082/repository/maven-releases/</url>
- </repository>
- <snapshotRepository>
- <id>bluesky-snapshots</id>
- <url>http://nexus:8082/repository/maven-snapshots/</url>
- </snapshotRepository>
- </distributionManagement>
- </profile>
- <profile>
- <id>nexus-k8s</id>
- <repositories>
- <repository>
- <id>bluesky-nexus-k8s</id>
- <url>http://nexus-service:8082/repository/maven-public/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- </repository>
- </repositories>
- <distributionManagement>
- <repository>
- <id>bluesky-releases</id>
- <url>http://nexus-service:8082/repository/maven-releases/</url>
- </repository>
- <snapshotRepository>
- <id>bluesky-snapshots</id>
- <url>http://nexus-service:8082/repository/maven-snapshots/</url>
- </snapshotRepository>
- </distributionManagement>
- </profile>
- <profile>
- <id>ossrh</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <annotationProcessorPaths>
- <path>
- <groupId>org.mapstruct</groupId>
- <artifactId>mapstruct-processor</artifactId>
- <version>1.5.5.Final</version>
- </path>
- <path>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <version>${lombok.version}</version>
- </path>
- <path>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok-mapstruct-binding</artifactId>
- <version>0.2.0</version>
- </path>
- </annotationProcessorPaths>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- <version>${maven-gpg-plugin.version}</version>
- <executions>
- <execution>
- <id>sign-artifacts</id>
- <phase>verify</phase>
- <goals>
- <goal>sign</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <version>${nexus-staging-maven-plugin.version}</version>
- <extensions>true</extensions>
- <configuration>
- <serverId>ossrh</serverId>
- <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
- <autoReleaseAfterClose>true</autoReleaseAfterClose>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <version>${maven-release-plugin.version}</version>
- <configuration>
- <autoVersionSubmodules>true</autoVersionSubmodules>
- <useReleaseProfile>false</useReleaseProfile>
- <releaseProfiles>release</releaseProfiles>
- <goals>deploy</goals>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <distributionManagement>
- <snapshotRepository>
- <id>ossrh</id>
- <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
- </snapshotRepository>
- <repository>
- <id>ossrh</id>
- <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
- </repository>
- </distributionManagement>
- </profile>
- </profiles>
- <repositories>
- <repository>
- <id>maven-snapshots</id>
- <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
- <snapshots />
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- <repository>
- <id>spring-snapshots</id>
- <url>https://repo.spring.io/snapshot</url>
- <snapshots />
- <releases>
- <enabled>false</enabled>
- </releases>
- </repository>
- <repository>
- <id>spring-milestones</id>
- <url>https://repo.spring.io/milestone</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>spring-releases</id>
- <url>https://repo.spring.io/release</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>netflix-candidates</id>
- <name>Netflix Candidates</name>
- <url>https://artifactory-oss.prod.netflix.net/artifactory/maven-oss-candidates</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>spring-snapshots</id>
- <url>https://repo.spring.io/snapshot</url>
- <snapshots />
- <releases>
- <enabled>false</enabled>
- </releases>
- </pluginRepository>
- <pluginRepository>
- <id>spring-milestones</id>
- <url>https://repo.spring.io/milestone</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </pluginRepository>
- <pluginRepository>
- <id>spring-releases</id>
- <url>https://repo.spring.io/release</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
- </project>
|