setNecessary
_project.getPlugins().apply("kotlin")
_project.setConfig {
setEntry("com/example/script/primary.kts")
setPackageName("com.example.script.kotlin")
setLogo("logo.png")
}
_project.getTasks().add("taskName1") {
setNecessary(false)
getActions().add("actionName") {
onPerform {
_console.log("taskName.${getName()} onPerform")
// 这里报错, 因为 setNecessary(false) 所以 taskName2 还是会执行
1 / 0
}
}
_console.log("isNecessary", isNecessary())
}
_project.getTasks().add("taskName2") {
dependsOn("taskName1")
getActions().add("actionName") {
onPerform {
_console.log("taskName.${getName()} onPerform")
// 这里报错, 所以 taskName3 不会执行, 默认 isNecessary() 为 true
1 / 0
}
}
_console.log("isNecessary", isNecessary())
}
_project.getTasks().add("taskName3") {
dependsOn("taskName2")
getActions().add("actionName") {
onPerform {
// 这里不会执行
_console.log("taskName.${getName()} onPerform")
}
}
_console.log("isNecessary", isNecessary())
}
$project.getPlugins().apply("groovy")
$project.setConfig {
setEntry("com/example/script/primary.groovy")
setPackageName("com.example.script.groovy")
setLogo("logo.png")
}
$project.getTasks().add("taskName1") {
setNecessary(false)
getActions().add("actionName") {
onPerform {
$console.log("taskName.${getName()} onPerform")
// 这里报错, 因为 setNecessary(false) 所以 taskName2 还是会执行
1 / 0
}
}
$console.log("isNecessary", isNecessary())
}
$project.getTasks().add("taskName2") {
dependsOn("taskName1")
getActions().add("actionName") {
onPerform {
$console.log("taskName.${getName()} onPerform")
// 这里报错, 所以 taskName3 不会执行, 默认 isNecessary() 为 true
1 / 0
}
}
$console.log("isNecessary", isNecessary())
}
$project.getTasks().add("taskName3") {
dependsOn("taskName2")
getActions().add("actionName") {
onPerform {
// 这里不会执行
$console.log("taskName.${getName()} onPerform")
}
}
$console.log("isNecessary", isNecessary())
}
$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("taskName1", task => {
task.setNecessary(false)
task.getActions().add("actionName", action => {
action.onPerform(() => {
$console.log("taskName." + action.getName() + " onPerform")
// 这里报错, 因为 setNecessary(false) 所以 taskName2 还是会执行
throw new Error('1 / 0');
})
})
$console.log("isNecessary", task.isNecessary())
})
$project.getTasks().add("taskName2", task => {
task.dependsOn("taskName1")
task.getActions().add("actionName", action => {
action.onPerform(() => {
$console.log("taskName." + action.getName() + " onPerform")
// 这里报错, 所以 taskName3 不会执行, 默认 isNecessary() 为 true
throw new Error('1 / 0');
})
})
$console.log("isNecessary", task.isNecessary())
})
$project.getTasks().add("taskName3", task => {
task.dependsOn("taskName2")
task.getActions().add("actionName", action => {
action.onPerform(() => {
// 这里不会执行
$console.log("taskName." + action.getName() + " onPerform")
})
})
$console.log("isNecessary", task.isNecessary())
})
_project:getPlugins():apply("lua")
_project:setConfig(function(c)
c:setEntry("com/example/script/primary.lua")
c:setPackageName("com.example.script.lua")
c:setLogo("logo.png")
end)
_project:getTasks():add("taskName1", function(task)
task:setNecessary(false)
task:getActions():add("actionName", function(action)
action:onPerform(function()
_console:log("taskName." .. action:getName() .. " onPerform")
-- 这里报错, 因为 setNecessary(false) 所以 taskName2 还是会执行
error("1 / 0")
end)
end)
_console:log("isNecessary", task:isNecessary())
end)
_project:getTasks():add("taskName2", function(task)
task:dependsOn("taskName1")
task:getActions():add("actionName", function(action)
action:onPerform(function()
_console:log("taskName." .. action:getName() .. " onPerform")
-- 这里报错, 所以 taskName3 不会执行, 默认 isNecessary() 为 true
error("1 / 0")
end)
end)
_console:log("isNecessary", task:isNecessary())
end)
_project:getTasks():add("taskName3", function(task)
task:dependsOn("taskName2")
task:getActions():add("actionName", function(action)
action:onPerform(function()
-- 这里不会执行
_console:log("taskName." .. action:getName() .. " onPerform")
end)
end)
_console:log("isNecessary", task:isNecessary())
end)
<?php
$project->getPlugins()->apply("php");
$project->setConfig(function ($c) {
$c->setEntry("com/example/script/primary.php");
$c->setPackageName("com.example.script.php");
$c->setLogo("logo.png");
});
$project->getTasks()->add("taskName1", function ($task) use ($console) {
$task->setNecessary(false);
$task->getActions()->add("actionName", function ($action) use ($console) {
$action->onPerform(function () use ($console, $action) {
$console->log("taskName." . $action->getName() . " onPerform");
// 这里报错, 因为 setNecessary(false) 所以 taskName2 还是会执行
error("1 / 0");
});
});
$console->log("isNecessary", $task->isNecessary());
});
$project->getTasks()->add("taskName2", function ($task) use ($console) {
$task->dependsOn("taskName1");
$task->getActions()->add("actionName", function ($action) use ($console) {
$action->onPerform(function () use ($console, $action) {
$console->log("taskName." . $action->getName() . " onPerform");
// 这里报错, 所以 taskName3 不会执行, 默认 isNecessary() 为 true
error("1 / 0");
});
});
$console->log("isNecessary", $task->isNecessary());
});
$project->getTasks()->add("taskName3", function ($task) use ($console) {
$task->dependsOn("taskName2");
$task->getActions()->add("actionName", function ($action) use ($console) {
$action->onPerform(function () use ($console, $action) {
// 这里不会执行
$console->log("taskName." . $action->getName() . " onPerform");
});
});
$console->log("isNecessary", $task->isNecessary());
});
_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)
$project.getPlugins().apply("ruby")
$project.setConfig { |config|
config.setEntry("com/example/script/primary.rb")
config.setPackageName("com.example.script.rb")
config.setLogo("logo.png")
}
$project.getTasks().add("taskName1") { |task|
task.setNecessary(false)
task.getActions().add("actionName") { |action|
action.onPerform {
$console.log("taskName.#{action.getName()} onPerform")
# 这里报错, 因为 setNecessary(false) 所以 taskName2 还是会执行
1 / 0
}
}
$console.log("isNecessary", task.isNecessary())
}
$project.getTasks().add("taskName2") { |task|
task.dependsOn("taskName1")
task.getActions().add("actionName") { |action|
action.onPerform {
$console.log("taskName.#{action.getName()} onPerform")
# 这里报错, 所以 taskName3 不会执行, 默认 isNecessary() 为 true
1 / 0
}
}
$console.log("isNecessary", task.isNecessary())
}
$project.getTasks().add("taskName3") { |task|
task.dependsOn("taskName2")
task.getActions().add("actionName") { |action|
action.onPerform {
# 这里不会执行
$console.log("taskName.#{action.getName()} onPerform")
}
}
$console.log("isNecessary", task.isNecessary())
}
Last modified: 29 April 2025