<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.apache.poi</groupId>
        <artifactId>poi-parent</artifactId>
        <version>5.0.1-SNAPSHOT</version>
        <relativePath>..</relativePath>
    </parent>
    <artifactId>poi-ooxml-lite</artifactId>
    <packaging>jar</packaging>

    <name>Apache POI - Openxmlformats Schema package</name>

    <properties>
        <!-- see http://docs.codehaus.org/display/SONAR/Narrowing+the+Focus for details of this property -->
        <sonar.exclusions>target/generated-sources/*</sonar.exclusions>
        <maven.compiler.fork>true</maven.compiler.fork>
    </properties>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>${maven.plugin.antrun.version}</version>
                <executions>
                    <execution>
                        <id>copy-xmltype-and-xsdconfig</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target>
                                <property name="xsdir" value="${basedir}/../../ooxml-schema/src/main/xmlschema/org/apache/poi"/>
                                <copy todir="${basedir}/target/schemas">
                                    <zipfileset src="${xsdir}/schemas/OfficeOpenXML-XMLSchema-Transitional.zip"/>
                                    <zipfileset src="${xsdir}/schemas/OpenPackagingConventions-XMLSchema.zip" includes="opc-digSig.xsd,opc-relationships.xsd"/>
                                    <fileset dir="${xsdir}/xdgf" includes="*.xsd,*.xsdconfig"/>
                                    <fileset dir="${xsdir}/schemas" includes="*.xsd,*.xsdconfig"/>
                                    <fileset dir="${xsdir}/poifs/crypt" includes="signatureInfo.xsd"/>
                                </copy>
                            </target>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <phase>process-sources</phase>
                        <goals>
                            <!-- need to use exec instead of java, because SchemaCompiler calls System.exit() -->
                            <goal>exec</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <executable>java</executable>
                    <arguments>
                        <argument>-classpath</argument>
                        <!-- automatically creates the classpath using all project dependencies,
                             also adding the project build directory -->
                        <classpath/>
                        <argument>org.apache.xmlbeans.impl.tool.SchemaCompiler</argument>
                        <argument>-srconly</argument>
                        <argument>-name</argument>
                        <argument>ooxml</argument>
                        <argument>-repackage</argument>
                        <argument>org.apache.xmlbeans.metadata:org.apache.poi.schemas.ooxml</argument>
                        <argument>-d</argument>
                        <argument>${basedir}/target/generated-resources</argument>
                        <argument>-src</argument>
                        <argument>${basedir}/target/generated-sources</argument>
                        <argument>${basedir}/target/schemas</argument>
                    </arguments>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>3.2.0</version>
                <executions>
                    <execution>
                        <id>add-source</id>
                        <goals>
                            <goal>add-source</goal>
                            <goal>add-resource</goal>
                        </goals>
                        <configuration>
                            <resources>
                                <resource>
                                    <directory>${basedir}/target/generated-resources</directory>
                                </resource>
                                <resource>
                                    <directory>${basedir}/../../ooxml-schema/src/ooxml-full/java9</directory>
                                    <targetPath>META-INF/versions/9</targetPath>
                                    <includes>
                                        <include>*.class</include>
                                    </includes>
                                </resource>
                            </resources>
                            <sources>
                                <source>${basedir}/target/generated-sources</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Multi-Release>true</Multi-Release>
                            <Automatic-Module-Name>org.apache.poi.ooxml.schemas</Automatic-Module-Name>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>poi-main</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.xmlbeans</groupId>
          <artifactId>xmlbeans</artifactId>
          <version>${xmlbeans.version}</version>
        </dependency>
    </dependencies>
</project>
