<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>
	<groupId>org.nasdanika</groupId>
	<version>2025.6.0</version>
	<artifactId>cli-launcher</artifactId>
	<packaging>jar</packaging>
	<name>Nasdanika CLI launcher</name>
	<description>Launcher of Nasdanika Command Line Interface. Builds a distribution.</description>

	<licenses>
		<license>
			<name>Eclipse Public License 2.0</name>
			<url>https://www.nasdanika.org/builds/master/eclipse-public-license-2.0.html</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<scm>
		<url>https://github.com/Nasdanika/cli</url>
	</scm>

	<url>https://github.com/Nasdanika/cli</url>	

	<dependencies>

        <!-- Forcing SLF4j version -->	
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.17</version>
        </dependency>       
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
            <version>2.0.17</version>
        </dependency>    
	
		<dependency>
			<groupId>org.nasdanika.models.app</groupId>
			<artifactId>cli</artifactId>
			<version>2025.6.0</version>
		</dependency>
		<dependency>
			<groupId>org.nasdanika.models.java</groupId>
			<artifactId>cli</artifactId>
			<version>2025.6.0</version>
		</dependency>
		<dependency>
			<groupId>org.nasdanika.models.rules</groupId>
			<artifactId>cli</artifactId>
			<version>2025.6.0</version>
		</dependency>
        <dependency>
            <groupId>org.nasdanika.models.crew-ai</groupId>
            <artifactId>cli</artifactId>
            <version>2025.6.0</version>
        </dependency>
		<dependency>
			<groupId>org.nasdanika.models.architecture</groupId>
			<artifactId>model</artifactId>
			<version>2025.6.0</version>
		</dependency>
		<dependency>
			<groupId>org.nasdanika.core</groupId>
			<artifactId>http</artifactId>
			<version>2025.6.0</version>
		</dependency>
		<dependency>
			<groupId>org.nasdanika.core</groupId>
			<artifactId>groovy</artifactId>
			<version>2025.6.0</version>
		</dependency>
		<dependency>
			<groupId>org.nasdanika.core</groupId>
			<artifactId>maven</artifactId>
			<version>2025.6.0</version>
		</dependency>
		<dependency>			
			<groupId>org.nasdanika.models.echarts</groupId>
			<artifactId>graph</artifactId>
			<version>2025.6.0</version>
		</dependency>		
		<dependency>			
			<groupId>org.nasdanika.models.ecore</groupId>
			<artifactId>cli</artifactId>
			<version>2025.6.0</version>
		</dependency>
		<dependency>
		    <groupId>org.apache.groovy</groupId>
		    <artifactId>groovy-all</artifactId>
		    <version>4.0.27</version>
		    <type>pom</type>
		</dependency>

        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-engine</artifactId>
            <version>1.12.1</version>
            <scope>test</scope>
        </dependency>
		<dependency>
		    <groupId>org.junit.jupiter</groupId>
		    <artifactId>junit-jupiter-api</artifactId>
		    <version>5.12.1</version>
		    <scope>test</scope>
		</dependency>		
		<dependency>
		    <groupId>org.junit.jupiter</groupId>
		    <artifactId>junit-jupiter-engine</artifactId>
		    <version>5.12.1</version>
		    <scope>test</scope>
		</dependency>		
	</dependencies>

	<build>
	    <extensions>
	      <extension>
	        <groupId>org.apache.maven.wagon</groupId>
	         <artifactId>wagon-ssh</artifactId>
	         <version>3.5.3</version>
	      </extension>
	    </extensions>

		<plugins>
			<!-- For building a minimal distribution -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>3.8.1</version>
				<executions>
					<execution>
						<id>copy-dependencies</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>
								${project.build.directory}/dist/lib
							</outputDirectory>
							<useRepositoryLayout>true</useRepositoryLayout>
							<includeScope>runtime</includeScope>
						</configuration>
					</execution>
				</executions>
			</plugin>
		        <plugin>
		            <groupId>org.apache.maven.plugins</groupId>
		            <artifactId>maven-surefire-plugin</artifactId>
		            <version>3.5.2</version>
		            <dependencies>
		                <dependency>
		                    <groupId>org.junit.jupiter</groupId>
		                    <artifactId>junit-jupiter-engine</artifactId>
		                    <version>5.11.4</version>
		                </dependency>
		            </dependencies>
		        </plugin>

		        <plugin>
		            <groupId>org.apache.maven.plugins</groupId>
	        	    <artifactId>maven-failsafe-plugin</artifactId>
		            <version>3.5.3</version>
				    <executions>
				        <execution>
				            <goals>
				                <goal>integration-test</goal>
				                <goal>verify</goal>
			        	    </goals>
				        </execution>
				    </executions>
		            <dependencies>
		                <dependency>
		                    <groupId>org.junit.jupiter</groupId>
		                    <artifactId>junit-jupiter-engine</artifactId>
		                    <version>5.12.1</version>
		                </dependency>
		            </dependencies>
		        </plugin>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<version>3.7.1</version>
				<configuration>
					<outputDirectory>${project.build.directory}</outputDirectory>
					<formats>zip</formats>
					<appendAssemblyId>false</appendAssemblyId>
					<finalName>nsd-cli</finalName>
					<attach>false</attach>
					<descriptors>
						<descriptor>src/assembly/dist.xml</descriptor>
					</descriptors>
				</configuration>
			        <executions>
			          <execution>
			            <id>create-archive</id>
			            <phase>verify</phase>
			            <goals>
			              <goal>single</goal>
			            </goals>
			          </execution>
			        </executions>
			</plugin>		        			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.14.0</version>
				<configuration>
					<source>17</source>
					<target>17</target>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.3.1</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>3.11.2</version>			
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<failOnError>false</failOnError>
							<additionalOptions>-Xdoclint:none</additionalOptions>
							<linksource>true</linksource>	
							<additionalOptions><![CDATA[--allow-script-in-comments]]></additionalOptions>
							<header>
								<![CDATA[
								      <script async src="https://www.googletagmanager.com/gtag/js?id=G-9BRJVLK8CC"></script>
								      <script>
								        window.dataLayer = window.dataLayer || [];
								        function gtag(){dataLayer.push(arguments);}
								        gtag('js', new Date());
      
								        gtag('config', 'G-9BRJVLK8CC');
								      </script>    
								]]>
							</header>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<organization>
		<name>Nasdanika</name>
		<url>https://github.com/Nasdanika</url>
	</organization>

	<developers>
		<developer>
			<id>pvlasov</id>
			<name>Pavel Vlasov</name>
			<email>Pavel.Vlasov@nasdanika.org</email>
			<roles>
				<role>Lead Developer</role>
			</roles>
			<timezone>-5</timezone>
		</developer>
	</developers>
	 <profiles>
		<profile>
			<id>ossrh</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>3.2.7</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>	
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>1.7.0</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>ossrh</serverId>
							<nexusUrl>https://oss.sonatype.org/</nexusUrl>
							<autoReleaseAfterClose>true</autoReleaseAfterClose>
						</configuration>
					</plugin>								
				</plugins>
			</build>
			<distributionManagement>
				<repository>
					<id>ossrh</id>
					<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
				</repository>
				<snapshotRepository>
					<id>ossrh</id>
					<url>https://oss.sonatype.org/content/repositories/snapshots</url>
				</snapshotRepository>
			</distributionManagement>	
		</profile>
	</profiles>
        
    <!-- For picocli 4.7.7-SNAPSHOT -->    
    <repositories>
        <repository>
            <id>nasdanika-snapshots</id>
            <url>https://maven.nasdanika.org/snapshots</url>
        </repository>
    </repositories> 

</project>