<?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">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.ai</groupId>
		<artifactId>spring-ai</artifactId>
		<version>1.0.0-SNAPSHOT</version>
		<relativePath>../../pom.xml</relativePath>
	</parent>
	<artifactId>spring-ai-huggingface</artifactId>
	<packaging>jar</packaging>
	<name>Spring AI Model - HuggingFace</name>
	<description>HuggingFace models support</description>
	<url>https://github.com/spring-projects/spring-ai</url>

	<scm>
		<url>https://github.com/spring-projects/spring-ai</url>
		<connection>git://github.com/spring-projects/spring-ai.git</connection>
		<developerConnection>git@github.com:spring-projects/spring-ai.git</developerConnection>
	</scm>

	<dependencies>

		<!-- production dependencies -->
		<dependency>
			<groupId>org.springframework.ai</groupId>
			<artifactId>spring-ai-core</artifactId>
			<version>${project.parent.version}</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/io.swagger.core.v3/swagger-annotations -->
		<dependency>
			<groupId>io.swagger.core.v3</groupId>
			<artifactId>swagger-annotations</artifactId>
			<version>2.2.15</version>
		</dependency>

		<dependency>
			<groupId>javax.annotation</groupId>
			<artifactId>javax.annotation-api</artifactId>
			<version>1.3.2</version>
		</dependency>


		<!-- Spring Framework -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-logging</artifactId>
		</dependency>

		<!-- test dependencies -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>io.swagger.codegen.v3</groupId>
				<artifactId>swagger-codegen-maven-plugin</artifactId>
				<version>3.0.46</version>
				<executions>
					<execution>
						<goals>
							<goal>generate</goal>
						</goals>
						<configuration>
							<inputSpec>${project.basedir}/src/main/resources/openapi.json</inputSpec>
							<language>java</language>
							<library>resttemplate</library>
							<apiPackage>org.springframework.ai.huggingface.api</apiPackage>
							<modelPackage>org.springframework.ai.huggingface.model</modelPackage>
							<invokerPackage>org.springframework.ai.huggingface.invoker</invokerPackage>
							<generateApiTests>false</generateApiTests>
							<generateModelTests>false</generateModelTests>
							<configOptions>
								<sourceFolder>src/main/java</sourceFolder>
								<dateLibrary>java8</dateLibrary>
								<!-- jackson secret sauce!! -->
								<notNullJacksonAnnotation>true</notNullJacksonAnnotation>
							</configOptions>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<!-- a hint for IDE's to add the java sources to the classpath -->
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<version>3.4.0</version>
				<executions>
					<execution>
						<id>01-add-test-sources</id>
						<phase>generate-sources</phase>
						<goals>
							<goal>add-source</goal>
						</goals>
						<configuration>
							<sources>
								<source>${project.build.directory}/generated-sources/swagger/src/main/java</source>
							</sources>
						</configuration>
					</execution>
				</executions>
			</plugin>

		</plugins>
	</build>

</project>
