<?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>tools.vitruv</groupId>
    <artifactId>tools.vitruv.cli</artifactId>
    <version>3.2.3</version>
  </parent>

  <artifactId>tools.vitruv.cli.cli</artifactId>


  <name>Vitruv command line interface</name>
  <description>The command line interface for filling out the methodologist template</description>

  <properties>
    <!-- SonarQube configuration -->
    <sonar.host.url>https://sonarcloud.io</sonar.host.url>
    <sonar.organization>vitruv-tools</sonar.organization>
    <sonar.projectKey>vitruv-tools_Vitruv-CLI</sonar.projectKey>
  </properties>

  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>templates/*.ftl</include>
        </includes>
      </resource>
    </resources>
    <defaultGoal>install</defaultGoal>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.3.1</version>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <mainClass>tools.vitruv.cli.CLI</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
          <archive>
            <manifest>
              <mainClass>tools.vitruv.cli.CLI</mainClass>
            </manifest>
          </archive>
        </configuration>
        <executions>
          <execution>
            <id>make-my-jar-with-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>


  <dependencies>
    <!-- project dependencies -->
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>tools.vitruv.framework.views</artifactId>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>tools.vitruv.framework.vsum</artifactId>
    </dependency>

    <!-- Vitruvius dependencies -->
    <dependency>
      <groupId>tools.vitruv</groupId>
      <artifactId>tools.vitruv.change.utils</artifactId>
    </dependency>
    <dependency>
      <groupId>tools.vitruv</groupId>
      <artifactId>tools.vitruv.dsls.reactions.runtime</artifactId>
    </dependency>
    <dependency>
      <groupId>tools.vitruv</groupId>
      <artifactId>tools.vitruv.change.composite</artifactId>
    </dependency>
    <dependency>
      <groupId>tools.vitruv</groupId>
      <artifactId>tools.vitruv.change.interaction.model</artifactId>
    </dependency>
    <dependency>
      <groupId>tools.vitruv</groupId>
      <artifactId>tools.vitruv.change.atomic</artifactId>
    </dependency>
    <dependency>
      <groupId>tools.vitruv</groupId>
      <artifactId>tools.vitruv.change.testutils.integration</artifactId>
    </dependency>
    <dependency>
      <groupId>tools.vitruv</groupId>
      <artifactId>tools.vitruv.server.remote</artifactId>
    </dependency>


    <!-- external dependencies -->
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.emf</groupId>
      <artifactId>org.eclipse.emf.common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.emf</groupId>
      <artifactId>org.eclipse.emf.ecore</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.emf</groupId>
      <artifactId>org.eclipse.emf.codegen.ecore</artifactId>
    </dependency>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>tools.vitruv.framework.p2wrappers.emfutils</artifactId>
      <version>3.2.2</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.emfcloud</groupId>
      <artifactId>emfjson-jackson</artifactId>
    </dependency>
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-core</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-cli</groupId>
      <artifactId>commons-cli</artifactId>
      <version>1.9.0</version>
    </dependency>

    <!-- external test dependencies -->
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-params</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-commons</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-launcher</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.freemarker</groupId>
      <artifactId>freemarker</artifactId>
    </dependency>
  </dependencies>
</project>