emoji-catalog/build.xml

101 lines
3.3 KiB
XML
Raw Permalink Normal View History

2022-02-09 01:06:21 +03:00
<?xml version="1.0" encoding="UTF-8"?>
<project name="jawira/emoji-catalog" default="help" phingVersion="3">
2019-08-30 22:22:51 +03:00
2022-11-06 17:02:43 +03:00
<property name="emoji.source" value="https://unicode.org/Public/emoji/15.0/emoji-test.txt"/>
2019-08-30 22:22:51 +03:00
2022-02-09 01:06:21 +03:00
<target name="setup" description="Prepare project for dev" depends="composer:install"/>
2022-11-06 17:02:43 +03:00
<target name="qa" description="Quality assurance"
depends="composer:normalize,composer:validate,php:lint,emoji:tests"/>
<target name="update" description="Update class and catalog"
depends="emoji:download-source,emoji:update,doc:update,emoji:count"/>
2019-08-30 22:22:51 +03:00
2022-02-09 01:06:21 +03:00
2019-08-30 22:22:51 +03:00
<target name="composer:validate" description="Validate composer.json">
<composer command="validate">
<arg value="--no-interaction"/>
<arg value="--profile"/>
<arg value="--strict"/>
<arg value="--quiet"/>
2019-08-30 22:22:51 +03:00
</composer>
</target>
<target name="composer:install" description="Install for dev">
<composer command="install">
2020-10-14 00:58:07 +03:00
<arg value="--quiet"/>
2019-08-30 22:22:51 +03:00
<arg value="--no-suggest"/>
<arg value="--no-interaction"/>
<arg value="--profile"/>
<arg value="--prefer-dist"/>
</composer>
</target>
2022-11-06 17:02:43 +03:00
<target name="composer:normalize" description="Normalize composer.json">
<composer command="normalize">
<arg value="--ansi"/>
<arg value="--no-interaction"/>
<arg value="--diff"/>
<arg value="--indent-size=2"/>
<arg value="--indent-style=space"/>
</composer>
2019-08-30 22:22:51 +03:00
</target>
2022-11-06 17:02:43 +03:00
<target name="emoji:download-source">
<mkdir dir="resources/unicode"/>
<httpget dir="resources/unicode" url="${emoji.source}"/>
2019-10-02 00:08:31 +03:00
</target>
2022-11-06 17:02:43 +03:00
<target name="emoji:update" description="Generate Emoji class">
<autoloader autoloaderpath="vendor/autoload.php"/>
<taskdef name="emoji-update" classname="\Jawira\EmojiTask\EmojiUpdateTask"/>
<emoji-update/>
2019-10-02 00:08:31 +03:00
</target>
2022-11-06 17:02:43 +03:00
<target name="doc:update">
<autoloader autoloaderpath="vendor/autoload.php"/>
<taskdef name="catalog-update" classname="\Jawira\EmojiTask\CatalogUpdateTask"/>
<catalog-update/>
2019-08-30 22:22:51 +03:00
</target>
<target name="php:lint" description="Check PHP syntax">
2022-02-09 01:06:21 +03:00
<phplint deprecatedAsError="true" haltonfailure="true">
2019-08-30 22:22:51 +03:00
<fileset dir="src">
<include name="**/*.php"/>
</fileset>
</phplint>
</target>
2022-11-06 17:02:43 +03:00
<target name="emoji:tests" description="Test some fully-qualified emojis">
<autoloader autoloaderpath="vendor/autoload.php"/>
<php function="vanilla"/>
</target>
2019-10-28 19:37:42 +03:00
<target name="emoji:count" description="Count constants in Emoji class">
<autoloader autoloaderpath="vendor/autoload.php"/>
2022-11-06 17:02:43 +03:00
<adhoc-task name="emoji-count">
class EmojiCountTask extends \Phing\Task {
function main() {
$emojiReflection = new ReflectionClass(\Jawira\EmojiCatalog\Emoji::class);
$constants = $emojiReflection-&gt;getConstants();
$count = count($constants);
$this-&gt;log("Emoji count: $count");
$this-&gt;project-&gt;setProperty('emoji-count', $count);
}
2019-10-28 19:37:42 +03:00
}
2022-11-06 17:02:43 +03:00
</adhoc-task>
2019-10-28 19:37:42 +03:00
<emoji-count/>
</target>
2022-02-09 01:06:21 +03:00
<target name="help">
<uptodate property="uptodate.visualizer" srcfile="build.xml" targetfile="build.png"/>
<runtarget target="visualizer"/>
<open path="build.png"/>
</target>
<target name="visualizer" unless="uptodate.visualizer" description="Create buildfile map">
<visualizer/>
</target>
2019-08-30 22:22:51 +03:00
</project>