grails 이벤트 스크립트에서 인수로 플러그인을 호출해야합니다. 어떻게해야합니까?grails 이벤트에서 grails 명령을 호출 하시겠습니까?
특히 eventCompile
에 연결하여 generate-dto --all
으로 전화를 걸어 y
을 STDIN (으)로 보내려고합니다.
grails 이벤트 스크립트에서 인수로 플러그인을 호출해야합니다. 어떻게해야합니까?grails 이벤트에서 grails 명령을 호출 하시겠습니까?
특히 eventCompile
에 연결하여 generate-dto --all
으로 전화를 걸어 y
을 STDIN (으)로 보내려고합니다.
가장 쉬운 (그리고 아마도 가장 느린) 방법은 이벤트 핸들러에서 grails를 호출하는 것입니다. generate-dto
이 컴파일 이벤트를 생성하기 때문에 약간 까다 롭지 만 시스템 속성에서 조건부로 만들 수 있습니다. 두 번째 문제는 필수 입력입니다. 관습 적으로, grails 스크립트는 모두 --non-interactive
을 받아들이지 않고 사용자에게 프롬프트하지 않지만, dto 플러그인은이를 따르지 않는 것으로 보인다. Linux 나 MacOS X와 같은 Posix 시스템의 해결 방법은 yes
명령을 grails 입력으로 파이프하는 것입니다.
// scripts/_Events.groovy
eventCompileStart = { args ->
if (Boolean.valueOf(System.getProperty('in.generate', "false"))) {
// skip
} else {
['bash', '-c', 'yes | grails -Din.generate=true generate-dto --all'].execute()
}
}
--non-interactive argument
으로 전체 컴파일을 실행 해보십시오. 나는 Grails에게 사용자로부터 모든 질문과 입력을 건너 뛰라고 말한다. Jenkins (Hudson)에서 취업중인 경우. 도움이 될지 확신 할 수 없지만 시도 할 수는 있습니다. 허드슨에이 인수를 사용하여 내 앱을 테스트하고 플러그인 업데이트에 관한 질문은 건너 뜁니다.
오이, 더 재미 명령 실행 :
는 여기에 내가 일을 가지고 방법입니다. Windows, Linux 및 Mac Dev 환경에서 실행해야하지만 cmd/c를 사용하여 문제를 해결할 수 있습니다. –