karate-core
Used in
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.karatelabs</groupId> <artifactId>karate-core</artifactId> <version>1.5.1</version> </dependency>
<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>io.karatelabs</groupId> <artifactId>karate-parent</artifactId> <version>1.5.1</version> </parent> <artifactId>karate-core</artifactId> <packaging>jar</packaging> <properties> <antlr.version>4.13.1</antlr.version> <graal.version>24.0.0</graal.version> </properties> <dependencies> <dependency> <groupId>org.graalvm.js</groupId> <artifactId>js-scriptengine</artifactId> <version>${graal.version}</version> </dependency> <dependency> <groupId>org.graalvm.js</groupId> <artifactId>js-language</artifactId> <version>${graal.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf</artifactId> <version>3.1.2.RELEASE</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.linecorp.armeria</groupId> <artifactId>armeria</artifactId> <version>1.31.3</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.14</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <!-- can be removed once httpclient is upgraded --> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.16.1</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.5.4</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <!-- this is tied to logback-classic --> <version>2.0.12</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <!-- this is tied to logback-classic --> <version>2.0.12</version> </dependency> <dependency> <groupId>org.antlr</groupId> <artifactId>antlr4-runtime</artifactId> <version>${antlr.version}</version> </dependency> <dependency> <groupId>com.jayway.jsonpath</groupId> <artifactId>json-path</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>net.minidev</groupId> <artifactId>json-smart</artifactId> <version>2.5.1</version> </dependency> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>de.siegmar</groupId> <artifactId>fastcsv</artifactId> <version>3.4.0</version> </dependency> <dependency> <groupId>info.picocli</groupId> <artifactId>picocli</artifactId> <version>4.7.6</version> </dependency> <dependency> <groupId>io.github.classgraph</groupId> <artifactId>classgraph</artifactId> <version>4.8.179</version> </dependency> <dependency> <groupId>io.github.t12y</groupId> <artifactId>resemble</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>io.github.t12y</groupId> <artifactId>ssim</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>${junit5.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/java</directory> <filtering>true</filtering> <includes> <include>karate-meta.properties</include> </includes> </resource> <resource> <directory>src/main/java</directory> <filtering>false</filtering> <includes> <include>**/*</include> </includes> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> <testResources> <testResource> <directory>src/test/java</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </testResource> </testResources> <plugins> <plugin> <groupId>org.antlr</groupId> <artifactId>antlr4-maven-plugin</artifactId> <version>${antlr.version}</version> <executions> <execution> <goals> <goal>antlr4</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>pre-release</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.6.1</version> <executions> <execution> <id>unpack-dependencies</id> <phase>validate</phase> <goals> <goal>unpack-dependencies</goal> </goals> <configuration> <includes>/META-INF/native/*</includes> <outputDirectory>target/shade</outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>${maven.shade.version}</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <shadedArtifactAttached>true</shadedArtifactAttached> <shadedClassifierName>all</shadedClassifierName> <createDependencyReducedPom>false</createDependencyReducedPom> <artifactSet> <includes> <include>com.linecorp.armeria:*</include> <!-- next 3 needed for armeria at runtime --> <include>io.micrometer:*</include> <include>org.reactivestreams:*</include> <include>com.fasterxml.jackson.core:*</include> <include>io.netty:*</include> <include>org.apache.httpcomponents:*</include> <!-- needed for apache httpclient at runtime --> <include>commons-codec:*</include> <include>org.thymeleaf:*</include> <!-- next 2 needed for thymeleaf at runtime --> <include>org.attoparser:*</include> <include>org.unbescape:*</include> <include>org.antlr:*</include> <include>io.github.classgraph:*</include> </includes> </artifactSet> <relocations> <relocation> <pattern>com.linecorp.</pattern> <shadedPattern>karate.com.linecorp.</shadedPattern> </relocation> <relocation> <pattern>io.micrometer.</pattern> <shadedPattern>karate.io.micrometer.</shadedPattern> </relocation> <relocation> <pattern>org.reactivestreams.</pattern> <shadedPattern>karate.org.reactivestreams.</shadedPattern> </relocation> <relocation> <pattern>com.fasterxml.jackson.</pattern> <shadedPattern>karate.com.fasterxml.jackson.</shadedPattern> </relocation> <relocation> <pattern>io.netty.</pattern> <shadedPattern>karate.io.netty.</shadedPattern> </relocation> <relocation> <pattern>org.apache.http.</pattern> <shadedPattern>karate.org.apache.http.</shadedPattern> </relocation> <relocation> <pattern>org.apache.commons.codec.</pattern> <shadedPattern>karate.org.apache.commons.codec.</shadedPattern> </relocation> <relocation> <pattern>org.thymeleaf.</pattern> <shadedPattern>karate.org.thymeleaf.</shadedPattern> </relocation> <relocation> <pattern>org.attoparser.</pattern> <shadedPattern>karate.org.attoparser.</shadedPattern> </relocation> <relocation> <pattern>org.unbescape.</pattern> <shadedPattern>karate.org.unbescape.</shadedPattern> </relocation> <relocation> <pattern>org.antlr.v4.</pattern> <shadedPattern>karate.org.antlr.v4.</shadedPattern> </relocation> <relocation> <pattern>io.github.classgraph.</pattern> <shadedPattern>karate.io.github.classgraph.</shadedPattern> </relocation> <relocation> <pattern>nonapi.io.github.classgraph.</pattern> <shadedPattern>karate.nonapi.io.github.classgraph.</shadedPattern> </relocation> </relocations> <filters> <filter> <artifact>io.netty:netty-transport-native-epoll</artifact> <excludes> <exclude>META-INF/native/libnetty_transport_native_epoll_x86_64.so</exclude> </excludes> </filter> <filter> <artifact>io.netty:netty-tcnative-boringssl-static</artifact> <excludes> <exclude>META-INF/native/libnetty_tcnative_linux_x86_64.so</exclude> <exclude>META-INF/native/libnetty_tcnative_linux_aarch64.so</exclude> <exclude>META-INF/native/libnetty_tcnative_osx_x86_64.jnilib</exclude> <exclude>META-INF/native/netty_tcnative_windows_x86_64.dll</exclude> </excludes> </filter> </filters> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.intuit.karate.Main</mainClass> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> <resource>META-INF/native/libkarate_netty_transport_native_epoll_x86_64.so</resource> <file>target/shade/META-INF/native/libnetty_transport_native_epoll_x86_64.so</file> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> <resource>META-INF/native/libkarate_netty_tcnative_linux_x86_64.so</resource> <file>target/shade/META-INF/native/libnetty_tcnative_linux_x86_64.so</file> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> <resource>META-INF/native/libkarate_netty_tcnative_linux_aarch64.so</resource> <file>target/shade/META-INF/native/libnetty_tcnative_linux_aarch64.so</file> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> <resource>META-INF/native/libkarate_netty_tcnative_osx_x86_64.jnilib</resource> <file>target/shade/META-INF/native/libnetty_tcnative_osx_x86_64.jnilib</file> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer"> <resource>META-INF/native/karate_netty_tcnative_windows_x86_64.dll</resource> <file>target/shade/META-INF/native/netty_tcnative_windows_x86_64.dll</file> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>fatjar</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>${maven.shade.version}</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <finalName>karate-${project.version}</finalName> <artifactSet> <includes> <include>*:*</include> </includes> </artifactSet> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.intuit.karate.Main</mainClass> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>smoke</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${maven.surefire.version}</version> <configuration> <excludes> <exclude>**/MockSslTest.java</exclude> <exclude>**/ProxyServerTest.java</exclude> <exclude>**/ProxyServerSslTest.java</exclude> </excludes> </configuration> </plugin> </plugins> </build> </profile> </profiles> </project>