3

ping を初めて使用するので、ばかげているように感じますが、あるビルド ファイルを別のビルド ファイルにインポートすると、. インポートされたビルド ファイルは実行されません。何か問題があるに違いありません ( $ phing --buildfile import.xml が正常に動作することに注意してください)。

私が試してみました:

<?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>
4

2 に答える 2

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" />

ファイル bin/phing/qgpl/console.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 ターゲットが 1 つしかない場合は、それを実行する必要があります

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>

ドキュメントを検索していましたが、それ以外の方法は見つかりませんでした。

于 2013-12-24T11:16:59.733 に答える