Package org.codehaus.groovy.control

Examples of org.codehaus.groovy.control.CompilationUnit$SourceUnitOperation


                    GroovyClassLoader gcl = (GroovyClassLoader) AccessController.doPrivileged(new PrivilegedAction() {
                        public Object run() {
                            return new GroovyClassLoader(parent);
                        }
                    });
                    CompilationUnit unit = new CompilationUnit();
                    unit.setClassgenCallback(search);
                    unit.addSource(url);
                    unit.compile(Phases.CLASS_GENERATION);
                }
                catch (Exception e) {
                    throw new GroovyRuntimeException("Exception thrown parsing: " + groovyFile + ". Reason: " + e, e);
                }
            }
View Full Code Here


        }

        config.setTargetDirectory(destdir);

        GroovyClassLoader gcl = createClassLoader();
        CompilationUnit compilation = new CompilationUnit(config, null, gcl);

        GlobPatternMapper mapper = new GlobPatternMapper();
        mapper.setFrom("*.groovy");
        mapper.setTo("*.class");
       
        int count = 0;
        String[] list = src.list();

        for (int i = 0; i < list.length; i++) {
            File basedir = getProject().resolveFile(list[i]);
           
            if (!basedir.exists()) {
                throw new BuildException("Source directory does not exist: " + basedir, getLocation());
            }

            DirectoryScanner scanner = getDirectoryScanner(basedir);
            String[] includes = scanner.getIncludedFiles();

            if (force) {
                log.debug("Forcefully including all files from: " + basedir);

                for (int j=0; j < includes.length; j++) {
                    File file = new File(basedir, includes[j]);
                    log.debug("    "  + file);

                    compilation.addSource(file);
                    count++;
                }
            }
            else {
                log.debug("Including changed files from: " + basedir);

                SourceFileScanner sourceScanner = new SourceFileScanner(this);
                File[] files = sourceScanner.restrictAsFiles(includes, basedir, destdir, mapper);

                for (int j=0; j < files.length; j++) {
                    log.debug("    "  + files[j]);

                    compilation.addSource(files[j]);
                    count++;
                }
            }
        }

        if (count > 0) {
            log.info("Compiling " + count + " source file" + (count > 1 ? "s" : "") + " to " + destdir);

            compilation.compile();
        }
        else {
            log.info("No sources found to compile");
        }
    }
View Full Code Here

           
            if (encoding != null) {
              configuration.setSourceEncoding(encoding);
            }
           
            CompilationUnit unit = makeCompileUnit();
            unit.addSources(compileList);
            unit.compile();
          }
          catch (Exception e) {
           
            StringWriter writer = new StringWriter();
            new ErrorReporter( e, false ).write( new PrintWriter(writer) );
View Full Code Here

                    }
                });
            }
            return unit;
        } else {
            return new CompilationUnit(configuration, null, buildClassLoaderFor());
        }
    }
View Full Code Here

    public FileSystemCompiler( CompilerConfiguration configuration) throws ConfigurationException {
        if (configuration.getJointCompilationOptions()!=null) {
            this.unit = new JavaAwareCompilationUnit(configuration);
        } else {
            this.unit = new CompilationUnit(configuration);
        }
    }
View Full Code Here

    *  Compiles a single File.
    */
  
    public void compile( File file ) throws CompilationFailedException
    {
        CompilationUnit unit = new CompilationUnit( configuration );
        unit.addSource( file );
        unit.compile();
    }
View Full Code Here

    *  Compiles a series of Files.
    */
   
    public void compile( File[] files ) throws CompilationFailedException
    {
        CompilationUnit unit = new CompilationUnit( configuration );
        unit.addSources( files );
        unit.compile();
    }
View Full Code Here

    *  Compiles a series of Files from file names.
    */
   
    public void compile( String[] files ) throws CompilationFailedException
    {
        CompilationUnit unit = new CompilationUnit( configuration );
        unit.addSources( files );
        unit.compile();
    }
View Full Code Here

    *  Compiles a string of code.
    */
   
    public void compile( String name, String code ) throws CompilationFailedException
    {
        CompilationUnit unit = new CompilationUnit( configuration );
        unit.addSource( new SourceUnit(name, code, configuration, unit.getClassLoader(), unit.getErrorCollector()) );
        unit.compile();
    }
View Full Code Here

    /**
     * @see groovy.lang.GroovyClassLoader#createCompilationUnit(org.codehaus.groovy.control.CompilerConfiguration, java.security.CodeSource)
     */
    @Override
    protected CompilationUnit createCompilationUnit(CompilerConfiguration config, CodeSource source) {
        CompilationUnit cu = super.createCompilationUnit(config, source);

        GrailsAwareInjectionOperation operation;

        if (classInjectors == null) {
            operation = new GrailsAwareInjectionOperation();
        }
        else {
            operation = new GrailsAwareInjectionOperation(classInjectors);
        }

        cu.addPhaseOperation(operation, Phases.CANONICALIZATION);
       
        if(traitInjectors != null) {
            GrailsAwareTraitInjectionOperation grailsTraitInjector = new GrailsAwareTraitInjectionOperation(cu);
            grailsTraitInjector.setTraitInjectors(Arrays.asList(traitInjectors));
            cu.addPhaseOperation(grailsTraitInjector, Phases.SEMANTIC_ANALYSIS);
        }

        return cu;
    }
View Full Code Here

TOP

Related Classes of org.codehaus.groovy.control.CompilationUnit$SourceUnitOperation

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.