Notification upon completion of compilation
jonathan.gibbons at oracle.com
Sun Jan 6 16:34:24 UTC 2019
FWIW, the com.sun.source.* API is a supported API, albeit a JDK API and
not a Java SE API.
Tracking started/ended events seems like a reasonable way to infer when
compilation is complete, but note that after parsing all the files on
the command line at the beginning of the compilation, javac may read
additional files later on, while analyzing files that have been read.
These additional files are those that javac needs to implicitly compile
in order to complete the compilation of the files given on the command line.
On 1/6/19 12:51 AM, Gunnar Morling wrote:
> So I've found one solution that seems good enough for my purposes: I'm
> counting the PARSE finished events. That way I know when I've received
> the last ANALYZE finished event, at which point I can take my required
> action (generating a resource file in this case).
> Thanks again,
> Am Sa., 5. Jan. 2019 um 23:04 Uhr schrieb Gunnar Morling <gunnar at hibernate.org>:
>> I'm exploring the (unsupported) plug-in API of javac. Java 9 added a
>> task event kind TaskEvent.Kind.COMPILATION which allows a listener to
>> react to the completion of the compilation.
>> Is there a way to achieve the same under Java 8? JDK-8033414 ,
>> which introduced the new event kind states "there is no easy way to be
>> notified when the compilation is complete". What way would that be,
>> from looking into the code I couldn't see any approach, be it easy or
>> more complex.
>>  https://bugs.openjdk.java.net/browse/JDK-8033414
More information about the compiler-dev