前言

这几天 从其他的地方上传了一份代码过来, 然后我们同事 编译 了一下, 之后启动, 都是好的 

然后 发布到服务器上面的时候, 出现了一些问题, 然后 我们来重新 check 了一下 idea 的编译输出, 呵呵 文件的创建日期是 3月份?, 现在是 5月份 

这是什么情况, 虽然我们在生活中会有这样的常识, idea 编译了项目之后, 如果没有对项目代码做什么改动, 它重新编译是增量编译的 

但是 我们应该怎么处理, 来触发项目的重新编译呢 ? 

虽然我们已知一些方式, 比如 删除掉 target, 点击 Rebuild Project 都可以做到这些效果, 那么道理是什么呢 ? 

这是一个比较常见的问题, 但是有些时候 我们了解的还不够清晰 

一下代码调试基于 社区版本的 idea-203.5251.39, 会以 Build Artifacts 的这个过程来调试整个流程 

以下为了调试, 会对代码做一些调整, 待会儿会列出这些调整 

我们一下过程 会尽量忽略掉一些无用的细节 

列出几个问题 

1. 为什么删除掉 target 之后 idea 会重新编译 

2. 为什么点击 Rebuild Project idea 会重新编译 

3. 以上一些流程中的细节 

idea 调试 Build Artifcats - BuildMain 进程 & 相关调试代码 

Build Artifacts 按钮对应的处理是在 BuildArtifactAction. doBuild 开始, 然后 经过一系列的逻辑, 之后会启动一个 BuildMain 的一个进程, 来和 idea 进行交互 

BuildMain 主要负责的就是 Build Artifacts 的具体的业务 

然后 BuildMain 进程, 这里为了调试更简单, 我这里的处理方式是 增加日志输出 

05 idea Build Arfifacts 的调试_重新编译

BuildMain 中的相关调试代码 

BuildMain.java 中增加 输出 idea 进程传递过来的命令的信息 

05 idea Build Arfifacts 的调试_重新编译_02

IncProjectBuilder 中增加需要增量影响的文件相关信息 

执行 ModuleLevelBuilder 的时候, 输出相关 builder 以及处理结果信息 

05 idea Build Arfifacts 的调试_idea_03

05 idea Build Arfifacts 的调试_java_04

BuildOperations 增加上下文的调试输出[这里的 outputRootWasDeleted 标记的就是编译输出目录是否存在]

05 idea Build Arfifacts 的调试_重新编译_05

FilesDelta 中增加 添加到 fileDelta 中需要增量处理的文件的上下文的信息, 比如什么文件, 调用的堆栈信息 等等 

05 idea Build Arfifacts 的调试_idea_06

新建项目 HelloWorld02 - 第一次编译

假设我们现在新建一个 HelloWorld02 的项目 

然后里面的结构大致如下, 一个简单的 Test00HelloWorld 

然后更新 输出目录, 增加 artifacts 配置, 之后点击 Build - Build Artifacts... - HelloWorld02.jar - Build 

然后 查看我们的日志文件 

05 idea Build Arfifacts 的调试_java_07

idea.log 输出文件如下 

可以看到从总体上来说, idea 进程向 BuildMain 发送了两个消息, 第一个是一个 UP_TO_DATE_CHECK 的一个消息, 另外的一个是一个 BUILD 的消息 

我们这里忽略这个 UP_TO_DATE_CHECK 的消息, 以及相关处理, 于我们这里的流程来说 并不重要 

我们来看这个 BUILD 消息, 从消息内容来说 他描述的就是我们从 Build - Build Artifacts... - HelloWorld02.jar - Build 这一系列操作的元数据, 这里传递到了 BuildMain 这边来执行 

在下面的 maven 的任务, idea 的任务的相关处理 都在日志中描述了, 对应的输出文件夹没有被删除, 并且不需要强制 build, 输出文件夹也不需要重新build 

我们这里着重关注这个任务 Module 'HelloWorld02' production, 他描述的就是我们的 HelloWorld 下面的 src/main/java[idea 称之为 Source Root] 下面的内容

从日志中可以看出在 BuildOperations.ensureFSStateInitialized 的检查中, 输出文件夹 "/Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02" 被删除掉了, 然后将源文件夹标记为了 dirty[需要重新编译]

然后 completedRecompileSourceSet 计算出来会影响的输出为 "/Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02/com/hx/test/Test00HelloWorld.class", 相关源文件为 “/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java”

然后 后面是 runModuleLevelBuilders 里面一系列 builder 的处理, 这个过程会编译 Test00HelloWorld.java, 生成 Test00HelloWorld.class, 然后通知 Test00HelloWorld.class 有改动, 传播给后面的流程 

然后 再后面的流程就是根据 target/production/HelloWorld02 来生成 artifacts HelloWorld02.jar 了 

