All Downloads are FREE. Search and download functionalities are using the official Maven repository.

archetype-resources.pom.xml Maven / Gradle / Ivy

There is a newer version: 6u2
Show newest version
<?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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>com.nablarch.archetype</groupId>
    <artifactId>nablarch-archetype-parent</artifactId>
    <version>6</version>
  </parent>

  <artifactId>${artifactId}</artifactId>

  <groupId>${groupId}</groupId>
  <version>${version}</version>
  <packaging>war</packaging>

  <properties>
    <!-- ソース及びclassファイルが準拠するJavaのバージョン-->
    <java.version>17</java.version>

    <!-- toolsディレクトリへのパス -->
    <nablarch.tools.dir>${project.basedir}/tools</nablarch.tools.dir>
    <!-- JSP静的解析ツールにおいて、「チェック対象外とするディレクトリ(ファイル)名を正規表現で設定する」ための項目。
         本設定を有効にする場合は、toolsプロジェクト中のnablarch-tools.xml中の設定のコメントアウトも解除すること。
    <jspanalysis.excludePatterns></jspanalysis.excludePatterns>
    -->

    <!-- gsp-dba-maven-pluginが使用するデータベース設定 -->
    <nablarch.db.jdbcDriver>org.h2.Driver</nablarch.db.jdbcDriver>
    <nablarch.db.url>jdbc:h2:./h2/db/SAMPLE</nablarch.db.url>
    <nablarch.db.adminUser>SAMPLE</nablarch.db.adminUser>
    <nablarch.db.adminPassword>SAMPLE</nablarch.db.adminPassword>
    <nablarch.db.user>SAMPLE</nablarch.db.user>
    <nablarch.db.password>SAMPLE</nablarch.db.password>
    <nablarch.db.schema>PUBLIC</nablarch.db.schema>
    <!--
     JIBでDockerコンテナを作るときのベースイメージを指定する。
     ブランクプロジェクトではイメージをタグで指定しているが、この場合、指定したイメージの最新バージョンが選択される。
     検証時と異なるバージョンが選択された場合、アプリケーションの動作に影響が出る可能性があるので、
     プロジェクトにおける検証が完了した段階で、バージョンを固定するために、イメージをダイジェストで指定することを推奨する。
    -->
    <jib.from.image>tomcat:10.1.5-jdk17-temurin</jib.from.image>
  </properties>

  <!--
    このプロファイルは環境を指定するものであり、相互に排他的である。
    複数のプロファイルを同時に指定してはならない。
  -->
  <profiles>
    <!--
    Nablarchのマスタデータ復旧機能用にデータを格納する際に使用するプロファイル。
    使用の際は、以下を参照すること。
    https://github.com/coastland/gsp-dba-maven-plugin/blob/master/recipe/backupToDifferentSchema.md

    gsp-dba-pluginでは、H2の場合はデフォルトスキーマのPUBLICしか扱えないためバックアップスキーマ名にPUBLICを指定しています。
    gsp-dba-pluginで任意のスキーマ名を指定出来るDBの場合は、バックアップスキーマ名を指定して下さい。
    -->
    <profile>
      <id>BACKUP</id>
      <properties>
        <nablarch.db.schema>PUBLIC</nablarch.db.schema>
      </properties>
      <build>
        <directory>${dba.gsp-target-dir}</directory>
        <plugins>
          <plugin>
            <groupId>jp.co.tis.gsp</groupId>
            <artifactId>gsp-dba-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>default-cli</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>generate-ddl</goal>
                  <goal>execute-ddl</goal>
                  <goal>load-data</goal>
                </goals>
              </execution>
            </executions>
            <dependencies>
              <!-- プロジェクトで使用するDB製品にあわせたJDBCドライバに上書きする -->
              <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>2.2.220</version>
                <scope>runtime</scope>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!-- gsp-dba-plugin -->
    <profile>
      <id>gsp</id>
      <activation>
      </activation>
      <build>
        <directory>${dba.gsp-target-dir}</directory>
        <plugins>
          <plugin>
            <groupId>jp.co.tis.gsp</groupId>
            <artifactId>gsp-dba-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>default-cli</id>
                <phase>generate-resources</phase>
                <goals>
                  <goal>generate-ddl</goal>
                  <goal>execute-ddl</goal>
                  <goal>generate-entity</goal>
                  <goal>load-data</goal>
                  <goal>export-schema</goal>
                </goals>
              </execution>
            </executions>
            <dependencies>
              <!-- プロジェクトで使用するDB製品にあわせたJDBCドライバに上書きする -->
              <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>2.2.220</version>
                <scope>runtime</scope>
              </dependency>
            </dependencies>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <version>${version.plugins.install}</version>
            <executions>
              <!-- gsp-dba-maven-pluginで生成したdumpファイルをinstallするための設定 -->
              <execution>
                <id>default-cli</id>
                <goals>
                  <goal>install-file</goal>
                </goals>
                <configuration>
                  <file>${dba.gsp-target-dir}/output/${dba.testDataArtifactId}-${dba.dump.version}.jar</file>
                  <groupId>${project.groupId}</groupId>
                  <version>${dba.dump.version}</version>
                  <artifactId>${dba.testDataArtifactId}</artifactId>
                  <packaging>jar</packaging>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>${version.plugins.deploy}</version>
            <executions>
              <!-- gsp-dba-maven-pluginで生成したdumpファイルをdeployするための設定 -->
              <execution>
                <id>default-cli</id>
                <goals>
                  <goal>deploy-file</goal>
                </goals>
                <configuration>
                  <file>${dba.gsp-target-dir}/output/${dba.testDataArtifactId}-${dba.dump.version}.jar</file>
                  <groupId>${project.groupId}</groupId>
                  <version>${dba.dump.version}</version>
                  <artifactId>${dba.testDataArtifactId}</artifactId>
                  <repositoryId>${project.distributionManagement.repository.id}</repositoryId>
                  <url>${project.distributionManagement.repository.url}</url>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.nablarch.profile</groupId>
        <artifactId>nablarch-bom</artifactId>
        <version>6</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit-bom</artifactId>
        <version>5.8.2</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>jakarta.platform</groupId>
        <artifactId>jakarta.jakartaee-bom</artifactId>
        <version>10.0.0</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>


  <dependencies>
    <dependency>
      <groupId>com.nablarch.profile</groupId>
      <artifactId>nablarch-web</artifactId>
    </dependency>

    <dependency>
      <groupId>com.nablarch.configuration</groupId>
      <artifactId>nablarch-main-default-configuration</artifactId>
    </dependency>

    <dependency>
      <groupId>com.nablarch.framework</groupId>
      <artifactId>nablarch-testing</artifactId>
      <scope>test</scope>
      <!--NablarchのテスティングフレームワークがJSPのビルド時に使用するコンパイラを差し替えるために、
      依存関係からデフォルトのecjを除去。
      -->
      <exclusions>
        <exclusion>
          <groupId>org.eclipse.jdt.core.compiler</groupId>
          <artifactId>ecj</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>com.nablarch.framework</groupId>
      <artifactId>nablarch-testing-jetty12</artifactId>
      <scope>test</scope>
    </dependency>

    <!--
    NablarchのテスティングフレームワークがJSPのビルド時に使用するコンパイラを差し替え。
    -->
    <dependency>
      <groupId>org.eclipse.jdt.core.compiler</groupId>
      <artifactId>ecj</artifactId>
      <version>4.5.1</version>
      <scope>test</scope>
    </dependency>


    <dependency>
      <groupId>com.nablarch.configuration</groupId>
      <artifactId>nablarch-testing-default-configuration</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- コード管理 -->
    <dependency>
      <groupId>com.nablarch.framework</groupId>
      <artifactId>nablarch-common-code-jdbc</artifactId>
    </dependency>
    <!-- UniversalDao使用時、DBに自動採番型が存在しない場合に使用するモジュールが存在している。 -->
    <dependency>
      <groupId>com.nablarch.framework</groupId>
      <artifactId>nablarch-common-idgenerator-jdbc</artifactId>
    </dependency>
    <dependency>
      <groupId>com.nablarch.framework</groupId>
      <artifactId>nablarch-fw-web-dbstore</artifactId>
    </dependency>

    <dependency>
      <groupId>com.nablarch.framework</groupId>
      <artifactId>nablarch-fw-web-doublesubmit-jdbc</artifactId>
    </dependency>

    <dependency>
      <groupId>jakarta.annotation</groupId>
      <artifactId>jakarta.annotation-api</artifactId>
    </dependency>

    <dependency>
      <groupId>jakarta.servlet.jsp</groupId>
      <artifactId>jakarta.servlet.jsp-api</artifactId>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>jakarta.servlet.jsp.jstl</groupId>
      <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
    </dependency>

    <dependency>
      <groupId>org.hibernate.validator</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>8.0.0.Final</version>
    </dependency>

    <dependency>
      <groupId>org.glassfish.web</groupId>
      <artifactId>jakarta.servlet.jsp.jstl</artifactId>
      <version>3.0.0</version>
      <scope>runtime</scope>
    </dependency>

    <!-- Nablarchのテスティングフレームワークを実行するために必要なライブラリ -->
    <dependency>
      <groupId>com.nablarch.framework</groupId>
      <artifactId>nablarch-fw-batch</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.nablarch.framework</groupId>
      <artifactId>nablarch-fw-messaging</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.nablarch.framework</groupId>
      <artifactId>nablarch-fw-messaging-http</artifactId>
      <scope>test</scope>
    </dependency>

    <!-- JUnit5 でテスティングフレームワークを実行するために必要なライブラリ -->
    <dependency>
      <groupId>com.nablarch.framework</groupId>
      <artifactId>nablarch-testing-junit5</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <scope>test</scope>
    </dependency>

    <!-- TODO: プロジェクトで使用するDB製品にあわせたJDBCドライバに修正してください。 -->
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>2.2.220</version>
      <scope>runtime</scope>
    </dependency>

    <dependency>
      <groupId>com.zaxxer</groupId>
      <artifactId>HikariCP</artifactId>
      <version>3.3.1</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>com.nablarch.integration</groupId>
      <artifactId>slf4j-nablarch-adaptor</artifactId>
      <scope>runtime</scope>
    </dependency>

  </dependencies>

  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.sql</include>
        </includes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <!-- MANIFEST.MFでClass-Pathを指定すると、依存jar内で定義されているtaglibのuriを正しく解決してくれない。 -->
          <useManifestOnlyJar>false</useManifestOnlyJar>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.jetty.ee10</groupId>
        <artifactId>jetty-ee10-maven-plugin</artifactId>
        <version>12.0.3</version>
        <configuration>
          <httpConnector>
            <port>9080</port>
          </httpConnector>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <webXml>${webxml.path}</webXml>
        </configuration>
      </plugin>
      <!--
      NablarchのテスティングフレームワークがJSPのコンパイル結果を格納するディレクトリを、
      mvn clean時に削除するように設定。
      -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <configuration>
          <filesets>
            <fileset>
              <directory>work/jsp</directory>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
      <!-- Dockerコンテナ化 -->
      <plugin>
        <groupId>com.google.cloud.tools</groupId>
        <artifactId>jib-maven-plugin</artifactId>
        <configuration>
          <container>
            <appRoot>/usr/local/tomcat/webapps/ROOT</appRoot>
            <ports>
              <port>8080</port>
            </ports>
            <!--TODO: JIBでDockerコンテナを作るときのデフォルトのOS環境変数値はPJ要件に合わせて修正してください。 -->
            <environment>
              <NABLARCH_FILEPATHSETTING_BASEPATHSETTINGS_UPLOADFILETMPDIR>file:/var/tmp/upload</NABLARCH_FILEPATHSETTING_BASEPATHSETTINGS_UPLOADFILETMPDIR>
              <NABLARCH_FILEPATHSETTING_BASEPATHSETTINGS_OUTPUT>file:/var/nablarch/output</NABLARCH_FILEPATHSETTING_BASEPATHSETTINGS_OUTPUT>
              <NABLARCH_FILEPATHSETTING_BASEPATHSETTINGS_FORMAT>file:/var/nablarch/format</NABLARCH_FILEPATHSETTING_BASEPATHSETTINGS_FORMAT>
            </environment>
          </container>
        </configuration>
      </plugin>
      <!-- ================ここから任意で使用するツールの設定================ -->
      <!-- gsp-dba-maven-pluginで自動生成したソースをビルド時に使用するための設定 -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
      </plugin>
      <!-- ant経由でJSP静的解析ツールを起動する -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
      </plugin>
      <!-- カバレッジ取得 -->
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
      </plugin>
      <!-- SpotBugs -->
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
      </plugin>
      <!-- ================ここまで任意で使用するツールの設定================ -->
    </plugins>
  </build>
</project>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy