2012-02-01 9 views
1

인라인 코드 스 니펫과 다른 파일의 내용이 섞인 내용에서 파일을 생성하고 싶습니다. 같은 뭔가 :개미를 사용하여 코드 생성

<target name="generate-js-function"> 
    <concat destfile="mycode.js"> 
     <header trimleading="yes"> 
      // begin auto generated 
      var create = function() { 
       function createHtmlSnippet1() { 
     </header> 

     <fileset file="snippet1.js"/> 

     <header> 
       } 
     </header> 

     <header trimleading="yes"> 
      // begin auto generated 
      var create = function() { 
       function createHtmlSnippet2() { 
     </header> 

     <fileset file="snippet2.js"/> 

     <header> 
       } 
     </header> 

       return '' + createHtmlSnippet1() + createHtmlSnippet2(); 

      } 
      // end auto generated 
     </header> 
    </concat> 
</target> 

AFAIK는 하나의 header/footer, 그래서 그것을 할 수있는 적절한 방법은 무엇입니까이있을 수 있습니까?

업데이트 : 질문에있는 것이 분명하지 않은 경우 - 문의 해주세요. 행복하게 설명해 드리겠습니다.

답변

1

인라인 조각을 위해 당신이 사용할 수있는 string resource :

<concat destfile="mycode.js"> 
    <string> 
    // begin auto generated 
    var create = function() { 
      function createHtmlSnippet1() { 
    </string> 

    <fileset file="snippet1.js"/> 

    <string> 
    } 
    </string> 

    ... 

</concat> 

유일한 단점은 그것이 trimleading 속성을 지원하지 않는다는 것입니다,하지만 당신이 당신의 빌드 파일의 코드 인라인을 할 수 있습니다.

+0

정규식 필터를 적용 할 수 있습니까? – BreakPhreak

+0

네, 모든 것을 필터링하기 위해'filterchain'를 추가 할 수 있습니다. 또는 자신 만의'filterchain'을 가진 중첩 된'concat'를 사용하여 개별 파일을 필터링 할 수 있습니다. – matt

1

각 인라인 JS 부분을 자체 파일에 기록하고 모든 파일을 연결합니다.

echo 작업을 사용하여 ant 빌드 파일에서 동적으로 임시 파일에 작성한 다음 스니 j 파일과 임시 파일을 연관시킬 수 있습니다.

관련 문제