2012-02-05 4 views
1

저는 triyng을 사용하여 joomla 플러그인을 작성하는 일반 phing 스크립트를 작성했습니다.phing은 디렉토리에서 파일을 가져 와서 XML 파일 용 목록을 만듭니다.

각 joomla 플러그인은 joomla 시스템에서 플러그인을 설치하기 위해 사용하는 .xml 파일을 가지고 있어야합니다. 내가 게으른 그리고 난 항상 자신이 일을하고 싶지 않기 때문에 내가 갖고 싶어,

<files> 
    <folder>folder1</folder> 
    <filename plugin="nameofplugin">nameofplugin.php</filename> 
    <filename>index.html</filename> 
</files> 

을 지금이 XML 파일에서 우리는 다음과 같이 우리의 우편 아카이브 무슨 파일 및 폴더를 정의 할 필요가 phing 스크립트는 나를 위해 이것을한다.

나는 모든 플러그인 파일은 다음과 같이 특정 폴더로 이동 한 :

-pluginFolder

--folder1

--nameofplugin.php

--index.php

나는 foreach를 다음과 같이 사용할 수 있음을 알았습니다.

<foreach param="dirname" absparam="absname" target="subtask"> 
     <fileset dir="${destination.dir}"> 
      <type type="file" /> 
      <depth max="0" min="0" /> 
     </fileset> 
    </foreach> 

<target name="subtask"> 
    <echo msg="<file>: ${dirname}" /> 
</target> 

여기서 하위 타스크는 모든 파일을 단일 변수로 병합하는 방법을 알아 내지 못해서 예를 들어 replacetokens를 사용할 수 있습니까?

이것에 대한 아이디어가 있으십니까? 이 작업을 수행하는 자체 phing 클래스를 빌드해야합니까? 또는 phing이 제공하는 것과 함께 이것을 달성 할 수있는 쉬운 방법이 있습니까?

답변

3

좋아, 나는 내가 원하는 것을 얻을 수 있었다. 나는 새로운 핑 작업을 만들어 거기에 대체 작업을했다.

가이 줌라 플러그인의 기본 작동 방식을 볼 수 있습니다 https://github.com/compojoom/CUpdater

build.xml 파일이 여기에 있습니다 :

https://github.com/compojoom/CUpdater/blob/master/builds/plugin.xml

및 작업이 여기에 있습니다 :

https://github.com/compojoom/CUpdater/blob/master/builds/phingext/listjpackagefilestask.php

관련 문제