finalizedBy
_project.getPlugins().apply("kotlin")
_project.setConfig {
    setEntry("com/example/script/primary.kts")
    setPackageName("com.example.script.kotlin")
    setLogo("logo.png")
}
_project.getTasks().add("taskName1") {
    getActions().add("actionName") {
        onPerform {
            _console.log("taskName.${getName()} onPerform")
        }
    }
}
_project.getTasks().add("taskName2") {
    finalizedBy("taskName1")
    getActions().add("actionName") {
        onPerform {
            _console.log("taskName.${getName()} onPerform")
        }
    }
}
$project.getPlugins().apply("groovy")
$project.setConfig {
    setEntry("com/example/script/primary.groovy")
    setPackageName("com.example.script.groovy")
    setLogo("logo.png")
}
$project.getTasks().add("taskName1") {
    getActions().add("actionName") {
        onPerform {
            $console.log("taskName.${getName()} onPerform")
        }
    }
}
$project.getTasks().add("taskName2") {
    finalizedBy("taskName1")
    getActions().add("actionName") {
        onPerform {
            $console.log("taskName.${getName()} onPerform")
        }
    }
}
$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.getActions().add("actionName", action => {
        action.onPerform(() => {
            $console.log("taskName." + action.getName() + " onPerform")
        })
    })
})
$project.getTasks().add("taskName2", task => {
    task.finalizedBy("taskName1")
    task.getActions().add("actionName", action => {
        action.onPerform(() => {
            $console.log("taskName." + action.getName() + " onPerform")
        })
    })
})
_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:getActions():add("actionName", function(action)
        action:onPerform(function()
            _console:log("taskName." .. action:getName() .. " onPerform")
        end)
    end)
end)
_project:getTasks():add("taskName2", function(task)
    task:finalizedBy("taskName1")
    task:getActions():add("actionName", function(action)
        action:onPerform(function()
            _console:log("taskName." .. action:getName() .. " onPerform")
        end)
    end)
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->getActions()->add("actionName", function ($action) use ($console) {
        $action->onPerform(function () use ($console, $action) {
            $console->log("taskName." . $action->getName() . " onPerform");
        });
    });
});
$project->getTasks()->add("taskName2", function ($task) use ($console) {
    $task->finalizedBy("taskName1");
    $task->getActions()->add("actionName", function ($action) use ($console) {
        $action->onPerform(function () use ($console, $action) {
            $console->log("taskName." . $action->getName() . " onPerform");
        });
    });
});
_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):
    def fn2(action):
        def fn3(s):
            _console.log("taskName." + action.getName() + " onPerform")
        action.onPerform(fn3)
    task.getActions().add("actionName", fn2)
_project.getTasks().add("taskName1", fn1)
def fn4(task):
    def fn5(action):
        def fn6(s):
            _console.log("taskName." + action.getName() + " onPerform")
        action.onPerform(fn6)
    task.finalizedBy("taskName1")
    task.getActions().add("actionName", fn5)
_project.getTasks().add("taskName2", fn4)
$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.getActions().add("actionName") { |action|
    action.onPerform {
      $console.log("taskName.#{action.getName()} onPerform")
    }
  }
}
$project.getTasks().add("taskName2") { |task|
  task.finalizedBy("taskName1")
  task.getActions().add("actionName") { |action|
    action.onPerform {
      $console.log("taskName.#{action.getName()} onPerform")
    }
  }
}
Last modified: 30 October 2025