Sun May 23 18:14:18 CST 2021 [channelRead0]-> # org.jetbrains.jps.api.CmdlineRemoteProto$Message@eefb9927
controller_message {
  params_message {
    build_type: UP_TO_DATE_CHECK
    global_settings {
      global_options_path: "/Users/jerry/IdeaProjects/idea-community/dea-203.5251.39/intellij-community/config/idea/options"
    }
    project_id: "/Users/jerry/IdeaProjects/HelloWorld02"
    scope {
      all_targets: true
      force_build: false
      type_id: "java-production"
    }
    scope {
      all_targets: true
      force_build: false
      type_id: "java-test"
    }
  }
  type: BUILD_PARAMETERS
}
session_id {
  least_sig_bits: -4864981027410987981
  most_sig_bits: -4802239951194010016
}
type: CONTROLLER_MESSAGE
Sun May 23 18:14:19 CST 2021 [ensureFSStateInitialized.target]-> Module 'HelloWorld02' production
Sun May 23 18:14:19 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:14:19 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:14:19 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> true
Sun May 23 18:14:19 CST 2021 [markRecompile]-> Module 'HelloWorld02' production
Sun May 23 18:14:19 CST 2021 [markRecompile]-> /Users/jerry/IdeaProjects/HelloWorld02/src/main/java
Sun May 23 18:14:19 CST 2021 [markRecompile]-> [/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java]
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.getStackTrace:1602
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:216
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:207
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.markRecompile:163
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.markDirty:265
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations$2.visitFile:333
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations$2.visitFile:294
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.nio.file.Files.walkFileTree:2801
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations.traverseRecursively:294
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations.markDirtyFiles:270
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.BuildOperations.initTargetFSState:78
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.BuildOperations.ensureFSStateInitialized:58
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.checkUpToDate:130
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildRunner.runBuild:140
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.runBuild:302
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.run:132
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0:227
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor.runWorker:1128
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor$Worker.run:628
Sun May 23 18:14:19 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.run:835
Sun May 23 18:14:26 CST 2021 [channelRead0]-> # org.jetbrains.jps.api.CmdlineRemoteProto$Message@bf453227

