2012-02-20 4 views
0

출력은 같이 :개미 <input> 작업의 출력을 변경하는 방법? 기본적으로 작업의

target name: 
    [input] some message: 
your input 
    [next task] 

내가 이런 걸보고 싶어요 :

target name: 
    [input] some message: your input 
    [next task] 

는 어떻게 만들 수를, 그 작업은 새로운 라인에 커서를하지 않습니다 메시지 후?

+0

가능한 개미의 사용자 정의 작업 출력을 변경하는 방법? (http://stackoverflow.com/questions/9359062/how-to-change-ants-custom-task-output) –

+0

질문을 한 번만 참을성있게 응답을 기다리십시오. 필요한 경우 원래 질문을 편집하고, 사람들을 괴롭히는 두 번째 시간을 게시하지 마십시오 –

+0

@ MarkO'Connor 아니, 제 의견으로는 친척이지만 다른 질문입니다. 이 질문에는 유사한 해결책이 있을지도 모르지만. 은 "원시"개미 작업이며 솔루션은 소스 코드를 편집하지 않고 구성 할 수 있습니다. – Sergey

답변

2

이 작업은 수행 할 수 있지만 약간 관련되어 있습니다. 원하는 것을 쉽게 수행 할 수있는 작업 자체에는 input 작업에 대한 옵션이 없습니다.

그러나 Ant 1.7 이상에서는 입력 핸들러을 제공하여 input 작업의 출력 (및 입력)을 제어 할 수 있습니다. Ant는 몇 가지 입력 핸들러와 함께 제공됩니다. 예를 들어 화면에 입력하는 내용을 반향하지 않는 보안 입력 용 핸들러가 있습니다. 원하는 경우 입력 처리기를 직접 작성하여 입력 및 출력 형식을 완전히 제어 할 수 있습니다.

입력 핸들러를 작성하려면 InputHandler 인터페이스를 구현하는 클래스를 작성해야합니다. Ant 소스 코드를 다운로드하고 DefaultInputHandler을보고 자신의 버전을 만들어 필요에 맞게 수정하는 것이 좋습니다. 개미 v1.8.3의 소스에서 프롬프트 및 입력은 다음과 같이 구현됩니다 : 나는 그것을 시도하지 않은,하지만 변경하는 printprintln 좋은 생각처럼 보인다

r = new BufferedReader(new InputStreamReader(getInputStream())); 
do { 
    System.err.println(prompt); 
    System.err.flush(); 
    try { 
     String input = r.readLine(); 
     request.setInput(input); 
    } catch (IOException e) { 
     throw new BuildException("Failed to read input from" 
           + " Console.", e); 
    } 
} while (!request.isInputValid()); 

.

완료되면 classname과 (예 : classpath) 매개 변수를 사용하여 컴파일 된 입력 처리기에 Ant의 input 작업을 지정할 수 있습니다.

+0

답변 해 주셔서 감사합니다. – Sergey

관련 문제