<!--

    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

-->

<project name="TestAsant" default="all" basedir=".">

<!-- ========== Initialize Properties ================================ -->
<property file="./build.properties"/>

<!-- all -->
<target name="all" depends="deploy-rar, deploy-war, deploy-ear, deploy-retrieve, undeploy-all"/>

<target name="deploy-rar"
    description="Deploy the Connector">
     <sun-appserv-deploy
         file="${rarApp.file}"
         name="inbound"
         type="connector"
         force="true"
         precompilejsp="false"
         verify="false"
         upload="true"
         user="${admin.user}"
         password="${admin.password}"
         host="${admin.host}"
         port="4848"
      sunonehome="${sunone.home}" />
</target>

<target name="deploy-war"
    description="Deploy the  WebApp">
     <sun-appserv-deploy
         file="${warApp.file}"
         name="simple"
         type="web"
         force="true"
         precompilejsp="false"
         verify="false"
         upload="true"
         user="${admin.user}"
         password="${admin.password}"
         host="${admin.host}"
         port="${admin.port}"
         sunonehome="${sunone.home}" />
</target>

<target name="deploy-ear"
    description="Deploy the earApp">
     <sun-appserv-deploy
         file="${earApp.file}"
         name="bookstore"
         type="application"
         force="true"
         precompilejsp="false"
         verify="false"
         upload="true"
         user="${admin.user}"
         password="${admin.password}"
         host="${admin.host}"
         port="${admin.port}"
         sunonehome="${sunone.home}" />
</target>

<target name="deploy-retrieve"
    description="Deploy the  EAR">
     <sun-appserv-deploy
         file="${retrieveApp.file}"
         name="stateless-converter"
         type="application"
         force="true"
         precompilejsp="false"
         verify="false"
         upload="true"
         user="${admin.user}"
         password="${admin.password}"
         host="${admin.host}"
         port="${admin.port}"
     retrievestubs="${retrieve.directory}"
         sunonehome="${sunone.home}" />
</target>

<target name="undeploy-all"
    description="Undeploy all apps">
     <sun-appserv-undeploy
      name="inbound"
      user="${admin.user}"
      password="${admin.password}"
      host="${admin.host}"
      port="${admin.port}"
      sunonehome="${sunone.home}" />
     <sun-appserv-undeploy
      name="simple"
      user="${admin.user}"
      password="${admin.password}"
      host="${admin.host}"
      port="${admin.port}"
      sunonehome="${sunone.home}" />
     <sun-appserv-undeploy
      name="bookstore"
      user="${admin.user}"
      password="${admin.password}"
      host="${admin.host}"
      port="${admin.port}"
      sunonehome="${sunone.home}" />
     <sun-appserv-undeploy
      name="stateless-converter"
      user="${admin.user}"
      password="${admin.password}"
      host="${admin.host}"
      port="${admin.port}"
      sunonehome="${sunone.home}" />
</target>

</project>
