2010-06-25 3 views
4

У меня есть Gant сценарий А с двумя целямиКак вызывать нецелевое по умолчанию в Grails GANT сценарии

t1 - по умолчанию цели t2 - другая цель

Даже когда я бег

Grails A t2

Цель по умолчанию запущена? Как я могу запустить цель, отличную от значения по умолчанию? Я пробовал grails A --target = 't2' и т. Д., Но не работает.

+0

Вы когда-нибудь понять это? Я пытаюсь иметь один файл сценария и иметь возможность запускать несколько разных целей. – chrislovecnm

+0

Извините, я не мог понять это. Это было давно, поэтому я не помню точно, что я сделал. Но, насколько я помню, я следил за советом Берт о создании другого сценария. – Paras

ответ

3

Я не уверен, что есть правильный способ сделать это, но вы можете написать второй скрипт («T2.groovy»), который загружает этот файл, и устанавливает его по умолчанию, например.

includeTargets << new File("path/to/YourScript") 

setDefaultTarget("t2") 
+0

Спасибо, Берт. Это то, что я сделал сейчас. Я создал два скрипта T1.groovy и T2.groovy – Paras

1

Это еще один подход, который я взял

includeTargets << grailsScript("_GrailsArgParsing") 

надрез

target(main: "a script") { 
    if(!argsMap.target) 
     throw new IllegalArgumentException("please specify target name with --target option") 

    depends(argsMap.target) 
} 

setDefaultTarget(main) 

Вы запустите скрипт с параметром. Этот параметр является именем запускаемого метода :) Этот метод затем выполняется.

3

Подход к argsParsing подход состоит в том, чтобы запускать элементы из argsMap и итеративно зависеть от них. Таким образом, вы могли бы назвать ваш сценарий что-то вроде:

grails myScript do-this do-that do-the-other

scriptName = 'myScriptName'  
includeTargets << grailsScript("_GrailsArgParsing") 

надрез

target(main: "Default Target") { 
    depends(parseArguments) 
    if(argsMap?.size() == 0) { 
    depends(scriptError) 
    } 
    argsMap.each() { 
    if (it.value) { 
     println "${scriptName} building: ${it.value}" 
     depends(it.value) 
    } 
    else { 
     depends(scriptError) 
    } 
    } 
} 

надрез

target(help: "Print a help message") { 
    println "${scriptName}: possible targets are..." 
    println "\thelp - print this help message" 
} 

target(scriptError: "Print an error and die") { 
    println "${scriptName}: Please specify at least one target name" 
    depends(help) 
    exit 1 
} 
Смежные вопросы