<?xml version="1.0" encoding="UTF-8"?>
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
	license agreements. See the NOTICE file distributed with this work for additional
	information regarding copyright ownership. The ASF licenses this file to
	you under the Apache License, Version 2.0 (the "License"); you may not use
	this file except in compliance with the License. You may obtain a copy of
	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
	by applicable law or agreed to in writing, software distributed under the
	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
	OF ANY KIND, either express or implied. See the License for the specific
	language governing permissions and limitations under the License. -->
<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>ai.platon</groupId>
        <artifactId>pulsar-parent</artifactId>
        <!-- Parent POM should always use the published version -->
        <version>4.5.0</version>
    </parent>

    <groupId>ai.platon.pulsar</groupId>
    <artifactId>browser4</artifactId>
    <version>4.14.0-rc.2</version>
    <packaging>pom</packaging>

    <name>Browser4</name>
    <description>A lightning-fast, coroutine-safe browser for your AI.</description>

    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>

    <developers>
        <developer>
            <name>Vincent Zhang</name>
            <email>ivincent.zhang@gmail.com</email>
            <organization>browser4.io</organization>
            <timezone>+8</timezone>
        </developer>
    </developers>

    <scm>
        <connection>scm:git:https://github.com/platonai/browser4.git</connection>
        <developerConnection>scm:git:https://github.com/platonai/browser4.git</developerConnection>
        <url>https://github.com/platonai/browser4</url>
        <tag>v4.14.0-rc.2</tag>
    </scm>

    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/platonai/browser4/issues</url>
    </issueManagement>

    <ciManagement>
        <system>GitHub Actions</system>
        <url>https://github.com/platonai/browser4/actions</url>
    </ciManagement>

    <distributionManagement>
        <repository>
            <id>central</id>
            <url>https://central.sonatype.com/api/v1/publisher</url>
        </repository>
    </distributionManagement>

    <repositories>
        <repository>
            <id>Central</id>
            <url>https://repo1.maven.org/maven2/</url>
        </repository>
    </repositories>

    <!-- Default active modules. The main goal is to allow the user to run PulsarApplication
     with a single click in the IDE right after opening the project. -->
    <modules>
        <module>browser4-dependencies</module>
        <module>browser4-tests/pulsar-tests-common</module>
        <module>browser4-core</module>
        <module>browser4-plugins</module>
        <module>browser4-agent-tools</module>
        <module>browser4-agentic</module>
        <module>browser4-coding</module>
        <module>browser4-boot</module>
        <module>browser4-pdk</module>
        <module>browser4-rest</module>
    </modules>

    <profiles>

        <!-- Add additional main modules to the default reactor -->
        <profile>
            <id>all-main-modules</id>
            <activation>
                <property>
                    <name>allMainModules</name>
                    <value>true</value>
                </property>
            </activation>
            <modules>
                <module>browser4-apps</module>
                <module>browser4-apps/browser4-standalone</module>
                <module>browser4-apps/browser4-bundle</module>
            </modules>
        </profile>

        <profile>
            <id>all-test-modules</id>
            <activation>
                <property>
                    <name>allTestModules</name>
                    <value>true</value>
                </property>
            </activation>
            <modules>
                <module>browser4-tests</module>
                <module>browser4-tests/browser4-rest-tests</module>
                <module>browser4-tests/browser4-e2e-tests</module>
                <module>browser4-tests/pulsar-it-tests</module>
                <module>browser4-tests/pulsar-e2e-tests</module>
            </modules>
        </profile>

        <profile>
            <id>all-modules</id>
            <properties>
                <allMainModules>true</allMainModules>
                <allTestModules>true</allTestModules>
            </properties>
            <modules>
                <module>browser4-tests</module>
                <module>browser4-tests/browser4-rest-tests</module>
                <module>browser4-tests/browser4-e2e-tests</module>
                <module>browser4-tests/pulsar-it-tests</module>
                <module>browser4-tests/pulsar-e2e-tests</module>

                <module>browser4-apps</module>
                <module>browser4-apps/browser4-standalone</module>
                <module>browser4-apps/browser4-bundle</module>

                <module>examples</module>
            </modules>
        </profile>

        <!-- Targeted profiles that add only one browser4-apps submodule to the
             default reactor.  Use these instead of -Pall-main-modules when you need
             exactly one app JAR without building the sibling module. -->

        <profile>
            <id>asset-standalone</id>
            <modules>
                <module>browser4-apps/browser4-standalone</module>
            </modules>
        </profile>

        <profile>
            <id>asset-bundle</id>
            <modules>
                <module>browser4-apps/browser4-bundle</module>
            </modules>
        </profile>

        <profile>
            <id>tests-core</id>
            <activation>
                <property>
                    <name>runCoreTests</name>
                    <value>true</value>
                </property>
            </activation>
            <properties>
                <surefire.excludedGroups>ManualOnly</surefire.excludedGroups>
            </properties>
        </profile>

        <profile>
            <id>tests-rest</id>
            <activation>
                <property>
                    <name>runRestTests</name>
                    <value>true</value>
                </property>
            </activation>
            <modules>
                <module>browser4-tests/browser4-rest-tests</module>
            </modules>
            <properties>
                <surefire.excludedGroups>ManualOnly</surefire.excludedGroups>
            </properties>
        </profile>

        <!-- Test execution profiles based on test-strategy.md -->
        <profile>
            <id>tests-integration</id>
            <activation>
                <property>
                    <name>runITs</name>
                    <value>true</value>
                </property>
            </activation>
            <modules>
                <module>browser4-tests/pulsar-it-tests</module>
            </modules>
            <properties>
                <!-- Integration tests can be Slow/Heavy - this is expected behavior
                     Integration tests CAN require Browser/AI/Docker for service collaboration
                     Only exclude E2E, and ManualOnly tests -->
                <surefire.excludedGroups>ManualOnly</surefire.excludedGroups>
            </properties>
        </profile>

        <profile>
            <id>tests-e2e</id>
            <activation>
                <property>
                    <name>runE2ETests</name>
                    <value>true</value>
                </property>
            </activation>
            <modules>
                <module>browser4-tests/pulsar-it-tests</module>
                <module>browser4-tests/pulsar-e2e-tests</module>
            </modules>
            <properties>
                <!-- E2E tests can be Heavy, RequiresBrowser, RequiresAI
                     Only exclude ManualOnly tests -->
                <surefire.excludedGroups>ManualOnly</surefire.excludedGroups>
            </properties>
        </profile>

        <profile>
            <id>tests-browser4</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <modules>
                <module>browser4-tests/browser4-rest-tests</module>
                <module>browser4-tests/pulsar-it-tests</module>
                <module>browser4-tests/pulsar-e2e-tests</module>
            </modules>
            <properties>
                <surefire.excludedGroups>ManualOnly</surefire.excludedGroups>
            </properties>
        </profile>

        <!-- CI profile -->
        <profile>
            <id>ci</id>
            <properties>
                <skipTests>false</skipTests>
                <maven.test.failure.ignore>false</maven.test.failure.ignore>
            </properties>
            <build>
                <plugins>
                    <!--用于 Maven 项目中收集和生成 Java 代码的测试覆盖率报告 -->
                    <!-- instruction covered ratio is expected minimum is 0.70 -->
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <version>${jacoco-maven-plugin.version}</version>
                        <executions>
                            <execution>
                                <id>report-aggregate</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>report-aggregate</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <dataFile>${project.build.directory}/jacoco.exec</dataFile>
                            <outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory>
                            <skip>false</skip>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- Quality gate: enforce a minimum JaCoCo coverage floor on the fast
             unit-test subset. Activate with -Pquality-gate (used by pr.yml).
             The instruction floor is a conservative STARTING point; raise it
             toward 0.50 and then 0.70 as coverage improves (see docs/TESTING.md).
             Modules with no tests produce no exec file and will fail the gate,
             which is the intended pressure to add coverage. -->
        <profile>
            <id>quality-gate</id>
            <build>
                <plugins>
                    <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>
                                <configuration>
                                    <propertyName>jacocoArgLine</propertyName>
                                </configuration>
                            </execution>
                            <execution>
                                <id>report</id>
                                <phase>test</phase>
                                <goals>
                                    <goal>report</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>check</id>
                                <phase>test</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                                <configuration>
                                    <haltOnFailure>true</haltOnFailure>
                                    <rules>
                                        <rule>
                                            <element>BUNDLE</element>
                                            <limits>
                                                <limit>
                                                    <counter>INSTRUCTION</counter>
                                                    <value>COVEREDRATIO</value>
                                                    <minimum>0.20</minimum>
                                                </limit>
                                            </limits>
                                        </rule>
                                    </rules>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- Deployment profile for publishing to Maven Central via Sonatype Central Portal.
             Combines with the parent POM's "release" profile (sources, GPG, checksums)
             and replaces javadoc with Dokka for Kotlin projects. -->
        <profile>
            <id>deploy</id>

            <build>
                <plugins>
                    <!-- Attach sources -->
                    <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>

                    <!-- Help maven-source-plugin works with kotlin -->
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <version>${version.build-helper-maven-plugin}</version>
                        <executions>
                            <execution>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>add-source</goal>
                                </goals>
                                <configuration>
                                    <sources>
                                        <source>src/main/kotlin</source>
                                    </sources>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <!-- Skip javadoc (use dokka instead for Kotlin) -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <configuration>
                            <skip>true</skip>
                        </configuration>
                    </plugin>

                    <!-- Use Dokka for Kotlin documentation -->
                    <plugin>
                        <groupId>org.jetbrains.dokka</groupId>
                        <artifactId>dokka-maven-plugin</artifactId>
                        <version>${dokka.version}</version>
                        <executions>
                            <execution>
                                <!-- generate javadoc.jar before package so gpg plugin can generate asc for it -->
                                <phase>prepare-package</phase>
                                <goals>
                                    <goal>dokka</goal>
                                    <goal>javadocJar</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <skip>false</skip>
                            <cacheRoot>default</cacheRoot>
                            <jdkVersion>${javaVersion}</jdkVersion>
                            <skipDeprecated>true</skipDeprecated>
                            <reportUndocumented>true</reportUndocumented>
                            <skipEmptyPackages>true</skipEmptyPackages>
                            <includeNonPublic>false</includeNonPublic>
                            <sourceDirectories>
                                <dir>${project.basedir}/src/main/kotlin</dir>
                            </sourceDirectories>
                        </configuration>
                    </plugin>

                    <!-- GPG signing -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <configuration>
                            <gpgArguments>
                                <arg>--pinentry-mode</arg>
                                <arg>loopback</arg>
                            </gpgArguments>
                        </configuration>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                    <!-- Publish to Sonatype Central Portal -->
                    <plugin>
                        <groupId>org.sonatype.central</groupId>
                        <artifactId>central-publishing-maven-plugin</artifactId>
                        <version>${central-publishing-maven-plugin.version}</version>
                        <extensions>true</extensions>
                        <configuration>
                            <publishingServerId>central</publishingServerId>
                            <autoPublish>true</autoPublish>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

    </profiles>

    <build>
        <defaultGoal>install</defaultGoal>

        <plugins>
            <!--  kotlin plugin should come before maven-compiler-plugin  -->

            <!--  kotlin  -->
            <plugin>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-maven-plugin</artifactId>
                <version>${kotlin.version}</version>
                <!-- You can set this option to automatically take information about lifecycles -->
                <extensions>true</extensions>
                <executions>
                    <execution>
                        <id>compile</id>
                        <phase>process-sources</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                        <configuration>
                            <sourceDirs>
                                <sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
                            </sourceDirs>
                        </configuration>
                    </execution>
                    <execution>
                        <id>test-compile</id>
                        <goals>
                            <goal>test-compile</goal>
                        </goals>
                        <configuration>
                            <sourceDirs>
                                <sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
                            </sourceDirs>
                        </configuration>
                    </execution>
                </executions>
                <!--  Required by spring  -->
                <dependencies>
                    <dependency>
                        <groupId>org.jetbrains.kotlin</groupId>
                        <artifactId>kotlin-maven-allopen</artifactId>
                        <version>${kotlin.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.jetbrains.kotlin</groupId>
                        <artifactId>kotlin-maven-noarg</artifactId>
                        <version>${kotlin.version}</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <args>
                        <arg>-Xjsr305=strict</arg>
                    </args>
                    <compilerPlugins>
                        <plugin>spring</plugin>
                        <plugin>jpa</plugin>
                        <plugin>all-open</plugin>
                    </compilerPlugins>
                    <pluginOptions>
                        <option>all-open:annotation=javax.persistence.Entity</option>
                        <option>all-open:annotation=javax.persistence.Embeddable</option>
                        <option>all-open:annotation=javax.persistence.MappedSuperclass</option>
                    </pluginOptions>
                    <jvmTarget>${kotlin.compiler.jvmTarget}</jvmTarget>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
            </plugin>

            <!--
            The Surefire Plugin is used during the test phase of the build lifecycle to execute the unit tests of
            an application.
            -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${version.maven-surefire}</version>
                <configuration>
                    <!--

                    -->
                    <excludedGroups>${surefire.excludedGroups}</excludedGroups>

                    <!-- All tests are in the same JVM process -->
                    <forkCount>1</forkCount>
                    <reuseForks>true</reuseForks>
                    <!-- Enable byte-buddy-agent. ${jacocoArgLine} is injected by the
                         quality-gate profile's prepare-agent; empty otherwise. -->
                    <argLine>${jacocoArgLine} -XX:+EnableDynamicAgentLoading -Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
                    <systemPropertyVariables>
                        <jdk.net.URLClassPath.disableClassPathURLCheck>true</jdk.net.URLClassPath.disableClassPathURLCheck>
                    </systemPropertyVariables>
                    <useModulePath>false</useModulePath>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>

            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-dependencies</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Internal Dependencies -->
            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-common</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-resources</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-resources</artifactId>
                <type>test-jar</type>
                <classifier>tests</classifier>
                <scope>test</scope>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-skeleton</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-plugins</artifactId>
                <type>pom</type>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-parse</artifactId>
                <version>${project.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jsoup</groupId>
                        <artifactId>*</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-protocol</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-browser</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-agentic</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-coding</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-agent-tools</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-rest</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>browser4-boot</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>pulsar-tests-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>ai.platon.pulsar</groupId>
                <artifactId>pulsar-tests-common</artifactId>
                <classifier>tests</classifier>
                <scope>test</scope>
                <version>${project.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-stdlib</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jetbrains.kotlinx</groupId>
            <artifactId>kotlinx-coroutines-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-test-junit5</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <properties>
        <!-- Suppress warning: [WARNING] Using platform encoding (GBK actually) to copy filtered resources -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <dokka.version>1.9.10</dokka.version>

        <jacoco-maven-plugin.version>0.8.15</jacoco-maven-plugin.version>
        <version.build-helper-maven-plugin>3.6.0</version.build-helper-maven-plugin>
        <central-publishing-maven-plugin.version>0.10.0</central-publishing-maven-plugin.version>

        <version.maven-assembly-plugin>3.8.0</version.maven-assembly-plugin>
        <version.maven-clean-plugin>3.5.0</version.maven-clean-plugin>
        <version.maven-compiler-plugin>3.14.1</version.maven-compiler-plugin>
        <version.maven-dependency-plugin>3.9.0</version.maven-dependency-plugin>
        <version.maven-deploy-plugin>3.1.4</version.maven-deploy-plugin>
        <version.maven-enforcer-plugin>3.6.2</version.maven-enforcer-plugin>
        <version.maven-gpg-plugin>3.2.8</version.maven-gpg-plugin>
        <version.maven-install-plugin>3.1.4</version.maven-install-plugin>
        <version.maven-jar-plugin>3.5.0</version.maven-jar-plugin>
        <version.maven-javadoc-plugin>3.12.0</version.maven-javadoc-plugin>
        <version.maven-remote-resources-plugin>3.3.0</version.maven-remote-resources-plugin>
        <version.maven-resources-plugin>3.4.0</version.maven-resources-plugin>
        <version.maven-scm-plugin>2.2.1</version.maven-scm-plugin>
        <version.maven-shade-plugin>3.6.1</version.maven-shade-plugin>
        <version.maven-source-plugin>3.4.0</version.maven-source-plugin>
        <version.maven-surefire>3.5.4</version.maven-surefire>

        <!-- Test execution control properties -->
        <runITs>false</runITs>
        <runE2ETests>false</runE2ETests>
        <runCoreTests>false</runCoreTests>
        <runRestTests>false</runRestTests>

        <!-- Default excludedGroups: exclude all non-Fast tests.
             New taxonomy tags are preferred; the legacy tags below are still in
             use by existing tests and must stay excluded until those tests are
             migrated (see docs/TESTING.md). Unused legacy tags
             (SkippableLowerLevelTest, OptionalTest) were removed because no test
             references them anymore. -->
        <surefire.excludedGroups>
            Slow,Heavy,RequiresServer,RequiresBrowser,RequiresAI,RequiresDocker,
            Integration,E2E,ManualOnly,
            TestInfraCheck,
            IntegrationTest,E2ETest,HeavyTest
        </surefire.excludedGroups>

        <!-- Populated by the quality-gate profile's JaCoCo prepare-agent; empty
             by default so Surefire's argLine is unaffected when coverage is off. -->
        <jacocoArgLine></jacocoArgLine>

        <!--  Language  -->
        <javaVersion>25</javaVersion>
        <kotlin.coroutine.version>1.10.2</kotlin.coroutine.version>

        <!--  Kotlin  -->
        <kotlin.version>2.3.21</kotlin.version>
        <maven.compiler.release>${javaVersion}</maven.compiler.release>
        <kotlin.compiler.jvmTarget>${javaVersion}</kotlin.compiler.jvmTarget>

        <spring-boot.version>4.0.6</spring-boot.version>
        <browser4-base.version>4.11.8</browser4-base.version>

        <mcp-sdk.version>0.8.1</mcp-sdk.version>
        <git-commit-id-maven-plugin.version>9.0.1</git-commit-id-maven-plugin.version>
    </properties>

</project>