controller_message {
  type: CANCEL_BUILD_COMMAND
}
session_id {
  least_sig_bits: -6978746506770740552
  most_sig_bits: -4631621018272576759
}
type: CONTROLLER_MESSAGE
Sun May 23 18:14:27 CST 2021 [channelRead0]-> # org.jetbrains.jps.api.CmdlineRemoteProto$Message@4c622fa7
controller_message {
  params_message {
    build_type: BUILD
    builder_parameter {
      key: "history label"
      value: "build started 7e52e473"
    }
    builder_parameter {
      key: "artifacts"
      value: "[Lcom.intellij.packaging.artifacts.Artifact;@6491cff9"
    }
    global_settings {
      global_options_path: "/Users/jerry/IdeaProjects/idea-community/dea-203.5251.39/intellij-community/config/idea/options"
    }
    project_id: "/Users/jerry/IdeaProjects/HelloWorld02"
    scope {
      all_targets: true
      force_build: false
      type_id: "java-test"
    }
    scope {
      force_build: false
      target_id: "HelloWorld02:jar"
      type_id: "artifact"
    }
    scope {
      all_targets: true
      force_build: false
      type_id: "java-production"
    }
  }
  type: BUILD_PARAMETERS
}
session_id {
  least_sig_bits: -6528907598382842297
  most_sig_bits: 9143194329896929337
}
type: CONTROLLER_MESSAGE
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.target]-> maven-annotations-test:HelloWorld02
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:14:29 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@3298ac6d []
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.target]-> maven-annotations-production:HelloWorld02
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:14:29 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@1c65c8ba []
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.target]-> Resources for 'HelloWorld02' tests
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:14:29 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@7894f132 []
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.target]-> Resources for 'HelloWorld02' production
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:14:29 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@26fbe60c []
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.target]-> Module 'HelloWorld02' tests
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:14:29 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@2f1dd7b9 []
Sun May 23 18:14:29 CST 2021 [builder]-> INITIAL
Sun May 23 18:14:29 CST 2021 [builder]-> []
Sun May 23 18:14:29 CST 2021 [buildResult]-> OK
Sun May 23 18:14:29 CST 2021 [builder]-> SOURCE_GENERATOR
Sun May 23 18:14:29 CST 2021 [builder]-> [groovy]
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> SOURCE_INSTRUMENTER
Sun May 23 18:14:29 CST 2021 [builder]-> [scala, java]
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:14:29 CST 2021 [builder]-> [form]
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:14:29 CST 2021 [builder]-> [scala, java]
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:14:29 CST 2021 [builder]-> [kt, kts]
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:14:29 CST 2021 [builder]-> [java]
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:14:29 CST 2021 [builder]-> [groovy, java]
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:14:29 CST 2021 [builder]-> [scala, java]
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:14:29 CST 2021 [builder]-> [groovy]
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:14:29 CST 2021 [builder]-> [scala, java]
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:14:29 CST 2021 [builder]-> []
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:14:29 CST 2021 [builder]-> []
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:14:29 CST 2021 [builder]-> []
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:14:29 CST 2021 [builder]-> []
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:14:29 CST 2021 [builder]-> []
Sun May 23 18:14:29 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:29 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:14:29 CST 2021 [builder]-> []
Sun May 23 18:14:29 CST 2021 [buildResult]-> null
Sun May 23 18:14:29 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:14:29 CST 2021 [builder]-> [scala, java]
Sun May 23 18:14:29 CST 2021 [buildResult]-> OK

Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.target]-> Module 'HelloWorld02' production
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:14:29 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> true
Sun May 23 18:14:29 CST 2021 [markRecompile]-> Module 'HelloWorld02' production
Sun May 23 18:14:29 CST 2021 [markRecompile]-> /Users/jerry/IdeaProjects/HelloWorld02/src/main/java
Sun May 23 18:14:29 CST 2021 [markRecompile]-> [/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java]
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.getStackTrace:1602
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:216
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:207
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.markRecompile:163
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.markDirty:265
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations$2.visitFile:333
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations$2.visitFile:294
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.nio.file.Files.walkFileTree:2801
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations.traverseRecursively:294
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations.markDirtyFiles:270
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.BuildOperations.initTargetFSState:78
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.BuildOperations.ensureFSStateInitialized:58
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk:1232
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected:1071
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks:837
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuild:423
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.build:187
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildRunner.runBuild:132
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.runBuild:302
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.run:132
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0:227
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor.runWorker:1128
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor$Worker.run:628
Sun May 23 18:14:29 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.run:835
Sun May 23 18:14:30 CST 2021 [affectedOutputs]-> /Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02/com/hx/test/Test00HelloWorld.class
Sun May 23 18:14:30 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@23eceb5 [/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java]
Sun May 23 18:14:30 CST 2021 [markRecompile]-> Module 'HelloWorld02' production
Sun May 23 18:14:30 CST 2021 [markRecompile]-> /Users/jerry/IdeaProjects/HelloWorld02/src/main/java
Sun May 23 18:14:30 CST 2021 [markRecompile]-> [/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java]
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.getStackTrace:1602
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:216
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.addAll:54
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.<init>:45
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.beforeNextRoundStart:352
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders:1414
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk:1105
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk:1239
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected:1071
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks:837
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuild:423
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.build:187
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildRunner.runBuild:132
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.runBuild:302
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.run:132
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0:227
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor.runWorker:1128
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor$Worker.run:628
Sun May 23 18:14:30 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.run:835
Sun May 23 18:14:30 CST 2021 [builder]-> INITIAL
Sun May 23 18:14:30 CST 2021 [builder]-> []
Sun May 23 18:14:30 CST 2021 [buildResult]-> OK
Sun May 23 18:14:30 CST 2021 [builder]-> SOURCE_GENERATOR
Sun May 23 18:14:30 CST 2021 [builder]-> [groovy]
Sun May 23 18:14:30 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:30 CST 2021 [builder]-> SOURCE_INSTRUMENTER
Sun May 23 18:14:30 CST 2021 [builder]-> [scala, java]
Sun May 23 18:14:30 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:30 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:14:30 CST 2021 [builder]-> [form]
Sun May 23 18:14:30 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:30 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:14:30 CST 2021 [builder]-> [scala, java]
Sun May 23 18:14:30 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:30 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:14:30 CST 2021 [builder]-> [kt, kts]
Sun May 23 18:14:30 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:30 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:14:30 CST 2021 [builder]-> [java]
Sun May 23 18:14:31 CST 2021 [buildResult]-> OK
Sun May 23 18:14:31 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:14:31 CST 2021 [builder]-> [groovy, java]
Sun May 23 18:14:31 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:31 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:14:31 CST 2021 [builder]-> [scala, java]
Sun May 23 18:14:31 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:31 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:14:31 CST 2021 [builder]-> [groovy]
Sun May 23 18:14:31 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:31 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:14:31 CST 2021 [builder]-> [scala, java]
Sun May 23 18:14:31 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:31 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:14:31 CST 2021 [builder]-> []
Sun May 23 18:14:31 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:31 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:14:31 CST 2021 [builder]-> []
Sun May 23 18:14:31 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:31 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:14:31 CST 2021 [builder]-> []
Sun May 23 18:14:31 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:31 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:14:31 CST 2021 [builder]-> []
Sun May 23 18:14:31 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:31 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:14:31 CST 2021 [builder]-> []
Sun May 23 18:14:31 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:14:31 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:14:31 CST 2021 [builder]-> []
Sun May 23 18:14:31 CST 2021 [buildResult]-> null
Sun May 23 18:14:31 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:14:31 CST 2021 [builder]-> [scala, java]
Sun May 23 18:14:31 CST 2021 [buildResult]-> OK
Sun May 23 18:14:31 CST 2021 [markRecompile]-> Artifact 'HelloWorld02:jar'
Sun May 23 18:14:31 CST 2021 [markRecompile]-> /Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02
Sun May 23 18:14:31 CST 2021 [markRecompile]-> [/Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02/com/hx/test/Test00HelloWorld.class]
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.getStackTrace:1602
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:216
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:207
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.markRecompile:163
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.markDirty:265
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.markDirty:248
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.ChainedTargetsBuildListener.filesGenerated:53
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - jdk.internal.reflect.NativeMethodAccessorImpl.invoke0:-2
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - jdk.internal.reflect.NativeMethodAccessorImpl.invoke:62
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke:43
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.reflect.Method.invoke:567
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - com.intellij.util.EventDispatcher.dispatchVoidMethod:123
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - com.intellij.util.EventDispatcher.lambda$createMulticaster$1:86
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - com.sun.proxy.$Proxy28.filesGenerated:-1
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.CompileContextImpl.processMessage:170
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.builders.impl.BuildOutputConsumerImpl.fireFileGeneratedEvent:109
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.ChunkBuildOutputConsumerImpl.fireFileGeneratedEvents:96
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders:1539
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk:1105
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk:1239
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected:1071
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks:837
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuild:423
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.build:187
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildRunner.runBuild:132
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.runBuild:302
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.run:132
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0:227
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor.runWorker:1128
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor$Worker.run:628
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.run:835

