2013-06-14 5 views
3

phing에 익숙하지 만, 하나의 빌드 파일을 다른 파일로 가져올 때 나는 어리 석습니다. 가져온 빌드 파일이 실행되지 않습니다. 나는 틀린 것을 가져야 만한다. ($ phing --buildfile imported.xml은 잘 동작한다.)Phing 가져온 빌드 파일이 실행되지 않습니다.

이 나는 ​​시도했다 :

<?xml version="1.0" encoding="UTF-8"?> 
<project name="myproject" default="project" basedir="." description="Set up project"> 
    <target name="project"> 
     <echo msg="Deploy" /> 
    </target> 
    <import file="import.xml"/> 
</project> 

AND 

<?xml version="1.0" encoding="UTF-8"?> 
<project name="myproject" default="project" basedir="." description="Set up project"> 
    <target name="project"> 
     <echo msg="Deploy" /> 
     <import file="import.xml"/> 
    </target> 
</project> 
+0

가져온 파일에는 많은 문제가 있습니다. 매우 큰 빌드 파일을 피하기 위해 구성 요소마다 빌드 프로세스를 분할했지만 phing -l을 실행하면 중복 항목이 생겼습니다. -l – corretge

+0

고유 한 가져온 작업을 실행하는 데 문제가 있으면 접두사없이 실행하십시오. – corretge

답변

1

신경 끄시 고, 난 당신이 기본 대상 내부를 확인해야합니다 것을 알 수 있습니다. 그래서 지금

는 :

<?xml version="1.0" encoding="UTF-8"?> 
<project name="myproject" default="project" basedir="." description="Set up project"> 
    <target name="project"> 
     <echo msg="Deploy" /> 
     <phingcall target="importedTarget" /> 
    </target> 
    <import file="import.xml"/> 
</project> 
1

나는 문제가 "네임 스페이스"로 생각합니다. 내 사건을 너에게 설명해 줄 수있어.

나는이 구조 가져 오는 build.xml 파일이 있습니다 build.xml 파일

<import file="${tasks.dir}/phing/skel.xml" optional="false" /> 

<import file="${tasks.dir}/phing/qgpl/console.xml" optional="false" /> 
<import file="${tasks.dir}/phing/qgpl/folder.xml" optional="false" /> 

의 하단에

. 
├── bin 
│   ├── phing 
│   │   ├── qgpl 
│   │   │   ├── console.xml 
│   │   │   └── folder.xml 
│   │   └── skel.xml 

이러한 작업을 가져 오는 경우 파일 함/phing/QGPL/콘솔 .XML가 정의되어

<project name="qgpl.console" basedir="${build.dir}" > 

나는 대상이 중복 얻을 :

하나 개의 base64Encode 대상이 프로젝트에있을 경우
phing -l 

Buildfile: build.xml 
[property] Loading etc/config.ini 
[property] Loading etc/local-config.ini 
[property] Loading etc/after-local-config.ini 

Default target: 
------------------------------------------------------------------------------- 
build      Build the application 

Main targets: 
------------------------------------------------------------------------------- 
base64Encode    Convertim a Base64 una cadena preguntada 

[...] 

qgpl_console.base64Encode Convertim a Base64 una cadena preguntada 

는하지만, 아무것도 실행 오류없이하지만 아무것도하지 않고

phing base64Encode 

phing qgpl_console.base64Encode 

때문에 그것을 실행하도록해야합니다.

나는 그것이 가져온 파일

<project basedir="${build.dir}" > 

그리고 각 대상

<target name="qgpl.console.base64Encode" description="Convertim a Base64 una cadena preguntada" > 

    <input propertyname="stringPlain">Input string to convert to Base64</input> 
    <qgpl.base64Encode string="${stringPlain}" returnProperty="string64" /> 
    <echo>${string64}</echo> 
</target> 

나는이 문서에서 검색 한에서 "네임 스페이스"를 추가하는 프로젝트 이름 키워드를 제거 수정,하지만 난 돈 ' 다른 방법으로 찾지 못했습니다.