<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~    http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  ~
  -->

<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>org.apache.streampipes</groupId>
		<artifactId>streampipes-parent</artifactId>
		<version>0.90.0</version>
	</parent>

	<artifactId>streampipes-model-client</artifactId>
	<packaging>jar</packaging>

	<dependencies>
		<!-- StreamPipes dependencies -->
		<dependency>
			<groupId>org.apache.streampipes</groupId>
			<artifactId>streampipes-commons</artifactId>
			<version>0.90.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.streampipes</groupId>
			<artifactId>streampipes-model-shared</artifactId>
			<version>0.90.0</version>
		</dependency>

		<!-- External dependencies -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
		</dependency>
		<dependency>
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>cz.habarta.typescript-generator</groupId>
				<artifactId>typescript-generator-maven-plugin</artifactId>
				<version>2.27.744</version>
				<executions>
					<execution>
						<id>generate</id>
						<goals>
							<goal>generate</goal>
						</goals>
						<phase>process-classes</phase>
					</execution>
				</executions>
				<configuration>
					<jsonLibrary>jackson2</jsonLibrary>
					<classesWithAnnotations>
						<annotation>org.apache.streampipes.model.shared.annotation.TsModel</annotation>
					</classesWithAnnotations>
					<excludePropertyAnnotations>
						<annotation>org.apache.streampipes.model.shared.annotation.TsIgnore</annotation>
					</excludePropertyAnnotations>
					<excludeClasses>
						<class>io.fogsy.empire.core.empire.SupportsRdfId</class>
						<class>java.io.Serializable</class>
					</excludeClasses>
					<outputKind>module</outputKind>
					<outputFileType>implementationFile</outputFileType>
					<outputKind>module</outputKind>
					<disableTaggedUnions>false</disableTaggedUnions>
					<mapClasses>asClasses</mapClasses>
					<sortDeclarations>true</sortDeclarations>
					<tsNoCheck>true</tsNoCheck>
					<extensions>
						<extension>cz.habarta.typescript.generator.ext.JsonDeserializationExtension</extension>
					</extensions>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
