<?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 basedir="." default="all" name="Fortress Sample Data">
    <taskdef classname="org.apache.directory.fortress.core.ant.FortressAntTask" name="FortressAdmin" >
        <classpath path="${java.class.path}"/>
    </taskdef>

    <target name="all">
        <FortressAdmin>

            <adduser>
                <user userId="tcmanager" password="m@nager123" system="true" description="Service account for maven deployment scripts" ou="tc1" />
                <user userId="tcmanagergui" password="m@nager123" system="true" description="Tomcat Manager User" ou="tc1" />
            </adduser>

            <adduserrole>
                <userrole userId="tcmanagergui" name="manager-gui" />
                <userrole userId="tcmanager" name="manager-script" />
            </adduserrole>

            <addrole>
                <role name="manager-gui" description="Tomcat 7 Manager Role for Manager UI"/>
                <role name="manager-script" description="Tomcat 7 Manager Role for Management Scripts"/>
            </addrole>

            <!-- Begin ARBAC Delegated Admin Data: -->
            <addorgunit>
                <orgunit name="tc1" typeName="USER" description="TC Test User Org"/>
            </addorgunit>

         </FortressAdmin>
    </target>
</project>