$project.getPlugins().apply("javascript") $project.setConfig(config => { config.setEntry("com/example/script/primary.js") config.setPackageName("com.example.script.js") config.setLogo("logo.png") }) $project.getTasks().add("taskName", (task) => { task.getActions().add("actionName1", (action) => { action.setNecessary(false) action.onPerform(() => { $console.log("taskName." + action.getName() + " isNecessary=" + action.isNecessary()) $console.log("taskName." + action.getName() + " onPerform") // 这里报错因为 setNecessary(false) 的关系, 剩下的 actionName2 还会被执行 throw new Error('1 / 0'); }) }) task.getActions().add("actionName2", (action) => { action.setNecessary(true) action.onPerform(() => { $console.log("taskName." + action.getName() + " isNecessary=" + action.isNecessary()) // actionName1 执行错误但是 setNecessary(false), 所以下面代码会执行 $console.log("taskName." + action.getName() + " onPerform") // 这里报错因为 setNecessary(true) 的关系, 剩下的 actionName3 不会被执行 throw new Error('1 / 0'); }) }) task.getActions().add("actionName3", (action) => { action.onPerform(() => { // actionName2 执行错误并且 setNecessary(true), 所以下面代码不会执行 $console.log("taskName." + action.getName() + " onPerform") }) }) })