<?xml version="1.0"?>

<!--
  ~ 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.
  -->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/context 
           http://www.springframework.org/schema/context/spring-context-3.0.xsd"
       default-lazy-init="true">

  <bean name="queueExecutor#default" class="org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor">
    <property name="queue" ref="taskQueue#default"/>
    <property name="executor" ref="taskExecutor#build-project"/>
    <property name="name" value="default"/>
  </bean>

  <bean name="queueExecutor#taskQueueTest" class="org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor">
    <property name="queue" ref="taskQueue#taskQueueTest"/>
    <property name="executor" ref="taskExecutor#build-project"/>
    <property name="name" value="taskQueueTest"/>
  </bean>

  <bean abstract="true" name="abstractQueue" class="org.codehaus.plexus.taskqueue.DefaultTaskQueue">
    <property name="taskEntryEvaluators">
      <list>
        <ref bean="taskEntryEvaluator#a"/>
        <ref bean="taskEntryEvaluator#b"/>
      </list>
    </property>
    <property name="taskExitEvaluators">
      <list>
        <ref bean="taskExitEvaluator#a"/>
        <ref bean="taskExitEvaluator#b"/>
      </list>
    </property>
    <property name="taskViabilityEvaluators">
      <list>
        <ref bean="taskViabilityEvaluator#build-project"/>
      </list>
    </property>
  </bean>

  <bean name="taskQueue#default" parent="abstractQueue"/>

  <bean name="taskQueue#taskQueueTest" parent="abstractQueue"/>

</beans>