Package javax.tools.JavaCompiler

Examples of javax.tools.JavaCompiler.CompilationTask


    rfValidator.setForceErrors(true);
    rfValidator.setClientOnly(clientOnly);

    DiagnosticCollector<JavaFileObject> expectedCollector =
        new DiagnosticCollector<JavaFileObject>();
    CompilationTask expectedTask =
        compiler.getTask(errorWriter, fileManager, expectedCollector, Arrays.asList("-proc:only"),
            null, files);
    expectedTask.setProcessors(Arrays.asList(new ExpectCollector()));
    expectedTask.call();

    DiagnosticCollector<JavaFileObject> actualCollector = new DiagnosticCollector<JavaFileObject>();
    CompilationTask actualTask =
        compiler.getTask(errorWriter, fileManager, actualCollector, Arrays.asList("-proc:only"),
            null, files);
    actualTask.setProcessors(Arrays.asList(rfValidator));
    actualTask.call();

    TreeSet<Diagnostic<? extends JavaFileObject>> expected =
        new TreeSet<Diagnostic<? extends JavaFileObject>>(new DiagnosticComparator());
    expected.addAll(expectedCollector.getDiagnostics());
    TreeSet<Diagnostic<? extends JavaFileObject>> actual =
View Full Code Here


      throws CompileException, IOException, ClassNotFoundException {
    try {
      // Create one Java source file in memory, which will be compiled later.
      DrillJavaFileObject compilationUnit = new DrillJavaFileObject(className.dot, sourceCode);

      CompilationTask task = compiler.getTask(null, fileManager, listener, compilerOptions, null, Collections.singleton(compilationUnit));

      // Run the compiler.
      if(!task.call()) {
        throw new CompileException("Compilation failed", null);
      } else if (!compilationUnit.isCompiled()) {
        throw new ClassNotFoundException(className + ": Class file not created by compilation.");
      }
      // all good
View Full Code Here

      String[] options = new String[cmd.length-2];
      for (int i=0; i<options.length; i++) options[i] = cmd[i+1];
        Iterable<? extends JavaFileObject> compilationUnits1 =
                   fileManager.getJavaFileObjectsFromFiles(Arrays.asList(files));
        System.err.println("calling: " + sb.toString());
        CompilationTask task = compiler.getTask(null,
            fileManager, null,
            Arrays.asList(options),
            null, compilationUnits1);
       
        boolean success = task.call();
        try {
        fileManager.flush();
      } catch (IOException e) {
        // what can we do here?
        System.err.println(e.getMessage() + " while flushing javac file manager.");
View Full Code Here

    JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
    StandardJavaFileManager fileManager =
      compiler.getStandardFileManager(null, null, null);
   
    CompilationTask cTask = compiler.getTask(null, fileManager, null, null,
        null,
        fileManager.getJavaFileObjects(
            javaFiles.toArray(new File[javaFiles.size()])));
    assertTrue(cTask.call());
  }
View Full Code Here

  {
     System.out.println("parseSourceCode " + filename);
    JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
    StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
    Iterable<? extends JavaFileObject> fileobject = fileManager.getJavaFileObjects(new File(filename));
    CompilationTask parsingTask =  compiler.getTask(null, fileManager, null, null, null, fileobject);
    ArrayList<AbstractProcessor> processor = new ArrayList<AbstractProcessor>(1);
    processor.add(this);
    parsingTask.setProcessorsprocessor);
    parsingTask.call();
    fileManager.close();
   
  }
View Full Code Here

        }
        catch ( IOException e ) {
            throw new RuntimeException( e );
        }

        CompilationTask task =
            compiler.getTask( null, fileManager, diagnostics, processorOptions, null, compilationUnits );
        task.setProcessors( Arrays.asList( new MappingProcessor() ) );

        CompilationResultHolder resultHolder = new CompilationResultHolder( diagnostics, task.call() );

        cache.lastRequest = request;
        cache.lastResult = resultHolder;
        return resultHolder;
    }
View Full Code Here

    // compiling it
    JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
    StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
    Iterable<? extends JavaFileObject> compilationUnits1 = fileManager.getJavaFileObjects(javaFile);
    CompilationTask task = compiler.getTask(null, fileManager, null, null, null, compilationUnits1);
    task.call();

    // here is the compiled file
    File classFile = new File(javaFile.getParentFile(), className+".class");
    Assert.assertTrue(classFile.exists());
View Full Code Here

        // 获取要编译的编译单元  
        Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromFiles(sourceFileList);  

        //编译选项,在编译java文件时,编译程序会自动的去寻找java文件引用的其他的java源文件或者class。 -classpath选项就是定义class文件的查找目录。 
        Iterable<String> options = Arrays.asList("-encoding",encoding,"-classpath",jars,"-d", distDir);  
        CompilationTask compilationTask = compiler.getTask(null, fileManager, diagnostics, options, null, compilationUnits);  

        // 运行编译任务  
        boolean res= compilationTask.call();
        try {
      fileManager.close();
    } catch (IOException e) {
      log.error("关闭文件管理器失败");
      log.error(e.getMessage());
View Full Code Here

            new ByteArrayJavaFileObject(targetFileName);
        Iterable<? extends JavaFileObject> compilationUnits = Arrays.asList(targetSource);
        ByteArrayFileManager bafm = new ByteArrayFileManager(
            compiler.getStandardFileManager(null, null, null), targetClass);
        StringWriter sw = new StringWriter();
        CompilationTask task = compiler.getTask(sw, bafm, diagnosticsCollector, OPTIONS, null,
            compilationUnits);
        task.call();
        return targetClass.toByteArray();
    }
View Full Code Here

            new ByteArrayJavaFileObject(targetFileName);
        Iterable<? extends JavaFileObject> compilationUnits = Arrays.asList(targetSource);
        ByteArrayFileManager bafm = new ByteArrayFileManager(
            compiler.getStandardFileManager(null, null, null), targetClass);
        StringWriter sw = new StringWriter();
        CompilationTask task = compiler.getTask(sw, bafm, diagnosticsCollector, OPTIONS, null,
            compilationUnits);
        task.call();
        return targetClass.toByteArray();
    }
View Full Code Here

TOP

Related Classes of javax.tools.JavaCompiler.CompilationTask

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.