eo-runtime
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.eolang</groupId> <artifactId>eo-runtime</artifactId> <version>0.56.9</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- * SPDX-FileCopyrightText: Copyright (c) 2016-2025 Objectionary.com * SPDX-License-Identifier: MIT --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:eo="http://maven.apache.org/POM/4.0.0" 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.eolang</groupId> <artifactId>eo-parent</artifactId> <version>0.56.9</version> </parent> <artifactId>eo-runtime</artifactId> <packaging>jar</packaging> <name>eo-runtime</name> <description>EO runtime library</description> <properties> <!-- This is required for later correct replacement of argline --> <argLine/> </properties> <dependencies> <dependency> <!-- This dependency is required by the javadoc plugin. In the eo-runtime, we use classes from this JAR, but can't have it as a normal dependency. That's why the scope is "provided" here: it won't become a transitive one, but at the same time will satisfy javadoc plugin. --> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>5.17.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <version>2.0.17</version> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>2.0.17</version> <scope>test</scope> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.5.18</version> <scope>test</scope> </dependency> <dependency> <groupId>org.eolang</groupId> <artifactId>xax</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>com.yegor256</groupId> <artifactId>jaxec</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>com.yegor256</groupId> <artifactId>jhome</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>com.jcabi</groupId> <artifactId>jcabi-log</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>com.jcabi</groupId> <artifactId>jcabi-xml</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>com.jcabi</groupId> <artifactId>jcabi-manifests</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>org.cactoos</groupId> <artifactId>cactoos</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>org.llorllale</groupId> <artifactId>cactoos-matchers</artifactId> <version>0.25</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>org.junit-pioneer</groupId> <artifactId>junit-pioneer</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>com.yegor256</groupId> <artifactId>jping</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>net.sf.saxon</groupId> <artifactId>Saxon-HE</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>com.yegor256</groupId> <artifactId>farea</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>com.yegor256</groupId> <artifactId>mktmp</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>com.yegor256</groupId> <artifactId>together</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>com.yegor256</groupId> <artifactId>maybeslow</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>org.eolang</groupId> <artifactId>jucs</artifactId> <!-- version from parent POM --> <scope>test</scope> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>io.github.artsok</groupId> <artifactId>rerunner-jupiter</artifactId> <version>2.1.6</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>${skipUTs}</skipTests> <runOrder>random</runOrder> <argLine> @{argLine} -Xmx${heap-size} -Xss${stack-size} -Duser.language=ru -Duser.region=RU </argLine> <systemPropertyVariables> <eo.version>${project.version}</eo.version> <java.util.logging.config.file> ${project.basedir}/src/test/resources/jul.properties </java.util.logging.config.file> </systemPropertyVariables> <!-- Default surefire plugin corrupts native stdout. It means the text that was printed in native method will not be printed in 'mvn clean install'. This configuration switches surefire communication channel from default to TCP/IP and solves the bug. More detailed: https://stackoverflow.com/questions/55272870/surefire-maven-plugin-corrupted-stdout-by-directly-writing-to-native-stream-in and https://maven.apache.org/surefire/maven-surefire-plugin/examples/process-communication.html--> <forkNode implementation="org.apache.maven.plugin.surefire.extensions.SurefireForkNodeFactory"/> <properties> <configurationParameters> junit.jupiter.execution.parallel.enabled = true junit.jupiter.execution.parallel.mode.default = concurrent junit.jupiter.execution.parallel.mode.classes.default = concurrent </configurationParameters> </properties> </configuration> </plugin> <plugin> <groupId>org.eolang</groupId> <artifactId>eo-maven-plugin</artifactId> <version>${project.version}</version> <configuration> <foreign>${project.build.directory}/eo-foreign.csv</foreign> <foreignFormat>csv</foreignFormat> <failOnWarning>true</failOnWarning> <offline>true</offline> <unphiOutputDir>${project.build.directory}/eo/unphi</unphiOutputDir> <skipLinting>true</skipLinting> </configuration> <executions> <execution> <id>compile</id> <goals> <goal>register</goal> <goal>compile</goal> <goal>transpile</goal> <goal>xmir-to-phi</goal> <goal>unplace</goal> <goal>unspile</goal> </goals> <configuration> <skipLinting>false</skipLinting> <failOnWarning>true</failOnWarning> <ignoreRuntime>true</ignoreRuntime> <!-- @todo #4148:35min Enable `lintAsPackage` below and fix all warnings that will be reported (there will be many of them), so that we can enable it in the `test-compile` execution as well: --> <lintAsPackage>false</lintAsPackage> <skipSourceLints> <!-- Required to be skipped, since we in runtime origin library. --> <lint>prohibited-package</lint> <!-- @todo #4148:35min Enable `unused-void-attr` lint. We should enable this lint after the following issue with magic voids will be resolved: https://github.com/objectionary/lints/issues/574. Don't forget to enable `unused-void-attr` in the `test–compile` execution as well. --> <lint>unused-void-attr</lint> <!-- @todo #4148:35min Enable `duplicate-names-in-diff-context` lint. For now its too pedantic. See this: https://github.com/objectionary/lints/issues/578. Also, we should fix the bug with false positives with lambda object names in the atoms, in order to enable this lint. --> <lint>duplicate-names-in-diff-context</lint> <!-- @todo #4157:60min Enable `redundant-object` lint after several fixes. Currently, it has multiple false-positives, that are reported here: https://github.com/objectionary/lints/issues/606, https://github.com/objectionary/lints/issues/607, and https://github.com/objectionary/lints/issues/609. After all of them will be fixed, we should enable lint. Don't forget to enable it in the `test-compile` execution too. --> <lint>redundant-object</lint> <!-- @todo #4096:35min Enable `sparse-decoration` lint. After we merged EO tests together with their source objects, and removed `+tests` meta, we have complains about sparse-decoration. Let's adjust and enable it. --> <lint>sparse-decoration</lint> </skipSourceLints> <keepBinaries> <glob>EOorg/package-info.class</glob> <glob>EOorg/EOeolang/package-info.class</glob> <glob>EOorg/EOeolang/EOfs/package-info.class</glob> <glob>EOorg/EOeolang/EOmath/package-info.class</glob> <glob>EOorg/EOeolang/EOsys/package-info.class</glob> <glob>EOorg/EOeolang/EOtxt/package-info.class</glob> </keepBinaries> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> <id>snippet-test</id> <phase>integration-test</phase> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> <configuration> <argLine> @{argLine} -Xmx${heap-size} -Xss${stack-size} -Duser.language=ru -Duser.region=RU </argLine> <systemPropertyVariables combine.children="append"> <java.class.path>${project.build.outputDirectory}</java.class.path> <xmir.xsd>${project.basedir}/../eo-parser/src/main/resources/XMIR.xsd</xmir.xsd> </systemPropertyVariables> </configuration> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>jacoco</id> <build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <executions> <execution> <id>jacoco-initialize</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>jacoco-check</id> <phase>test</phase> <goals> <goal>check</goal> <goal>report</goal> </goals> <configuration> <rules> <rule> <element>BUNDLE</element> <limits> <limit> <counter>INSTRUCTION</counter> <value>COVEREDRATIO</value> <minimum>0.14</minimum> </limit> <limit> <counter>LINE</counter> <value>COVEREDRATIO</value> <minimum>0.13</minimum> </limit> <limit> <counter>BRANCH</counter> <value>COVEREDRATIO</value> <minimum>0.03</minimum> </limit> <limit> <counter>COMPLEXITY</counter> <value>COVEREDRATIO</value> <minimum>0.08</minimum> </limit> <limit> <counter>METHOD</counter> <value>COVEREDRATIO</value> <minimum>0.12</minimum> </limit> <limit> <counter>CLASS</counter> <value>MISSEDCOUNT</value> <maximum>1514</maximum> </limit> </limits> </rule> </rules> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>qulice</id> <build> <plugins> <plugin> <groupId>org.eolang</groupId> <artifactId>eo-maven-plugin</artifactId> <configuration> <skipLinting>false</skipLinting> </configuration> </plugin> <plugin> <groupId>com.qulice</groupId> <artifactId>qulice-maven-plugin</artifactId> <configuration> <excludes> <exclude>dependencies:org.eolang:eo-maven-plugin</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.codehaus.gmaven</groupId> <artifactId>groovy-maven-plugin</artifactId> <version>2.1.1</version> <executions> <execution> <id>project-validate</id> <phase>verify</phase> <goals> <goal>execute</goal> </goals> <configuration> <source>${project.basedir}/src/test/groovy/verify.groovy</source> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-xml</artifactId> <version>3.0.25</version> </dependency> </dependencies> </plugin> </plugins> </build> </profile> <profile> <id>hone</id> <properties> <hone.version>0.0.24</hone.version> </properties> <build> <plugins> <plugin> <groupId>org.eolang</groupId> <artifactId>hone-maven-plugin</artifactId> <version>${hone.version}</version> <executions> <execution> <goals> <goal>pull</goal> <goal>shake</goal> <goal>rmi</goal> </goals> <configuration> <image>yegor256/hone:${hone.version}</image> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>