Sun May 23 18:14:31 CST 2021 [ensureFSStateInitialized.target]-> Artifact 'HelloWorld02:jar'
Sun May 23 18:14:31 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:14:31 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:14:31 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:14:31 CST 2021 [markRecompile]-> Artifact 'HelloWorld02:jar'
Sun May 23 18:14:31 CST 2021 [markRecompile]-> /Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02
Sun May 23 18:14:31 CST 2021 [markRecompile]-> [/Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02/com/hx/test/Test00HelloWorld.class]
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.getStackTrace:1602
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:216
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:207
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.markRecompile:163
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.markDirty:265
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations$2.visitFile:333
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations$2.visitFile:294
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.nio.file.Files.walkFileTree:2801
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations.traverseRecursively:294
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations.markDirtyFiles:270
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.BuildOperations.initTargetFSState:78
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.BuildOperations.ensureFSStateInitialized:69
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk:1232
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected:1071
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks:837
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuild:423
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.build:187
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildRunner.runBuild:132
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.runBuild:302
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.run:132
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0:227
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor.runWorker:1128
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor$Worker.run:628
Sun May 23 18:14:31 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.run:835
Sun May 23 18:14:31 CST 2021 [affectedOutputs]-> /Users/jerry/IdeaProjects/HelloWorld02/target/artifacts/HelloWorld02_jar/HelloWorld02.jar
Sun May 23 18:14:31 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@361c4022 [/Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02/com/hx/test/Test00HelloWorld.class]

项目 HelloWorld02 无任何改动 - 第二次编译 

这里发送给 BuildMain 了一个 BUILD 的消息, 从消息内容来说 他描述的就是我们从 Build - Build Artifacts... - HelloWorld02.jar - Build 这一系列操作的元数据, 这里传递到了 BuildMain 这边来执行 

我们这里着重关注这个任务 Module 'HelloWorld02' production, 他描述的就是我们的 HelloWorld 下面的 src/main/java[idea 称之为 Source Root] 下面的内容

里面 输出目录存在, 没有文件改动 不需要重新编译, 轻松加愉快 

然后是后面的 生成 artifacts 的流程了, 同样是没有任何依赖文件改动, 什么都不需要做, 轻松加愉快 

Sun May 23 18:33:41 CST 2021 [channelRead0]-> # org.jetbrains.jps.api.CmdlineRemoteProto$Message@b2f423b5
controller_message {
  fs_event {
    changed_paths: "/Users/jerry/IdeaProjects/idea-community/dea-203.5251.39/intellij-community/system/idea/httpFileSystem/catalog.json"
    changed_paths: "/Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02/com/hx/test/Test00HelloWorld.class"
    changed_paths: "/Users/jerry/IdeaProjects/HelloWorld02/target/artifacts/HelloWorld02_jar/HelloWorld02.jar"
    ordinal: 1
  }
  params_message {
    build_type: BUILD
    builder_parameter {
      key: "history label"
      value: "build started 30ca768"
    }
    builder_parameter {
      key: "artifacts"
      value: "[Lcom.intellij.packaging.artifacts.Artifact;@599dfcda"
    }
    global_settings {
      global_options_path: "/Users/jerry/IdeaProjects/idea-community/dea-203.5251.39/intellij-community/config/idea/options"
    }
    project_id: "/Users/jerry/IdeaProjects/HelloWorld02"
    scope {
      all_targets: true
      force_build: false
      type_id: "java-test"
    }
    scope {
      force_build: false
      target_id: "HelloWorld02:jar"
      type_id: "artifact"
    }
    scope {
      all_targets: true
      force_build: false
      type_id: "java-production"
    }
  }
  type: BUILD_PARAMETERS
}
session_id {
  least_sig_bits: -6721829111522948633
  most_sig_bits: 2210928955197702773
}
type: CONTROLLER_MESSAGE
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.target]-> maven-annotations-test:HelloWorld02
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:33:41 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@533203a4 []
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.target]-> maven-annotations-production:HelloWorld02
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:33:41 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@29c23582 []
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.target]-> Resources for 'HelloWorld02' tests
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:33:41 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@410aecab []
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.target]-> Resources for 'HelloWorld02' production
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:33:41 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@1b1c51fb []
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.target]-> Module 'HelloWorld02' tests
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:33:41 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:33:41 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@4db993b3 []
Sun May 23 18:33:41 CST 2021 [builder]-> INITIAL
Sun May 23 18:33:41 CST 2021 [builder]-> []
Sun May 23 18:33:41 CST 2021 [buildResult]-> OK
Sun May 23 18:33:41 CST 2021 [builder]-> SOURCE_GENERATOR
Sun May 23 18:33:41 CST 2021 [builder]-> [groovy]
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> SOURCE_INSTRUMENTER
Sun May 23 18:33:41 CST 2021 [builder]-> [scala, java]
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:33:41 CST 2021 [builder]-> [form]
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:33:41 CST 2021 [builder]-> [scala, java]
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:33:41 CST 2021 [builder]-> [kt, kts]
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:33:41 CST 2021 [builder]-> [java]
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:33:41 CST 2021 [builder]-> [groovy, java]
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:33:41 CST 2021 [builder]-> [scala, java]
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:33:41 CST 2021 [builder]-> [groovy]
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:33:41 CST 2021 [builder]-> [scala, java]
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:33:41 CST 2021 [builder]-> []
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:33:41 CST 2021 [builder]-> []
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:33:41 CST 2021 [builder]-> []
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:33:41 CST 2021 [builder]-> []
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:33:41 CST 2021 [builder]-> []
Sun May 23 18:33:41 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:41 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:33:41 CST 2021 [builder]-> []
Sun May 23 18:33:41 CST 2021 [buildResult]-> null
Sun May 23 18:33:41 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:33:41 CST 2021 [builder]-> [scala, java]
Sun May 23 18:33:42 CST 2021 [buildResult]-> OK

