<div dir="ltr"><div>Thank you so much for your reply.<br><br></div>The simplest file that fails to compile is like this:<br><br><div style="margin-left:40px">package wf.auto_testing_jsystem_tiny_test.tint_test;<br><br>import amat.jsystem.bbs_params.annotation.BuildingBlock;<br>
import amat.jsystem.bbs_utils.infrastructure.BuildingBlockContext;<br><br>public class TinyTest {<br><br>    /**<br>     * A dummy comment<br>     */<br>    @BuildingBlock<br>    public static void loadBatchFromFile(BuildingBlockContext context, String batchPath) throws Exception {<br>
<br>    }<br>}<br></div><br><div><div style="margin-left:40px"><br></div>one of the error messages  is:<br><br><div style="margin-left:40px"><b>     ....\TinyTest.java:4: error: package amat.jsystem.bbs_utils.infrastructure does not exist<br>
</b></div><div style="margin-left:40px"><div style="margin-left:40px"><b>     import amat.jsystem.bbs_utils.infrastructure.BuildingBlockContext;<br></b>                                                                           ^<br>
</div></div></div><div><div><div style="margin-left:40px"><br></div>As I mentioned in my question, it is expected error, because we don't supply all the necessary compilation dependencies(we can't) .<br><br></div>
My question -again-, is That in JDK 7, it works perfect:<br></div><div><div style="margin-left:40px">The errors above are reported only via javax.tools.DiagnosticListener#report (not printed to the console)<br>javax.tools.JavaCompiler.CompilationTask#<b>call returns true</b>.<br>
</div><br></div><div>In JDK 8, <br><div style="margin-left:40px">Same errors are reported both via javax.tools.DiagnosticListener#report and are printed to the console,<br>javax.tools.JavaCompiler.CompilationTask#<b>call returns false</b>.<br>
</div></div><div><div style="margin-left:40px"><br></div><b>In JDK 7</b>, If I omit '-proc:only', then I get the exact behavior <b>as JDK 8</b>, that why I'm wondering, <b>maybe JDK 8 somehow ignore '-proc:only'</b></div>
<div><div><br></div><div>Thank again<br></div><div>Boaz<br><br></div><div><div style="margin-left:40px"><br></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 11, 2014 at 8:24 PM, Jonathan Gibbons <span dir="ltr"><<a href="mailto:jonathan.gibbons@oracle.com" target="_blank">jonathan.gibbons@oracle.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Boaz,<br>
    <br>
    In JDK 8, javac is more aggressive about reporting errors (and
    stopping the compilation) if the errors cannot be fixed by running
    annotation processors. This should not be an issue if you are using
    anno processors for generating code.<br>
    <br>
    What sort of errors are you seeing in your compilation?<br>
    <br>
    -- Jon<div><div class="h5"><br>
    <br>
    <div>On 03/11/2014 08:27 AM, Boaz Nahum
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>Hi<br>
              <br>
            </div>
            I hope some can give me hint how anlyse our probelms with
            JDK 8.<br>
            <br>
          </div>
          We use some code like this to do annotation processing (for
          generating code):<br>
          <br>
          <div style="margin-left:40px">
                        JavaCompiler.CompilationTask task =<br>
                            javaCompiler.getTask(null, fileManager,
            diagnostics, optionsAsList, null, compilationUnits);<br>
            <br>
                        BuildingBlockParamProcessor processor = new
            BuildingBlockParamProcessor();<br>
                        List<Processor> processors = new
            ArrayList<Processor>();<br>
                        processors.add(processor);<br>
                        task.setProcessors(processors);<br>
          </div>
          <div style="margin-left:40px">
            <div style="margin-left:40px">
              if(!task.call()){ .... }<br>
            </div>
          </div>
          <div style="margin-left:40px"><br>
          </div>
          The code we try to process won't be compile in regular
          environment - a lot of stuff is missing from classpath.<br>
        </div>
        <div>But that is OK, we use '-proc:only' and we *thought* that
          this what allows us to ignore the errors.<br>
          <br>
          <br>
        </div>
        <div>When we moved to JDK 8, the exact code fails,
          javax.tools.JavaCompiler.CompilationTask#call returns false.<br>
          <br>
        </div>
        <div><b>My question, is a possibilty that '-proc:only' is
            ignored in JDK 8 ?<br>
          </b></div>
        <div><b>Or maybe there is by-design change regarding annotation
            processing that we need to be aware of ?<br>
          </b><br>
        </div>
        <div>I want to mention that if the early EAP of JDK 8 , this
          code run without any problems.<br>
          <br>
        </div>
        <div>(Moving to annotation processing during compilation is big
          effort for us)<br>
        </div>
        <div><br>
        </div>
        <div>Any tip/hint will be appreciatively accepted<br>
          <br>
        </div>
        <div>Thanks<br>
        </div>
        <div>Boaz<br>
          <br>
        </div>
        <div>
          <br>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br></div>