<?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="OFBiz - JCR" default="jar" basedir=".">
    <import file="../../common.xml"/>

    <!-- ================================================================== -->
    <!-- Initialization of all property settings                            -->
    <!-- ================================================================== -->

    <property name="desc" value="JCR Component"/>
    <property name="name" value="ofbiz-jcr"/>
    <property name="ofbiz.home.dir" value="../.."/>

    <path id="local.class.path">
        <fileset dir="${lib.dir}" includes="*.jar"/>
        <fileset dir="../../framework/base/lib" includes="*.jar"/>
        <fileset dir="../../framework/base/lib/commons" includes="*.jar"/>
        <fileset dir="../../framework/base/lib/j2eespecs" includes="*.jar"/>
        <fileset dir="../../framework/base/build/lib" includes="*.jar"/>
        <fileset dir="../../framework/webapp/lib" includes="*.jar"/>
        <fileset dir="../../framework/entity/build/lib" includes="*.jar"/>
        <fileset dir="../../framework/service/build/lib" includes="*.jar"/>
        <fileset dir="../../framework/security/build/lib" includes="*.jar"/>
        <fileset dir="../../specialpurpose/jetty/lib" includes="*.jar"/>
    </path>

    <target name="jar" depends="classes">
        <main-jar/>
        <test-jar/>
    </target>
</project>
