<?xml version="1.0" encoding="ISO-8859-1"?>
<!--

    Copyright (c) 2018 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

-->

<!-- Security Testsuites -->
<!-- Author: jagadesh.munta@sun.com -->

<!DOCTYPE project [
<!ENTITY commonSetup SYSTEM "file:./../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "file:./../../config/common.xml">
]>

<project name="quicklook-security" default="usage" basedir=".">

  &commonSetup;
  &commonBuild;

  <target name="all" >
    <echo message="================================================"/>
    <echo message="         SJSAS Quicklook: Security Tests        "/>
    <echo message="================================================"/>

    <ant dir="wss" target="all"/>
    <ant dir="authoriz/methodperms" target="all" />
    <ant dir="simple" target="all"/>
    <ant dir="ssl/converter" target="all"/>
  </target>

  <target name="run-test" >
    <echo message="======================================================="/>
    <echo message="         SJSAS Quicklook: Security Tests (run-test)    "/>
    <echo message="======================================================"/>
    <ant dir="wss" target="run-test"/>
    <ant dir="authoriz/methodperms" target="run-test" />
    <ant dir="simple" target="run-test"/>
    <ant dir="ssl/converter" target="run-test"/>
  </target>

  <!-- setup for all underlying testsuites -->
  <target name="setup" >
    <ant dir="wss" target="setup"/>
    <ant dir="authoriz/methodperms" target="setup" />
    <ant dir="simple" target="setup"/>
  </target>

  <!-- Unsetup for all underlying testsuites -->
  <target name="unsetup" >
    <ant dir="wss" target="unsetup"/>
    <ant dir="authoriz/methodperms" target="unsetup" />
    <ant dir="simple" target="unsetup"/>
  </target>


  <target name="usage">
     <echo>
    ant all --> Setup and Run all tests
    ant setup --> Setup configuration for all tests
    ant run-test --> Run all tests without setup
    ant unsetup --> Unsetup configuration for all tests
     </echo>
  </target>

</project>

