<?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.

-->
<project name="ide/o.apache.ws.commons.util" default="build" basedir=".">
    <import file="../../nbbuild/templates/projectized.xml"/>
    <target name="jar" depends="-define-FileCRC32Calculator">
        <FileCRC32Calculator file="external/ws-commons-util-1.0.1.jar" property="o.apache.ws.commons.util.crc32" />
        <jar jarfile="${cluster}/${module.jar}">
            <zipfileset src="external/ws-commons-util-1.0.1.jar"/>
            <manifest>
                <attribute name="Bundle-SymbolicName" value="org.apache.ws.commons.util"/>
                <attribute name="Bundle-Version" value="1.0.1"/>
                <attribute name="Export-Package" value="org.apache.ws.commons.serialize;version=&quot;1.0.1&quot;,org.apache.ws.commons.util;version=&quot;1.0.1&quot;"/>
                <attribute name="Import-Package" value="javax.xml,javax.xml.namespace,org.w3c.dom,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers"/>
                <attribute name="NB-Original-CRC" value="${o.apache.ws.commons.util.crc32}"/>
            </manifest>
        </jar>
    </target>
</project>
