Задача Gradle - невозможно выполнить ряд Фибоначчи в groovy - PullRequest
0 голосов
/ 31 марта 2020

Столкнувшись с проблемой в вопросе:

Напишите программу gradle для генерации 10 рядов Фибоначчи с именем задачи как fibo и именем переменной как num. Используйте аргумент командной строки для num. Например, если имя задачи является тестовым, а я хочу передать 10 в качестве входных данных, используйте gradle test -Pnum = 10.

Я создал функцию:

def fibo(n){
    a = 0
    b = 1
    if (n == 1)
    println a
    else if
    (n == 2)
    println a + " " + b
    else if (n > 2) {
        print a + " " + b
        i = 2
        while (i <= n)
        {
        c = a + b
        print " " + c
        a = b
        b = c
        i = i + 1
        }
    }
}

Мой вопрос в том, как связать его с задачей, когда я сталкиваюсь с ошибкой типа:

FAILURE: сборка не удалась с исключением.

* What went wrong:
Task 'fibo' not found in root project 'root'.

* Try:
Run gradle tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.61 secs

или как передать параметры в задаче gradle?

Примечание: Пожалуйста, не предлагайте оптимизацию в коде Фибоначчи, пока это не проблема.

1 Ответ

0 голосов
/ 31 марта 2020

Вы можете определить задачу следующим образом:

def hello(name) {
        println "Hello, $name"
}

task sayHello() {
        doLast {
                hello sayHelloTo
        }
}

И назвать ее так:

% gradle sayHello -PsayHelloTo=World

> Task :sayHello
Hello, World

BUILD SUCCESSFUL in 518ms
1 actionable task: 1 executed

...