Sun May 23 18:33:42 CST 2021 [ensureFSStateInitialized.target]-> Module 'HelloWorld02' production
Sun May 23 18:33:42 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:33:42 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:33:42 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:33:42 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@18bfa1e5 [/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java]
Sun May 23 18:33:42 CST 2021 [builder]-> INITIAL
Sun May 23 18:33:42 CST 2021 [builder]-> []
Sun May 23 18:33:42 CST 2021 [buildResult]-> OK
Sun May 23 18:33:42 CST 2021 [builder]-> SOURCE_GENERATOR
Sun May 23 18:33:42 CST 2021 [builder]-> [groovy]
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> SOURCE_INSTRUMENTER
Sun May 23 18:33:42 CST 2021 [builder]-> [scala, java]
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:33:42 CST 2021 [builder]-> [form]
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:33:42 CST 2021 [builder]-> [scala, java]
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:33:42 CST 2021 [builder]-> [kt, kts]
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:33:42 CST 2021 [builder]-> [java]
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:33:42 CST 2021 [builder]-> [groovy, java]
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:33:42 CST 2021 [builder]-> [scala, java]
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:33:42 CST 2021 [builder]-> [groovy]
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:33:42 CST 2021 [builder]-> [scala, java]
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:33:42 CST 2021 [builder]-> []
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:33:42 CST 2021 [builder]-> []
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:33:42 CST 2021 [builder]-> []
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:33:42 CST 2021 [builder]-> []
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:33:42 CST 2021 [builder]-> []
Sun May 23 18:33:42 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:33:42 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:33:42 CST 2021 [builder]-> []
Sun May 23 18:33:42 CST 2021 [buildResult]-> null
Sun May 23 18:33:42 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:33:42 CST 2021 [builder]-> [scala, java]
Sun May 23 18:33:42 CST 2021 [buildResult]-> OK

Sun May 23 18:33:42 CST 2021 [ensureFSStateInitialized.target]-> Artifact 'HelloWorld02:jar'
Sun May 23 18:33:42 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:33:42 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:33:42 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:33:42 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@66ace06c [/Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02/com/hx/test/Test00HelloWorld.class]

修改 Test00HelloWorld.java, 然后点击 Build Artifacts

我们来看这个 BUILD 消息, 从消息内容来说 他描述的就是我们从 Build - Build Artifacts... - HelloWorld02.jar - Build 这一系列操作的元数据, 这里传递到了 BuildMain 这边来执行 

注意这里的 BUILD 消息, 里面多了一个文件变动, 也就是我们刚才修改的 Test00HelloWorld.java 

我们这里着重关注这个任务 Module 'HelloWorld02' production, 他描述的就是我们的 HelloWorld 下面的 src/main/java[idea 称之为 Source Root] 下面的内容

BuildMain 发现 Test00HelloWorld.java 被改动了, 然后将源文件夹标记为了 dirty[需要重新编译]

然后 completedRecompileSourceSet 计算出来会影响的输出为 "/Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02/com/hx/test/Test00HelloWorld.class", 相关源文件为 “/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java”

然后 后面是 runModuleLevelBuilders 里面一系列 builder 的处理, 这个过程会编译 Test00HelloWorld.java, 生成 Test00HelloWorld.class, 然后通知 Test00HelloWorld.class 有改动, 传播给后面的流程 

然后 再后面的流程就是根据 target/production/HelloWorld02 来生成 artifacts HelloWorld02.jar 了 

