<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.rascalmpl</groupId>
	<artifactId>flybytes</artifactId>
	<version>0.2.12</version>
	<packaging>jar</packaging>

	<scm>
        <developerConnection>scm:git:ssh://git@github.com/usethesource/flybytes.git</developerConnection>
	    <tag>v0.2.12</tag>
        </scm>

	<build>
		<sourceDirectory>src</sourceDirectory>
		<resources>
			<resource>
				<directory>src</directory>
				<excludes>
					<exclude>**/*.java</exclude>
					<exclude>**/*.class</exclude>
				</excludes>
			</resource>
			<resource>
				<directory>.</directory>
				<filtering>false</filtering>
				<includes>
					<include>META-INF/RASCAL.MF</include>
					<include>src/**/*.rsc</include>
					<include>doc/**/*.md</include>
				</includes>
			</resource>
		</resources>
        <plugins>
            <plugin>
                <groupId>org.rascalmpl</groupId>
                <artifactId>rascal-maven-plugin</artifactId>
                <version>0.32.2</version>
                <configuration>
                    <bin>${project.build.outputDirectory}</bin>
                    <srcs>
                        <src>${project.basedir}/src</src>
                    </srcs>
                </configuration>
                <executions>
                    <execution>
                        <id>flybytes-compile</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                        <configuration>
                            <parallel>true</parallel>
                            <parallelMax>5</parallelMax>
                            <parallelPreChecks>
                                <check>${project.basedir}/src/lang/flybytes/Syntax.rsc</check>
                            </parallelPreChecks>
                        </configuration>
                    </execution>
                    <execution>
                        <id>flybytes-package</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>package</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>flybytes-test</id>
                        <phase>test</phase>
                        <configuration>
                            <parallel>true</parallel>
                            <parallelMax>10</parallelMax>
                            <parallelPreChecks>
                                <check>${project.basedir}/src/lang/flybytes/tests/MirrorTests.rsc</check>
                            </parallelPreChecks>
                        </configuration>
                        <goals>
                            <goal>test</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>default-cli</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>tutor</goal>
                        </goals>
                        <configuration>
                            <bin>${project.build.outputDirectory}</bin>
                            <sources>|http://github.com/usethesource/flybytes/blob/main|</sources>
                            <issues>|http://github.com/usethesource/flybytes/issues|</issues>
                            <srcs>
                                <src>${project.basedir}/src</src>
                                <src>${project.basedir}/doc/Why</src>
                                <src>${project.basedir}/doc/References</src>
                                <src>${project.basedir}/src</src>
                            </srcs>
                            <ignores>
                            </ignores>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>3.1.1</version>
                <configuration>
                    <tagNameFormat>v@{project.version}</tagNameFormat>
                    <arguments>-Drascal.compile.skip -DskipTests -Drascal.tutor.skip</arguments>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.9.0</version>
                <configuration>
                    <compilerArgument>-parameters</compilerArgument> <!-- make sure parameters are compiled by name into the jar -->
                    <release>11</release>
                </configuration>
            </plugin>
        </plugins>
    </build>

	

        <repositories>
            <repository>
                <id>usethesource</id>
                <url>https://releases.usethesource.io/maven/</url>
            </repository>
            <repository>
                <id>ow2</id>
                <url>https://repository.ow2.org/nexus</url>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>usethesource</id>
                <url>https://releases.usethesource.io/maven/</url>
            </pluginRepository>
        </pluginRepositories>

	<dependencies>
                <dependency>
                    <groupId>org.rascalmpl</groupId>
                    <artifactId>rascal</artifactId>
                    <version>0.43.0</version>
                </dependency>
                <dependency>
                    <groupId>org.ow2.asm</groupId>
                    <artifactId>asm-analysis</artifactId>
                    <version>9.5</version>
                </dependency>
                <dependency>
                    <groupId>org.ow2.asm</groupId>
                    <artifactId>asm-tree</artifactId>
                    <version>9.5</version>
                </dependency>
                <dependency>
                    <groupId>org.ow2.asm</groupId>
                    <artifactId>asm-commons</artifactId>
                    <version>9.5</version>
                </dependency>
                <dependency>
                    <groupId>org.ow2.asm</groupId>
                    <artifactId>asm</artifactId>
                    <version>9.5</version>
                </dependency>
	</dependencies>
</project>
