<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2024 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
    <id>distribution</id>
    <baseDirectory>restful-ws-tck</baseDirectory>
    <formats>
        <format>zip</format>
    </formats>

    <files>
        <!-- license -->
        <file>
            <source>${project.basedir}/src/main/resources/LICENSE_${license}.md</source>
            <destName>LICENSE.md</destName>
        </file>
    </files>
    <fileSets>
        <fileSet>
            <directory>${project.build.directory}</directory>
            <outputDirectory>artifacts</outputDirectory>
            <fileMode>755</fileMode>
            <includes>
                <include>**/*.jar</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>${project.basedir}/docs</directory>
            <outputDirectory>docs</outputDirectory>
            <fileMode>755</fileMode>
            <includes>
                <include>assertions/*</include>
                <include>*.html</include>
                <include>*.txt</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>${project.basedir}/docs/userguide/target/generated-docs</directory>
            <outputDirectory>docs/pdf-usersguide</outputDirectory>
            <fileMode>755</fileMode>
            <includes>
                <include>*.pdf</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>${project.basedir}/docs/userguide/target/staging</directory>
            <outputDirectory>docs/html-usersguide</outputDirectory>
            <fileMode>755</fileMode>
            <includes>
                <include>*.html</include>
                <include>css/**</include>
                <include>img/**</include>
            </includes>
        </fileSet>        
    </fileSets>
</assembly>