Sun May 23 18:40:26 CST 2021 [channelRead0]-> # org.jetbrains.jps.api.CmdlineRemoteProto$Message@abc58284
controller_message {
  fs_event {
    changed_paths: "/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java"
    ordinal: 2
  }
  params_message {
    build_type: BUILD
    builder_parameter {
      key: "history label"
      value: "build started 2afe37eb"
    }
    builder_parameter {
      key: "artifacts"
      value: "[Lcom.intellij.packaging.artifacts.Artifact;@5a9790e8"
    }
    global_settings {
      global_options_path: "/Users/jerry/IdeaProjects/idea-community/dea-203.5251.39/intellij-community/config/idea/options"
    }
    project_id: "/Users/jerry/IdeaProjects/HelloWorld02"
    scope {
      all_targets: true
      force_build: false
      type_id: "java-test"
    }
    scope {
      force_build: false
      target_id: "HelloWorld02:jar"
      type_id: "artifact"
    }
    scope {
      all_targets: true
      force_build: false
      type_id: "java-production"
    }
  }
  type: BUILD_PARAMETERS
}
session_id {
  least_sig_bits: -8183901745625629457
  most_sig_bits: 7914471221422211504
}
type: CONTROLLER_MESSAGE
Sun May 23 18:40:26 CST 2021 [markRecompile]-> Module 'HelloWorld02' production
Sun May 23 18:40:26 CST 2021 [markRecompile]-> /Users/jerry/IdeaProjects/HelloWorld02/src/main/java
Sun May 23 18:40:26 CST 2021 [markRecompile]-> [/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java]
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.getStackTrace:1602
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:216
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:207
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.markRecompile:163
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.markDirty:265
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.markDirty:248
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.applyFSEvent:412
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.runBuild:269
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.run:132
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0:227
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor.runWorker:1128
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor$Worker.run:628
Sun May 23 18:40:26 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.run:835
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.target]-> maven-annotations-test:HelloWorld02
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:40:27 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@29e9090c []
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.target]-> maven-annotations-production:HelloWorld02
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:40:27 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@27f9c2b8 []
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.target]-> Resources for 'HelloWorld02' tests
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:40:27 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@2ea77888 []
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.target]-> Resources for 'HelloWorld02' production
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:40:27 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@7ca38c30 []
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.target]-> Module 'HelloWorld02' tests
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:40:27 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@1da7fe18 []
Sun May 23 18:40:27 CST 2021 [builder]-> INITIAL
Sun May 23 18:40:27 CST 2021 [builder]-> []
Sun May 23 18:40:27 CST 2021 [buildResult]-> OK
Sun May 23 18:40:27 CST 2021 [builder]-> SOURCE_GENERATOR
Sun May 23 18:40:27 CST 2021 [builder]-> [groovy]
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> SOURCE_INSTRUMENTER
Sun May 23 18:40:27 CST 2021 [builder]-> [scala, java]
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:40:27 CST 2021 [builder]-> [form]
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:40:27 CST 2021 [builder]-> [scala, java]
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:40:27 CST 2021 [builder]-> [kt, kts]
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:40:27 CST 2021 [builder]-> [java]
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:40:27 CST 2021 [builder]-> [groovy, java]
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:40:27 CST 2021 [builder]-> [scala, java]
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:40:27 CST 2021 [builder]-> [groovy]
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:40:27 CST 2021 [builder]-> [scala, java]
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:40:27 CST 2021 [builder]-> []
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:40:27 CST 2021 [builder]-> []
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:40:27 CST 2021 [builder]-> []
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:40:27 CST 2021 [builder]-> []
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:40:27 CST 2021 [builder]-> []
Sun May 23 18:40:27 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:27 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:40:27 CST 2021 [builder]-> []
Sun May 23 18:40:27 CST 2021 [buildResult]-> null
Sun May 23 18:40:27 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:40:27 CST 2021 [builder]-> [scala, java]
Sun May 23 18:40:27 CST 2021 [buildResult]-> OK

Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.target]-> Module 'HelloWorld02' production
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:40:27 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:40:28 CST 2021 [affectedOutputs]-> /Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02/com/hx/test/Test00HelloWorld.class
Sun May 23 18:40:28 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@aef73b6 [/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java]
Sun May 23 18:40:28 CST 2021 [markRecompile]-> Module 'HelloWorld02' production
Sun May 23 18:40:28 CST 2021 [markRecompile]-> /Users/jerry/IdeaProjects/HelloWorld02/src/main/java
Sun May 23 18:40:28 CST 2021 [markRecompile]-> [/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java]
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.getStackTrace:1602
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:216
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.addAll:54
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.<init>:45
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.beforeNextRoundStart:352
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders:1414
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk:1105
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk:1239
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected:1071
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks:837
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuild:423
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.build:187
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildRunner.runBuild:132
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.runBuild:302
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.run:132
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0:227
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor.runWorker:1128
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor$Worker.run:628
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.run:835
Sun May 23 18:40:28 CST 2021 [builder]-> INITIAL
Sun May 23 18:40:28 CST 2021 [builder]-> []
Sun May 23 18:40:28 CST 2021 [buildResult]-> OK
Sun May 23 18:40:28 CST 2021 [builder]-> SOURCE_GENERATOR
Sun May 23 18:40:28 CST 2021 [builder]-> [groovy]
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> SOURCE_INSTRUMENTER
Sun May 23 18:40:28 CST 2021 [builder]-> [scala, java]
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:40:28 CST 2021 [builder]-> [form]
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:40:28 CST 2021 [builder]-> [scala, java]
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:40:28 CST 2021 [builder]-> [kt, kts]
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:40:28 CST 2021 [builder]-> [java]
Sun May 23 18:40:28 CST 2021 [buildResult]-> OK
Sun May 23 18:40:28 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:40:28 CST 2021 [builder]-> [groovy, java]
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:40:28 CST 2021 [builder]-> [scala, java]
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:40:28 CST 2021 [builder]-> [groovy]
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:40:28 CST 2021 [builder]-> [scala, java]
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:40:28 CST 2021 [builder]-> []
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:40:28 CST 2021 [builder]-> []
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:40:28 CST 2021 [builder]-> []
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:40:28 CST 2021 [builder]-> []
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:40:28 CST 2021 [builder]-> []
Sun May 23 18:40:28 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:40:28 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:40:28 CST 2021 [builder]-> []
Sun May 23 18:40:28 CST 2021 [buildResult]-> null
Sun May 23 18:40:28 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:40:28 CST 2021 [builder]-> [scala, java]
Sun May 23 18:40:28 CST 2021 [buildResult]-> OK
Sun May 23 18:40:28 CST 2021 [markRecompile]-> Artifact 'HelloWorld02:jar'
Sun May 23 18:40:28 CST 2021 [markRecompile]-> /Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02
Sun May 23 18:40:28 CST 2021 [markRecompile]-> [/Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02/com/hx/test/Test00HelloWorld.class]
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.getStackTrace:1602
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:216
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:207
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.markRecompile:163
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.markDirty:265
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.markDirty:248
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.ChainedTargetsBuildListener.filesGenerated:53
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - jdk.internal.reflect.NativeMethodAccessorImpl.invoke0:-2
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - jdk.internal.reflect.NativeMethodAccessorImpl.invoke:62
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke:43
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.reflect.Method.invoke:567
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - com.intellij.util.EventDispatcher.dispatchVoidMethod:123
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - com.intellij.util.EventDispatcher.lambda$createMulticaster$1:86
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - com.sun.proxy.$Proxy26.filesGenerated:-1
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.CompileContextImpl.processMessage:170
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.builders.impl.BuildOutputConsumerImpl.fireFileGeneratedEvent:109
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.ChunkBuildOutputConsumerImpl.fireFileGeneratedEvents:96
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders:1539
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk:1105
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk:1239
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected:1071
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks:837
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuild:423
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.build:187
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildRunner.runBuild:132
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.runBuild:302
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.run:132
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0:227
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor.runWorker:1128
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor$Worker.run:628
Sun May 23 18:40:28 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.run:835

