<?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/maven-v4_0_0.xsd">
  <parent>
    <groupId>org.neo4j</groupId>
    <artifactId>parent</artifactId>
    <version>3.5.0</version>
    <relativePath>../..</relativePath>
  </parent>

  <properties>
    <license-text.header>headers/GPL-3-header.txt</license-text.header>
    <licensing.prepend.text>licensing/notice-gpl-prefix.txt</licensing.prepend.text>
    <moduleName>org.neo4j.codegen</moduleName>
  </properties>

  <modelVersion>4.0.0</modelVersion>
  <artifactId>neo4j-codegen</artifactId>
  <version>3.5.0</version>

  <packaging>jar</packaging>
  <name>Neo4j - Code Generator</name>
  <description>Simple library for generating code.</description>
  <url>http://components.neo4j.org/${project.artifactId}/${project.version}</url>

  <scm>
    <connection>scm:git:git://github.com/neo4j/neo4j.git</connection>
    <developerConnection>scm:git:git@github.com:neo4j/neo4j.git</developerConnection>
    <url>https://github.com/neo4j/neo4j</url>
  </scm>

  <licenses>
    <license>
      <name>GNU General Public License, Version 3</name>
      <url>http://www.gnu.org/licenses/gpl-3.0-standalone.html</url>
      <comments>The software ("Software") developed and owned by Neo4j Sweden AB (referred to in this notice as "Neo4j") is
licensed under the GNU GENERAL PUBLIC LICENSE Version 3 to all third
parties and that license is included below.

However, if you have executed an End User Software License and Services
Agreement or an OEM Software License and Support Services Agreement, or
another commercial license agreement with Neo4j or one of its
affiliates (each, a "Commercial Agreement"), the terms of the license in
such Commercial Agreement will supersede the GNU GENERAL PUBLIC LICENSE
Version 3 and you may use the Software solely pursuant to the terms of
the relevant Commercial Agreement.
      </comments>
    </license>
  </licenses>

    <dependencies>
        <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm</artifactId>
            <version>${asm.version}</version>
        </dependency>
        <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm-util</artifactId>
            <version>${asm.version}</version>
        </dependency>
        <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm-analysis</artifactId>
            <version>${asm.version}</version>
        </dependency>
        <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm-tree</artifactId>
            <version>${asm.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-text</artifactId>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-migrationsupport</artifactId>
        </dependency>
        <dependency>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.neo4j</groupId>
            <artifactId>neo4j-values</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>

  <build>
    <plugins>
      <plugin>
        <!--
         The ASM library is notorious for making breaking changes to their API, so
         we shade (embed) it under an org.neo4j package root to avoid version clashes.
        -->
        <executions>
          <execution>
            <id>build-shaded-jar</id>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
          </execution>
        </executions>
        <artifactId>maven-shade-plugin</artifactId>
        <groupId>org.apache.maven.plugins</groupId>
        <configuration>
          <artifactSet>
            <includes>
              <include>org.ow2.asm:*</include>
            </includes>
          </artifactSet>
          <relocations>
            <relocation>
              <pattern>org.objectweb.asm</pattern>
              <shadedPattern>org.neo4j.codegen.asm</shadedPattern>
            </relocation>
          </relocations>
          <createDependencyReducedPom>false</createDependencyReducedPom>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
