2013-06-14 4 views
3

Новое для phing, я чувствую себя немым, но когда я импортирую один файл сборки в другой. Файл импортированной сборки не выполняется. У меня должно быть что-то неправильно (обратите внимание, что $ phing --buildfile импортируется. 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 – corretge

+0

Если у вас возникли проблемы с выполнением импортированной задачи, которая является уникальной, попробуйте выполнить ее без префикса. – corretge

ответ

1

Nevermind, я вижу, что вы должны сделать внутри цели по умолчанию.

так теперь:

<?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, который импортирует эту структуру:

. 
├── bin 
│   ├── phing 
│   │   ├── qgpl 
│   │   │   ├── console.xml 
│   │   │   └── folder.xml 
│   │   └── skel.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" /> 

Если файл бен/Phing/QGPL/консоли .xml определяется с:

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

Я получаю цели дублируется:

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 

Но если есть только одна цель base64Encode в проекте, я должен выполнить его с

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> 

Я искал в документации, но я не» t нашел другой способ сделать это.

 Смежные вопросы

  • Нет связанных вопросов^_^