Sun May 23 18:40:28 CST 2021 [ensureFSStateInitialized.target]-> Artifact 'HelloWorld02:jar'
Sun May 23 18:40:28 CST 2021 [ensureFSStateInitialized.isBuildForced]-> false
Sun May 23 18:40:28 CST 2021 [ensureFSStateInitialized.isTargetDirty]-> false
Sun May 23 18:40:28 CST 2021 [ensureFSStateInitialized.outputRootWasDeleted]-> false
Sun May 23 18:40:28 CST 2021 [affectedOutputs]-> /Users/jerry/IdeaProjects/HelloWorld02/target/artifacts/HelloWorld02_jar/HelloWorld02.jar
Sun May 23 18:40:28 CST 2021 [mappings]-> org.jetbrains.jps.incremental.storage.BuildDataManager$SourceToOutputMappingWrapper@41964313 [/Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02/com/hx/test/Test00HelloWorld.class]

点击 Rebuild Projects 

我们来看这个 BUILD 消息, 从消息内容来说 他描述的就是我们从 Build - Build Artifacts... - HelloWorld02.jar - Build 这一系列操作的元数据, 这里传递到了 BuildMain 这边来执行 

注意这里的 BUILD 消息, 里面的 force_build 为 true 

对于 forceBuild 的场景, idea 里面有特殊的处理, 重新编译 classes, 以及依赖 classes 的相关任务 

这里不多赘述, 详细可以参见代码 

Sun May 23 18:46:08 CST 2021 [channelRead0]-> # org.jetbrains.jps.api.CmdlineRemoteProto$Message@a6c3da54
controller_message {
  type: CANCEL_BUILD_COMMAND
}
session_id {
  least_sig_bits: -8465088551084606103
  most_sig_bits: 7691053349611783415
}
type: CONTROLLER_MESSAGE
Sun May 23 18:46:09 CST 2021 [channelRead0]-> # org.jetbrains.jps.api.CmdlineRemoteProto$Message@9948fca7
controller_message {
  params_message {
    build_type: BUILD
    builder_parameter {
      key: "history label"
      value: "build started 368880e8"
    }
    builder_parameter {
      key: "cached_artifacts"
      value: "[]"
    }
    global_settings {
      global_options_path: "/Users/jerry/IdeaProjects/idea-community/dea-203.5251.39/intellij-community/config/idea/options"
    }
    project_id: "/Users/jerry/IdeaProjects/HelloWorld02"
    scope {
      all_targets: true
      force_build: true
      type_id: "java-production"
    }
    scope {
      all_targets: true
      force_build: true
      type_id: "java-test"
    }
  }
  type: BUILD_PARAMETERS
}
session_id {
  least_sig_bits: -8394639465014952859
  most_sig_bits: -7220281195903301175
}
type: CONTROLLER_MESSAGE
Sun May 23 18:46:10 CST 2021 [affectedOutputs]-> rebuild forced 
Sun May 23 18:46:10 CST 2021 [affectedOutputs]-> rebuild forced 
Sun May 23 18:46:10 CST 2021 [affectedOutputs]-> rebuild forced 
Sun May 23 18:46:11 CST 2021 [affectedOutputs]-> rebuild forced 
Sun May 23 18:46:11 CST 2021 [affectedOutputs]-> rebuild forced 
Sun May 23 18:46:11 CST 2021 [builder]-> INITIAL
Sun May 23 18:46:11 CST 2021 [builder]-> []
Sun May 23 18:46:11 CST 2021 [buildResult]-> OK
Sun May 23 18:46:11 CST 2021 [builder]-> SOURCE_GENERATOR
Sun May 23 18:46:11 CST 2021 [builder]-> [groovy]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> SOURCE_INSTRUMENTER
Sun May 23 18:46:11 CST 2021 [builder]-> [scala, java]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:46:11 CST 2021 [builder]-> [form]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:46:11 CST 2021 [builder]-> [scala, java]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:46:11 CST 2021 [builder]-> [kt, kts]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:46:11 CST 2021 [builder]-> [java]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:46:11 CST 2021 [builder]-> [groovy, java]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:46:11 CST 2021 [builder]-> [scala, java]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:46:11 CST 2021 [builder]-> [groovy]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:46:11 CST 2021 [builder]-> [scala, java]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:46:11 CST 2021 [builder]-> []
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:46:11 CST 2021 [builder]-> []
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:46:11 CST 2021 [builder]-> []
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:46:11 CST 2021 [builder]-> []
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:46:11 CST 2021 [builder]-> []
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:46:11 CST 2021 [builder]-> []
Sun May 23 18:46:11 CST 2021 [buildResult]-> null
Sun May 23 18:46:11 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:46:11 CST 2021 [builder]-> [scala, java]
Sun May 23 18:46:11 CST 2021 [buildResult]-> OK

