cbeust / kobalt

A Kotlin-based build system for the JVM.
Apache License 2.0
432 stars 60 forks source link

javadoc {} need to call apt {} if available #449

Open ethauvin opened 7 years ago

ethauvin commented 7 years ago
$ k doc
            _  __          _               _   _
           | |/ /   ___   | |__     __ _  | | | |_
           | ' /   / _ \  | '_ \   / _` | | | | __|
           | . \  | (_) | | |_) | | (_| | | | | |_
           |_|\_\  \___/  |_.__/   \__,_| |_|  \__|  1.0.87

  Regular compilation time: 4578 ms
Parallel build starting
     ╔════════════════╗
     ║ Building jtalk ║
     ╚════════════════╝
───── jtalk:doc
  Java compiling 187 files
.\src\main\java\com\imacination\jtalk\servlets\JtalkServlet.java:11: error: cannot find symbol
import com.imacination.jtalk.GeneratedVersion;
                            ^
  symbol:   class GeneratedVersion
  location: package com.imacination.jtalk
1 warning

Thread report
╔════════════════════════════════════════╗
║  Time (sec) ║ Thread 30                ║
╠════════════════════════════════════════╣
║  0          ║ jtalk                    ║
║  14         ║ jtalk (14)               ║
╚════════════════════════════════════════╝
          ╔═════════════════════════════════════════════════════════╗
          ║  Project                       ║ Build status║ Time     ║
          ╠═════════════════════════════════════════════════════════╣
          ║  jtalk                         ║ SUCCESS     ║ 14.94    ║
          ╚═════════════════════════════════════════════════════════╝
PARALLEL BUILD SUCCESSFUL (14 SECONDS), sequential build would have taken 14 seconds

Fails, because the GeneratedVersion is never created. apt is not called.

Unfortunately, calling /.kobaltw assemble doc doesn't help, as doc is ran first:

$ k assemble doc
              __ __           __              __   __
             / //_/  ____    / /_   ____ _   / /  / /_
            / ,<    / __ \  / __ \ / __ `/  / /  / __/
           / /| |  / /_/ / / /_/ // /_/ /  / /  / /_
          /_/ |_|  \____/ /_.___/ \__,_/  /_/   \__/  1.0.87

  Regular compilation time: 5192 ms
Parallel build starting
     ╔════════════════╗
     ║ Building jtalk ║
     ╚════════════════╝
───── jtalk:doc
  Java compiling 187 files
.\src\main\java\com\imacination\jtalk\servlets\JtalkServlet.java:11: error: cannot find symbol
import com.imacination.jtalk.GeneratedVersion;
                            ^
  symbol:   class GeneratedVersion
  location: package com.imacination.jtalk
1 warning
───── jtalk:compile
  Java compiling 187 files
Note: [VersionProcessor] Found properties: version.properties
Note: [VersionProcessor] Found version: 1.1.11
Note: [VersionProcessor] Loaded template: version.mustache
Note: [VersionProcessor] Generated source: .\kobaltBuild\..\src\generated\java\com\imacination\jtalk\GeneratedVersion.java
───── jtalk:assemble
  Created .\kobaltBuild\libs\jtalk-1.1.11.jar
  Created .\kobaltBuild\libs\jtalk-1.1.11-sources.jar
  Created .\kobaltBuild\libs\jtalk-1.1.11-javadoc.jar
  Created .\kobaltBuild\libs\jtalk-1.1.11.pom

Thread report
╔════════════════════════════════════════╗
║  Time (sec) ║ Thread 30                ║
╠════════════════════════════════════════╣
║  0          ║ jtalk                    ║
║  24         ║ jtalk (24)               ║
╚════════════════════════════════════════╝
          ╔═════════════════════════════════════════════════════════╗
          ║  Project                       ║ Build status║ Time     ║
          ╠═════════════════════════════════════════════════════════╣
          ║  jtalk                         ║ SUCCESS     ║ 24.91    ║
          ╚═════════════════════════════════════════════════════════╝
PARALLEL BUILD SUCCESSFUL (24 SECONDS), sequential build would have taken 24 seconds
cbeust commented 7 years ago

Good catch. doc can't call apt directly since it's not supposed to know about it, so I need to find a better dependency specification for apt (or maybe doc) to cover that case.

ethauvin commented 7 years ago

Why is doc not just calling the standard compile? Shouldn't it just depend on it?