001    /*
002     * Copyright (C) 2006-2007 the original author or authors.
003     *
004     * Licensed under the Apache License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     *     http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    
017    package org.codehaus.gmaven.runtime;
018    
019    import org.codehaus.gmaven.feature.Component;
020    
021    /**
022     * Groovy class compiler abstraction.
023     *
024     * @version $Id: ClassCompiler.java 52 2009-11-22 10:32:14Z user57 $
025     * @author <a href="mailto:jason@planet57.com">Jason Dillon</a>
026     */
027    public interface ClassCompiler
028        extends org.codehaus.gmaven.runtime.util.Compiler, Component
029    {
030        String KEY = ClassCompiler.class.getName();
031    
032        interface Keys
033        {
034            String DEBUG = "debug";
035    
036            String VERBOSE = "verbose";
037    
038            String SOURCE_ENCODING = "sourceEncoding";
039    
040            String TOLERANCE = "tolerance";
041            
042            String TARGET_BYTECODE = "targetBytecode";
043    
044            String SCRIPT_BASE_CLASSNAME = "scriptBaseClassname";
045    
046            String DEFAULT_SCRIPT_EXTENSION = "defaultScriptExtension";
047            
048            String WARNING_LEVEL = "warningLevel";
049    
050            String[] ALL = {
051                DEBUG,
052                VERBOSE,
053                DEBUG,
054                SOURCE_ENCODING,
055                TARGET_BYTECODE,
056                TOLERANCE,
057                SCRIPT_BASE_CLASSNAME,
058                DEFAULT_SCRIPT_EXTENSION,
059                WARNING_LEVEL,
060            };
061        }
062    }