Sun May 23 18:46:11 CST 2021 [markRecompile]-> Module 'HelloWorld02' production
Sun May 23 18:46:11 CST 2021 [markRecompile]-> /Users/jerry/IdeaProjects/HelloWorld02/src/main/java
Sun May 23 18:46:11 CST 2021 [markRecompile]-> [/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java]
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.getStackTrace:1602
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:216
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:207
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.markRecompile:163
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.markDirty:265
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations$2.visitFile:333
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations$2.visitFile:294
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.nio.file.Files.walkFileTree:2801
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations.traverseRecursively:294
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.FSOperations.markDirtyFiles:270
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.BuildOperations.ensureFSStateInitialized:42
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk:1232
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected:1071
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks:837
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuild:423
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.build:187
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildRunner.runBuild:132
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.runBuild:302
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.run:132
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0:227
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor.runWorker:1128
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor$Worker.run:628
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.run:835
Sun May 23 18:46:11 CST 2021 [affectedOutputs]-> rebuild forced 
Sun May 23 18:46:11 CST 2021 [markRecompile]-> Module 'HelloWorld02' production
Sun May 23 18:46:11 CST 2021 [markRecompile]-> /Users/jerry/IdeaProjects/HelloWorld02/src/main/java
Sun May 23 18:46:11 CST 2021 [markRecompile]-> [/Users/jerry/IdeaProjects/HelloWorld02/src/main/java/com/hx/test/Test00HelloWorld.java]
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.getStackTrace:1602
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:216
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.addAll:54
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.<init>:45
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.beforeNextRoundStart:352
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders:1414
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk:1105
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk:1239
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected:1071
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks:837
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuild:423
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.build:187
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildRunner.runBuild:132
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.runBuild:302
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.run:132
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0:227
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor.runWorker:1128
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor$Worker.run:628
Sun May 23 18:46:11 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.run:835
Sun May 23 18:46:11 CST 2021 [builder]-> INITIAL
Sun May 23 18:46:11 CST 2021 [builder]-> []
Sun May 23 18:46:11 CST 2021 [buildResult]-> OK
Sun May 23 18:46:11 CST 2021 [builder]-> SOURCE_GENERATOR
Sun May 23 18:46:11 CST 2021 [builder]-> [groovy]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> SOURCE_INSTRUMENTER
Sun May 23 18:46:11 CST 2021 [builder]-> [scala, java]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:46:11 CST 2021 [builder]-> [form]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:46:11 CST 2021 [builder]-> [scala, java]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> SOURCE_PROCESSOR
Sun May 23 18:46:11 CST 2021 [builder]-> [kt, kts]
Sun May 23 18:46:11 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:11 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:46:11 CST 2021 [builder]-> [java]
Sun May 23 18:46:12 CST 2021 [buildResult]-> OK
Sun May 23 18:46:12 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:46:12 CST 2021 [builder]-> [groovy, java]
Sun May 23 18:46:12 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:12 CST 2021 [builder]-> TRANSLATOR
Sun May 23 18:46:12 CST 2021 [builder]-> [scala, java]
Sun May 23 18:46:12 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:12 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:46:12 CST 2021 [builder]-> [groovy]
Sun May 23 18:46:12 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:12 CST 2021 [builder]-> OVERWRITING_TRANSLATOR
Sun May 23 18:46:12 CST 2021 [builder]-> [scala, java]
Sun May 23 18:46:12 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:12 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:46:12 CST 2021 [builder]-> []
Sun May 23 18:46:12 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:12 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:46:12 CST 2021 [builder]-> []
Sun May 23 18:46:12 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:12 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:46:12 CST 2021 [builder]-> []
Sun May 23 18:46:12 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:12 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:46:12 CST 2021 [builder]-> []
Sun May 23 18:46:12 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:12 CST 2021 [builder]-> CLASS_INSTRUMENTER
Sun May 23 18:46:12 CST 2021 [builder]-> []
Sun May 23 18:46:12 CST 2021 [buildResult]-> NOTHING_DONE
Sun May 23 18:46:12 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:46:12 CST 2021 [builder]-> []
Sun May 23 18:46:12 CST 2021 [buildResult]-> null
Sun May 23 18:46:12 CST 2021 [builder]-> CLASS_POST_PROCESSOR
Sun May 23 18:46:12 CST 2021 [builder]-> [scala, java]
Sun May 23 18:46:12 CST 2021 [buildResult]-> OK
Sun May 23 18:46:12 CST 2021 [markRecompile]-> Artifact 'HelloWorld02:jar'
Sun May 23 18:46:12 CST 2021 [markRecompile]-> /Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02
Sun May 23 18:46:12 CST 2021 [markRecompile]-> [/Users/jerry/IdeaProjects/HelloWorld02/target/production/HelloWorld02/com/hx/test/Test00HelloWorld.class]
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.getStackTrace:1602
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:216
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta._addToRecompiled:207
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.FilesDelta.markRecompile:163
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.markDirty:265
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.fs.BuildFSState.markDirty:248
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.ChainedTargetsBuildListener.filesGenerated:53
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - jdk.internal.reflect.NativeMethodAccessorImpl.invoke0:-2
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - jdk.internal.reflect.NativeMethodAccessorImpl.invoke:62
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke:43
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.reflect.Method.invoke:567
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - com.intellij.util.EventDispatcher.dispatchVoidMethod:123
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - com.intellij.util.EventDispatcher.lambda$createMulticaster$1:86
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - com.sun.proxy.$Proxy18.filesGenerated:-1
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.CompileContextImpl.processMessage:170
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.builders.impl.BuildOutputConsumerImpl.fireFileGeneratedEvent:109
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.ChunkBuildOutputConsumerImpl.fireFileGeneratedEvents:96
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders:1539
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk:1105
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk:1239
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected:1071
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks:837
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.runBuild:423
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.incremental.IncProjectBuilder.build:187
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildRunner.runBuild:132
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.runBuild:302
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildSession.run:132
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0:227
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor.runWorker:1128
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.util.concurrent.ThreadPoolExecutor$Worker.run:628
Sun May 23 18:46:12 CST 2021 [markRecompile-stacktrace]-> JPS thread pool - java.lang.Thread.run:835

回到最初的问题, 您在结合这些细节理一理 ? 

完