/*
 * Copyright 2007 the original author or authors.
 *
 * Licensed 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.
 */

package org.gradle.api.tasks.testing

import org.gradle.api.tasks.compile.AbstractOptions

/**
 * @author Hans Dockter
 */
class JunitForkOptions extends AbstractOptions {
    ForkMode forkMode = ForkMode.PER_TEST
    String timeout
    String maxMemory
    String jvm
    File dir
    boolean newEnvironment = false
    boolean cloneVm = false

    List jvmArgs
    List bootstrapClasspath
    Map environment

    Map fieldName2AntMap() {
        [
                forkMode: 'forkmode',
                maxMemory: 'maxmemory',
                newEnvironment: 'newenvironment',
                cloneVm: 'clonevm'
        ]
    }

    public Map fieldValue2AntMap() {
        [
            forkMode: { forkMode.toString() }       
        ]
    }

    List excludedFieldsFromOptionMap() {
        ['bootstrapClasspath', 'environment', 'jvmArgs']
    }


}
