php - ¿Cómo recupero Composer a través de Ant?
composer-php (2)
Estoy tratando de hacer que mi script Ant recupere Composer para mí. Composer es un administrador de dependencias para PHP. Según el documento, se necesita ejecutar este comando: "curl -s https://getcomposer.org/installer | php" que descargará Composer.phar en el directorio en el que estoy. Esto funciona según lo previsto cuando se ejecuta desde un terminal. .
¿Cómo configuro el archivo de compilación Ant para esto? Hasta ahora tengo este segmento para el objetivo "composerget", pero no guarda el archivo, solo lo muestra en el shell de mi comando:
....
<target name="composerget" description="Composer update dependencies">
<exec executable="curl">
<arg line="-s" />
<arg line="https://getcomposer.org/installer"/>
<arg line="| php" />
</exec>
</target>
....
Cualquier ayuda es muy atractiva.
Esto descargará el instalador de Composer, verificará su firma y ejecutará el instalador:
<target name="composer" description="Install composer">
<exec executable="wget">
<arg value="-O" />
<arg value="composer-setup.sig" />
<arg value="https://composer.github.io/installer.sig" />
</exec>
<exec executable="wget">
<arg value="-O" />
<arg value="composer-setup.php" />
<arg value="https://getcomposer.org/installer" />
</exec>
<exec executable="bash">
<arg value="-c" />
<arg value="awk ''{print $$0 " composer-setup.php"}'' composer-setup.sig | sha384sum --check" />
</exec>
<exec executable="php">
<arg value="composer-setup.php" />
</exec>
<exec executable="rm">
<arg value="composer-setup.php" />
</exec>
<exec executable="rm">
<arg value="composer-setup.sig" />
</exec>
<exec executable="mv">
<arg value="composer.phar" />
<arg value="composer" />
</exec>
</target>
Si está utilizando GNU Make, este es el equivalente:
composer:
wget -O composer-setup.sig https://composer.github.io/installer.sig
wget -O composer-setup.php https://getcomposer.org/installer
awk ''{print $$0 " composer-setup.php"}'' composer-setup.sig | sha384sum --check
php composer-setup.php --quiet
rm composer-setup.*
mv composer.phar composer
<target name="composerget" description="Composer update dependencies">
<exec executable="/bin/bash">
<arg value="-c" />
<arg value="curl -s https://getcomposer.org/installer | php" />
</exec>
</target>
Debería hacer el truco.
El conducto (|) solo se puede usar en un script de shell. Lo estás pasando como un argumento para rizar. Por lo tanto, debe ejecutar un script de shell, que puede hacer con bash -c y pasar el comando como una instrucción de shell.