_project.getPlugins().apply("python") def configuration(config): config.setEntry("com/example/script/primary.py") config.setPackageName("com.example.script.py") config.setLogo("logo.png") _project.setConfig(configuration) def fn1(task): task.setNecessary(False) def fn2(action): def fn3(t): _console.log("taskName." + action.getName() + " onPerform") # 这里报错, 因为 setNecessary(False) 所以 taskName2 还是会执行 1 / 0 action.onPerform(fn3) task.getActions().add("actionName", fn2) _console.log("isNecessary", task.isNecessary()) _project.getTasks().add("taskName1", fn1) def fn4(task): task.dependsOn("taskName1") def fn5(action): def fn6(t): _console.log("taskName." + action.getName() + " onPerform") # 这里报错, 所以 taskName3 不会执行, 默认 isNecessary() 为 true 1 / 0 action.onPerform(fn6) task.getActions().add("actionName", fn5) _console.log("isNecessary", task.isNecessary()) _project.getTasks().add("taskName2", fn4) def fn7(task): task.dependsOn("taskName2") def fn8(action): def fn9(t): # 这里不会执行 _console.log("taskName." + action.getName() + " onPerform") action.onPerform(fn9) task.getActions().add("actionName", fn8) _console.log("isNecessary", task.isNecessary()) _project.getTasks().add("taskName3", fn7)