<?xml version="1.0" encoding="utf-8"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->

<!-- 
I'd rather use the builtin one but I can't find how to control the name from the POM :
just want -jar-with-dependences to by replaced by -sys as  classifier 
-->

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
  <id>server</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  
  <dependencySets>
    <dependencySet>
      <useProjectArtifact>true</useProjectArtifact>
      <unpack>true</unpack>
      <scope>runtime</scope>
      <unpackOptions>
        <excludes>
          <exclude>**/NOTICE*</exclude>
          <exclude>**/LICENSE*</exclude>
          <exclude>**/DEPENDENCIES*</exclude>
          <exclude>META-INF/**</exclude>
          <!-- Exclude folders - this INFO level "skipping" messages -->
          <!-- <exclude>%regex[.*/]</exclude> --> <!-- This isn't working in Windows -->
          <exclude>about.html</exclude>
        </excludes>
      </unpackOptions>
    </dependencySet>
  </dependencySets>
  
  <!-- put our (rolled up) LICENSE and NOTICE.  We have no DEPENDENCIES --> 
  <files>
    <file>
      <source>dist/LICENSE-dist</source>
      <outputDirectory>META-INF</outputDirectory>
      <destName>LICENSE</destName>
    </file>
    <file>
      <source>dist/NOTICE-dist</source>
      <outputDirectory>META-INF</outputDirectory>
      <destName>NOTICE</destName>
    </file>
  </files>
</assembly>
