<?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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>com.dylibso.chicory</groupId>
    <artifactId>chicory</artifactId>
    <version>0.0.9</version>
    <relativePath>../pom.xml</relativePath>
  </parent>
  <artifactId>runtime</artifactId>
  <packaging>jar</packaging>
  <name>Chicory - Runtime</name>
  <description>Native JVM WebAssembly runtime</description>

  <dependencies>
    <dependency>
      <groupId>com.dylibso.chicory</groupId>
      <artifactId>log</artifactId>
    </dependency>
    <dependency>
      <groupId>com.dylibso.chicory</groupId>
      <artifactId>wasm</artifactId>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
    </dependency>
  </dependencies>

  <build>
    <testResources>
      <testResource>
        <directory>${project.basedir}/../wasm-corpus/src/test/resources</directory>
      </testResource>
    </testResources>

    <plugins>
      <plugin>
        <groupId>com.dylibso.chicory</groupId>
        <artifactId>test-gen-plugin</artifactId>
        <version>${project.version}</version>
        <configuration>
          <wastToProcess>func.wast,
            labels.wast,
            i32.wast,
            i64.wast,
            f32.wast,
            f64.wast,
            return.wast,
            local_get.wast,
            local_set.wast,
            local_tee.wast,
            memory.wast,
            names.wast,
            load.wast,
            address.wast,
            const.wast,
            align.wast,
            int_literals.wast,
            int_exprs.wast,
            endianness.wast,
            f32_bitwise.wast,
            f64_bitwise.wast,
            f32_cmp.wast,
            f64_cmp.wast,
            float_misc.wast,
            fac.wast,
            forward.wast,
            float_literals.wast,
            br.wast,
            br_if.wast,
            br_table.wast,
            conversions.wast,
            if.wast,
            table.wast,
            binary-leb128.wast,
            binary.wast,
            left-to-right.wast,
            tokens.wast,
            type.wast,
            func_ptrs.wast,
            ref_null.wast</wastToProcess>
          <orderedWastToProcess>select.wast,
            float_memory.wast,
            memory_copy.wast,
            func.wast,
            switch.wast,
            memory_grow.wast,
            memory_size.wast,
            stack.wast,
            call.wast,
            call_indirect.wast,
            block.wast,
            memory_init.wast,
            memory_fill.wast,
            memory_redundancy.wast,
            memory_trap.wast,
            data.wast,
            loop.wast,
            nop.wast,
            float_exprs.wast,
            global.wast,
            imports.wast,
            unwind.wast,
            table_get.wast,
            table_set.wast,
            bulk.wast,
            table_init.wast,
            table_copy.wast,
            table_fill.wast,
            table_grow.wast,
            table_size.wast,
            ref_func.wast,
            store.wast,
            start.wast,
            ref_is_null.wast</orderedWastToProcess>
          <excludedTests>
            <!-- Init Active/Passive segments -->
            SpecV1BulkTest.test79, SpecV1BulkTest.test81, SpecV1BulkTest.test83,
            SpecV1BulkTest.test85,
            <!-- Invalid and Malformed failures, can be ignored for now -->
            SpecV1AddressTest.test75, SpecV1AddressTest.test76,
            SpecV1AddressTest.test77, SpecV1AddressTest.test78, SpecV1AddressTest.test79,
            SpecV1AddressTest.test80, SpecV1AddressTest.test86, SpecV1AddressTest.test87,
            SpecV1AddressTest.test88, SpecV1AddressTest.test89, SpecV1AddressTest.test90,
            SpecV1AddressTest.test197, SpecV1AddressTest.test198, SpecV1AddressTest.test199,
            SpecV1AddressTest.test200, SpecV1AddressTest.test201, SpecV1AddressTest.test202,
            SpecV1AddressTest.test203, SpecV1AddressTest.test211, SpecV1AddressTest.test212,
            SpecV1AddressTest.test213, SpecV1AddressTest.test214, SpecV1AddressTest.test217,
            SpecV1AddressTest.test233, SpecV1AddressTest.test234, SpecV1AddressTest.test236,
            SpecV1AddressTest.test252, SpecV1AddressTest.test253, SpecV1AddressTest.test255
          </excludedTests>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>wasm-test-gen</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>
