<?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.
-->
<assembly>
    <id></id> <!-- intentionally left blank -> http://jira.codehaus.org/browse/MASSEMBLY-301 -->
    <formats>
        <format>zip</format>
    </formats>
    <fileSets>


      <!-- Copy license and other files from root -->
      <fileSet>
          <directory>..</directory>
          <outputDirectory>/</outputDirectory>
          <includes>
              <include>README.txt</include>
              <include>RELEASE*.txt</include>
          </includes>
          <lineEnding>dos</lineEnding>
      </fileSet>

      <!-- Copy over everything that needs to get dos line endings -->
      <fileSet>
          <directory>src/main/distribution/text</directory>
          <outputDirectory>/</outputDirectory>
          <lineEnding>dos</lineEnding>
      </fileSet>        
      <fileSet>
          <directory>src/main/distribution/windows-text</directory>
          <outputDirectory>/</outputDirectory>
          <lineEnding>dos</lineEnding>
      </fileSet>        
      <fileSet>
          <directory>target/classes/etc</directory>
          <outputDirectory>/etc/</outputDirectory>
          <lineEnding>dos</lineEnding>
      </fileSet>

        <!-- Copy over the examples -->
        <fileSet>
            <directory>../demos</directory>
            <outputDirectory>/demos/</outputDirectory>
            <lineEnding>dos</lineEnding>
            <excludes>
                <exclude>**/target/**</exclude>
            </excludes>
        </fileSet>

      <!-- Copy over files that should not get the line endings converted -->
      <fileSet>
          <directory>src/main/distribution/binary</directory>
          <outputDirectory>/</outputDirectory>
      </fileSet>

      <!-- Copy over the files that should not get the line endings converted but need to be chmod to 755 -->
      <fileSet>
          <directory>src/main/distribution/windows-binary</directory>
          <outputDirectory>/</outputDirectory>
      </fileSet>
      
      <!-- Copy over jar files -->
      <fileSet>
          <directory>target/dependencies</directory>
          <outputDirectory>/lib/</outputDirectory>
      </fileSet>

    </fileSets>

    <files>
        <file>
            <source>${basedir}/target/maven-shared-archive-resources/META-INF/LICENSE</source>
            <outputDirectory>/</outputDirectory>
            <destName>LICENSE.txt</destName>
            <fileMode>0644</fileMode>
            <lineEnding>dos</lineEnding>
        </file>
        <file>
            <source>${basedir}/target/maven-shared-archive-resources/META-INF/NOTICE</source>
            <outputDirectory>/</outputDirectory>
            <destName>NOTICE.txt</destName>
            <fileMode>0644</fileMode>
            <lineEnding>dos</lineEnding>
        </file>
        <file>
            <source>${basedir}/target/classes/features.xml</source>
            <outputDirectory>/system/org/apache/felix/karaf/apache-felix-karaf/${version}</outputDirectory>
            <destName>apache-felix-karaf-${version}-features.xml</destName>
            <fileMode>0644</fileMode>
            <lineEnding>dos</lineEnding>
        </file>
    </files>

    <dependencySets>

        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/apache/felix/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <!--
                <include>org.apache.felix:org.osgi.compendium</include>
                -->
                <include>org.apache.felix:org.apache.felix.configadmin</include>
                <include>org.apache.felix:org.apache.felix.prefs</include>
                <include>org.apache.felix:org.apache.felix.framework</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/ops4j/pax/logging/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.ops4j.pax.logging:pax-logging-api</include>
                <include>org.ops4j.pax.logging:pax-logging-service</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/ops4j/pax/url/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.ops4j.pax.url:pax-url-mvn</include>
                <include>org.ops4j.pax.url:pax-url-wrap</include>
            </includes>
        </dependencySet>
        <!--
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/springframework/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.springframework:spring-aop</include>
                <include>org.springframework:spring-beans</include>
                <include>org.springframework:spring-context</include>
                <include>org.springframework:spring-core</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/springframework/osgi/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.springframework.osgi:spring-osgi-core</include>
                <include>org.springframework.osgi:spring-osgi-extender</include>
                <include>org.springframework.osgi:spring-osgi-io</include>
            </includes>
        </dependencySet>
        -->
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/apache/geronimo/specs/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.apache.geronimo.specs:geronimo-servlet_2.5_spec</include>
                <!--
                <include>org.apache.geronimo.specs:geronimo-annotation_1.0_spec</include>
                -->
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/apache/servicemix/bundles/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <!--
                <include>org.apache.servicemix.bundles:org.apache.servicemix.bundles.aopalliance</include>
                <include>org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib</include>
                -->
                <include>org.apache.servicemix.bundles:org.apache.servicemix.bundles.jaxp-ri</include>
                <include>org.apache.servicemix.bundles:org.apache.servicemix.bundles.oro</include>
                <include>org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-jexl</include>
                <include>org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-vfs</include>
                <include>org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-codec</include>
                <include>org.apache.servicemix.bundles:org.apache.servicemix.bundles.commons-httpclient</include>
                <include>org.apache.servicemix.bundles:org.apache.servicemix.bundles.jline</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/apache/servicemix/specs/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.apache.servicemix.specs:org.apache.servicemix.specs.jaxp-api-1.4</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/apache/felix/karaf/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.apache.felix.karaf:org.apache.felix.karaf.management</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/apache/felix/karaf/deployer/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.apache.felix.karaf.deployer:org.apache.felix.karaf.deployer.filemonitor</include>
                <include>org.apache.felix.karaf.deployer:org.apache.felix.karaf.deployer.spring</include>
                <include>org.apache.felix.karaf.deployer:org.apache.felix.karaf.deployer.blueprint</include>
                <include>org.apache.felix.karaf.deployer:org.apache.felix.karaf.deployer.features</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/apache/felix/karaf/gshell/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.apache.felix.karaf.gshell:org.apache.felix.karaf.gshell.core</include>
                <include>org.apache.felix.karaf.gshell:org.apache.felix.karaf.gshell.run</include>
                <include>org.apache.felix.karaf.gshell:org.apache.felix.karaf.gshell.admin</include>
                <include>org.apache.felix.karaf.gshell:org.apache.felix.karaf.gshell.osgi</include>
                <include>org.apache.felix.karaf.gshell:org.apache.felix.karaf.gshell.log</include>
                <include>org.apache.felix.karaf.gshell:org.apache.felix.karaf.gshell.features</include>
                <include>org.apache.felix.karaf.gshell:org.apache.felix.karaf.gshell.config</include>
                <include>org.apache.felix.karaf.gshell:org.apache.felix.karaf.gshell.packages</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/apache/felix/karaf/jaas/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.apache.felix.karaf.jaas:org.apache.felix.karaf.jaas.config</include>
                <include>org.apache.felix.karaf.jaas:org.apache.felix.karaf.jaas.modules</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/apache/sshd/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.apache.sshd:sshd-core</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/apache/mina/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.apache.mina:mina-core</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/osgi/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.osgi:jmx</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>com/oracle/osgi/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>com.oracle.osgi:jmx-impl</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/eclipse/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.eclipse:osgi</include>
            </includes>
        </dependencySet>
        <dependencySet>
            <outputDirectory>/system</outputDirectory>
            <unpack>false</unpack>
            <useProjectArtifact>false</useProjectArtifact>
            <outputFileNameMapping>org/apache/geronimo/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
            <includes>
                <include>org.apache.geronimo:blueprint-bundle</include>
            </includes>
        </dependencySet>

    </dependencySets>

</assembly>
