<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">
  <parent>
    <artifactId>optaplanner-wb</artifactId>
    <groupId>org.optaplanner</groupId>
    <version>7.0.0.CR2</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>

  <artifactId>optaplanner-wb-upstream-model</artifactId>
  <packaging>jar</packaging>

  <name>OptaPlanner Workbench - Upstream Model</name>
  <description>OptaPlanner Workbench - Upstream Model</description>

  <dependencies>

    <!-- Transitive dependencies -->
    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-codegen</artifactId>
    </dependency>

    <!-- Regular dependencies -->
    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-marshalling</artifactId>
    </dependency>
    <dependency>
      <groupId>org.optaplanner</groupId>
      <artifactId>optaplanner-core</artifactId>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>unpack</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>unpack-dependencies</goal>
            </goals>
            <configuration>
              <includeGroupIds>org.optaplanner</includeGroupIds>
              <includeArtifactIds>optaplanner-core</includeArtifactIds>
              <classifier>sources</classifier>
              <outputDirectory>${project.build.directory}/upstream-dependencies</outputDirectory>
              <overWriteReleases>true</overWriteReleases>
              <overWriteSnapshots>true</overWriteSnapshots>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>

    <!--Include classes and resources reused by client-side of the workbench -->
    <resources>
      <resource>
        <directory>${project.build.directory}/upstream-dependencies</directory>
        <includes>
          <include>org/optaplanner/core/api/score/AbstractScore.java</include>
          <include>org/optaplanner/core/api/score/AbstractBendableScore.java</include>
          <include>org/optaplanner/core/api/score/FeasibilityScore.java</include>
          <include>org/optaplanner/core/api/score/Score.java</include>
          <include>org/optaplanner/core/api/score/buildin/bendable/BendableScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/bendablebigdecimal/BendableBigDecimalScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/bendablelong/BendableLongScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/hardmediumsoft/HardMediumSoftScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/hardmediumsoftbigdecimal/HardMediumSoftBigDecimalScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/hardmediumsoftlong/HardMediumSoftLongScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/hardsoft/HardSoftScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/hardsoftbigdecimal/HardSoftBigDecimalScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/hardsoftdouble/HardSoftDoubleScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/hardsoftlong/HardSoftLongScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/simple/SimpleScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/simplebigdecimal/SimpleBigDecimalScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/simpledouble/SimpleDoubleScore.java</include>
          <include>org/optaplanner/core/api/score/buildin/simplelong/SimpleLongScore.java</include>
          <include>org/optaplanner/core/config/constructionheuristic/ConstructionHeuristicType.java</include>
          <include>org/optaplanner/core/config/heuristic/selector/entity/EntitySorterManner.java</include>
          <include>org/optaplanner/core/config/heuristic/selector/value/ValueSorterManner.java</include>
          <include>org/optaplanner/core/config/localsearch/LocalSearchType.java</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
    </resources>
  </build>

</project>
