<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2024, 2025 Contributors to the Eclipse Foundation.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<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>

    <parent>
        <groupId>org.eclipse.ee4j</groupId>
        <artifactId>project</artifactId>
        <version>2.0.0-M1</version>
        <relativePath/>
    </parent>

    <groupId>jakarta.tck</groupId>
    <artifactId>jakarta-expression-language-tck</artifactId>
    <version>6.1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>Jakarta Expression Language TCK</name>
    <description>Jakarta Expression Language TCK</description>
    <url>https://projects.eclipse.org/projects/ee4j.el</url>

    <!--
        Override the license in the parent POM as TCKs all use the EFTL. 
    -->
    <licenses>
        <license>
            <name>Eclipse Foundation Technology Compatibility Kit License - v1.1</name>
            <url>https://www.eclipse.org/legal/tck/</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <developers>
        <developer>
            <id>jakarta-ee4j-el</id>
            <name>Jakarta Expression Language Developers</name>
            <organization>Eclipse Foundation</organization>
            <email>el-dev@eclipse.org</email>
        </developer>
    </developers>
    <contributors>
       <contributor>
           <name>Jakarta Expression Language Contributors</name>
           <email>el-dev@eclipse.org</email>
           <url>https://github.com/jakartaee/expression-language/graphs/contributors</url>
       </contributor>
    </contributors>

    <mailingLists>
        <mailingList>
            <name>Expression Language dev mailing list</name>
            <post>el-dev@eclipse.org</post>
            <subscribe>https://accounts.eclipse.org/mailing-list/el-dev</subscribe>
            <unsubscribe>https://accounts.eclipse.org/mailing-list/el-dev</unsubscribe>
            <archive>https://www.eclipse.org/lists/el-dev</archive>
        </mailingList>
    </mailingLists>

    <scm>
        <connection>scm:git:https://github.com/jakartaee/expression-language.git</connection>
        <developerConnection>scm:git:ssh://git@github.com/jakartaee/expression-language.git</developerConnection>
        <url>https://github.com/jakartaee/expression-language</url>
        <tag>HEAD</tag>
    </scm>

    <issueManagement>
        <system>github</system>
        <url>https://github.com/jakartaee/expression-language/issues</url>
    </issueManagement>

    <properties>
        <!-- Timestamp for repeatable builds (more recent than parent -->
        <project.build.outputTimestamp>2025-10-15T00:00:00Z</project.build.outputTimestamp>
        <!-- API version for signature test-->
        <api.version>6.1</api.version>
        <bundle-name>jakarta-expression-language-tck</bundle-name>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.junit</groupId>
                <artifactId>junit-bom</artifactId>
                <version>6.0.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>jakarta.el</groupId>
            <artifactId>jakarta.el-api</artifactId>
            <version>6.1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.tck</groupId>
            <artifactId>sigtest-maven-plugin</artifactId>
            <version>2.6</version>
        </dependency>
    </dependencies>

    <build>
        <finalName>${bundle-name}-${project.version}</finalName>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>LICENSE_${license}.md</include>
                    <include>com/</include>
                </includes>
            </resource>
        </resources>

        <plugins>
            <!-- Sets minimal Maven version to 3.8.6 -->
            <plugin>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce-maven</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>3.8.6</version>
                                </requireMavenVersion>
                                <!-- Plugins used to build spec require Java 21 so use 21 a minimum for all modules -->
                                <requireJavaVersion>
                                    <version>21</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            
            <!-- Minimum Java version in spec document is 17 -->
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.14.1</version>
                <configuration>
                    <release>17</release>
                </configuration>
            </plugin>
            
            <!-- Configure the jar with the sources. -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <configuration>
                    <includePom>true</includePom>
                </configuration>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- Create Javadoc for API jar -->
            <plugin>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <doclint>none</doclint>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.7.1</version>
                <executions>
                    <execution>
                        <id>distribution</id>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <phase>package</phase>
                        <configuration>
                            <descriptors>
                                <descriptor>src/main/assembly/assembly.xml</descriptor>
                            </descriptors>
                            <escapeString>\</escapeString>
                            <appendAssemblyId>false</appendAssemblyId>
                            <finalName>${bundle-name}-${project.version}</finalName>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>record-signature</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>jakarta.tck</groupId>
                        <artifactId>sigtest-maven-plugin</artifactId>
                        <version>2.6</version>
                        <configuration>
                            <sigfile>${project.build.directory}/jakarta.el.sig_${api.version}</sigfile>
                            <packages>jakarta.el</packages>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

    </profiles>

</project>
