Ctrl K
ComunidadGuías…

pom.xml

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
<?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>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>4.1.2</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>

  <groupId>de.jensknipper</groupId>
  <artifactId>re-director</artifactId>
  <version>0.1.0</version>
  <name>re:Director</name>
  <description>redirect stuff</description>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>27</java.version>
    <jte.version>3.2.5</jte.version>
    <jooq.version>3.21.9</jooq.version>
    <sqlite.version>3.54.1.0</sqlite.version>

    <architecture>amd64</architecture>
  </properties>

  <dependencies>
    <dependency>
      <groupId>com.github.ben-manes.caffeine</groupId>
      <artifactId>caffeine</artifactId>
    </dependency>

    <dependency>
      <groupId>com.bucket4j</groupId>
      <artifactId>bucket4j_jdk17-core</artifactId>
      <version>8.22.0</version>
    </dependency>

    <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>okhttp-jvm</artifactId>
      <version>5.5.1</version>
    </dependency>

    <dependency>
      <groupId>gg.jte</groupId>
      <artifactId>jte-spring-boot-starter-4</artifactId>
      <version>${jte.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-cache</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jooq</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-liquibase</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-security</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-web</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-commons</artifactId>
    </dependency>


    <dependency>
      <groupId>org.webjars</groupId>
      <artifactId>webjars-locator-lite</artifactId>
      <version>1.1.5</version>
    </dependency>
    <dependency>
      <groupId>org.webjars</groupId>
      <artifactId>font-awesome</artifactId>
      <version>7.3.0</version>
    </dependency>
    <dependency>
      <groupId>org.webjars.npm</groupId>
      <artifactId>picocss__pico</artifactId>
      <version>2.1.1</version>
    </dependency>


    <dependency>
      <groupId>org.xerial</groupId>
      <artifactId>sqlite-jdbc</artifactId>
      <version>${sqlite.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.jspecify</groupId>
      <artifactId>jspecify</artifactId>
      <version>1.0.1</version>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>com.microsoft.playwright</groupId>
      <artifactId>playwright</artifactId>
      <version>1.64.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-webmvc-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.wiremock</groupId>
      <artifactId>wiremock-standalone</artifactId>
      <version>3.13.2</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>build-info</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.16.0</version>
        <configuration>
          <compilerArgs>
            <arg>-XDcompilePolicy=simple</arg>
            <arg>--should-stop=ifError=FLOW</arg>
            <arg>
              -Xplugin:ErrorProne
              -XepDisableWarningsInGeneratedCode
              -XepOpt:NullAway:JSpecifyMode
              -Xep:NullAway:WARN
              -XepOpt:NullAway:OnlyNullMarked=true
            </arg>
          </compilerArgs>
          <annotationProcessorPaths>
            <path>
              <groupId>com.google.errorprone</groupId>
              <artifactId>error_prone_core</artifactId>
              <version>2.52.0</version>
            </path>
            <path>
              <groupId>com.uber.nullaway</groupId>
              <artifactId>nullaway</artifactId>
              <version>0.14.3</version>
            </path>
          </annotationProcessorPaths>
        </configuration>
      </plugin>

      <plugin>
        <groupId>com.google.cloud.tools</groupId>
        <artifactId>jib-maven-plugin</artifactId>
        <version>3.5.2</version>
        <configuration>
          <from>
            <image>azul-zulu:27-jre-headless-alpine</image>
            <platforms>
              <platform>
                <architecture>${architecture}</architecture>
                <os>linux</os>
              </platform>
            </platforms>
          </from>
          <to>
            <image>jensknipper/${project.artifactId}</image>
            <tags>
              <tag>latest-${architecture}</tag>
              <tag>${project.version}-${architecture}</tag>
            </tags>
          </to>
          <container>
            <mainClass>de.jensknipper.redirector.ReDirectorApplication</mainClass>
            <user>1000</user>
            <environment>
              <SPRING_PROFILES_ACTIVE>live</SPRING_PROFILES_ACTIVE>
              <TZ>UTC</TZ>
            </environment>
            <jvmFlags>
              <jvmFlag>-XX:MaxRAMPercentage=50.0</jvmFlag>
            </jvmFlags>
          </container>
          <extraDirectories>
            <permissions>
              <permission>
                <file>/data</file>
                <mode>777</mode>
              </permission>
            </permissions>
          </extraDirectories>
        </configuration>
      </plugin>

      <plugin>
        <groupId>gg.jte</groupId>
        <artifactId>jte-maven-plugin</artifactId>
        <version>${jte.version}</version>
        <executions>
          <execution>
            <id>jte-generate</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <sourceDirectory>${project.basedir}/src/main/jte</sourceDirectory>
              <contentType>Html</contentType>
              <targetDirectory>target/generated-sources/jte</targetDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>com.diffplug.spotless</groupId>
        <artifactId>spotless-maven-plugin</artifactId>
        <version>3.11.0</version>
        <configuration>
          <java>
            <googleJavaFormat/>
            <importOrder/>
            <removeUnusedImports/>
          </java>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.liquibase</groupId>
        <artifactId>liquibase-maven-plugin</artifactId>
        <version>5.0.4</version>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <goals>
              <goal>update</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <analyticsEnabled>false</analyticsEnabled>
          <driver>org.sqlite.JDBC</driver>
          <url>jdbc:sqlite:${project.build.directory}/jooq-codegen.sqlite</url>
          <changeLogFile>src/main/resources/db/changelog/db.changelog-master.yaml</changeLogFile>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.xerial</groupId>
            <artifactId>sqlite-jdbc</artifactId>
            <version>${sqlite.version}</version>
          </dependency>
        </dependencies>
      </plugin>

      <plugin>
        <groupId>org.jooq</groupId>
        <artifactId>jooq-codegen-maven</artifactId>
        <version>${jooq.version}</version>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>org.xerial</groupId>
            <artifactId>sqlite-jdbc</artifactId>
            <version>${sqlite.version}</version>
          </dependency>
        </dependencies>
        <configuration>
          <jdbc>
            <driver>org.sqlite.JDBC</driver>
            <url>jdbc:sqlite:${project.build.directory}/jooq-codegen.sqlite</url>
          </jdbc>
          <generator>
            <database>
              <name>org.jooq.meta.sqlite.SQLiteDatabase</name>
              <forcedTypes>
                <forcedType>
                  <userType>de.jensknipper.redirector.common.db.Status</userType>
                  <enumConverter>true</enumConverter>
                  <includeExpression>.*\.STATUS</includeExpression>
                </forcedType>
                <forcedType>
                  <userType>de.jensknipper.redirector.common.db.RedirectHttpStatusCode</userType>
                  <enumConverter>true</enumConverter>
                  <includeExpression>.*\.HTTP_STATUS_CODE</includeExpression>
                </forcedType>
                <forcedType>
                  <userType>java.time.Instant</userType>
                  <converter>de.jensknipper.redirector.common.db.UtcInstantConverter</converter>
                  <includeExpression>.*\.HIT_TIME</includeExpression>
                </forcedType>
              </forcedTypes>
            </database>
            <target>
              <packageName>de.jensknipper.redirector.database</packageName>
              <directory>target/generated-sources/jooq</directory>
            </target>
          </generator>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>devtools</id>
      <activation>
        <property>
          <name>!skipDevtools</name>
        </property>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-devtools</artifactId>
          <scope>runtime</scope>
          <optional>true</optional>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
</project>