2023-08-22 08:27:30 +00:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<project
|
|
|
|
xmlns="http://lime.software/project/1.0.2"
|
|
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
|
|
xsi:schemaLocation="http://lime.software/project/1.0.2 http://lime.software/xsd/project-1.0.2.xsd">
|
|
|
|
|
|
|
|
<meta title="FunkinUnitTests" version="1.0.0" />
|
|
|
|
<app file="TestMain" main="TestMain" />
|
|
|
|
|
|
|
|
<!-- Test sources -->
|
|
|
|
<source path="source" />
|
|
|
|
|
|
|
|
<!-- Funkin' sources -->
|
|
|
|
<source path="../../source" />
|
|
|
|
|
|
|
|
<!-- Funkin' dependencies -->
|
|
|
|
<haxelib name="lime" /> <!-- Game engine -->
|
|
|
|
<haxelib name="openfl" /> <!-- Game engine -->
|
|
|
|
<haxelib name="flixel" /> <!-- Game engine -->
|
|
|
|
<haxelib name="flixel-addons" /> <!-- Additional utilities for Flixel -->
|
|
|
|
<haxelib name="hscript" /> <!-- Scripting -->
|
|
|
|
<haxelib name="flixel-ui" /> <!-- UI framework (deprecate this? -->
|
|
|
|
<haxelib name="haxeui-core" /> <!-- UI framework -->
|
|
|
|
<haxelib name="haxeui-flixel" /> <!-- Integrate HaxeUI with Flixel -->
|
|
|
|
<haxelib name="polymod" /> <!-- Modding framework -->
|
|
|
|
<haxelib name="flxanimate" /> <!-- Texture atlas rendering -->
|
|
|
|
<haxelib name="hxCodec" /> <!-- Video playback -->
|
|
|
|
<haxelib name="thx.semver" /> <!-- Semantic version handling -->
|
|
|
|
<haxelib name="json2object" /> <!-- JSON parsing -->
|
|
|
|
|
|
|
|
<!-- Test dependencies -->
|
|
|
|
<haxelib name="munit" /> <!-- Unit test execution -->
|
|
|
|
<haxelib name="mcover" /> <!-- Code coverage -->
|
|
|
|
<haxelib name="mockatoo" /> <!-- Mocking -->
|
|
|
|
<haxelib name="hamcrest" /> <!-- Assertions/matching -->
|
|
|
|
|
|
|
|
<!-- This macro allows addition of new functionality to existing Flixel. -->
|
|
|
|
<haxeflag name="--macro" value="addMetadata('@:build(funkin.util.macro.FlxMacro.buildFlxBasic())', 'flixel.FlxBasic')" />
|
2023-08-30 22:31:59 +00:00
|
|
|
<!-- Macros to satisfy null safety (null safety can't check nested functions, so assertions must be inlined) -->
|
|
|
|
<haxeflag name="--macro" value="addMetadata('@:build(funkin.util.macro.InlineMacro.makeInline(\'fail\', true))', 'massive.munit.Assert')" />
|
|
|
|
<haxeflag name="--macro" value="addMetadata('@:build(funkin.util.macro.InlineMacro.makeInline(\'isNotNull\', true))', 'massive.munit.Assert')" />
|
2023-08-22 08:27:30 +00:00
|
|
|
|
|
|
|
<!-- Assets -->
|
|
|
|
<assets path="assets/preload" rename="assets" exclude="*.ogg" if="web" />
|
|
|
|
<assets path="assets/preload" rename="assets" exclude="*.mp3" unless="web" />
|
2023-09-08 21:46:10 +00:00
|
|
|
<assets path="assets/shared" library="shared" exclude="*.fla|*.ogg" if="web" />
|
|
|
|
<assets path="assets/shared" library="shared" exclude="*.fla|*.mp3" unless="web" />
|
|
|
|
<library name="shared" preload="true" />
|
2023-08-22 08:27:30 +00:00
|
|
|
<!--
|
|
|
|
<assets path="assets/songs" library="songs" exclude="*.fla|*.ogg" if="web" />
|
|
|
|
<assets path="assets/songs" library="songs" exclude="*.fla|*.mp3" unless="web" />
|
|
|
|
<assets path="assets/tutorial" library="tutorial" exclude="*.fla|*.ogg" if="web" />
|
|
|
|
<assets path="assets/tutorial" library="tutorial" exclude="*.fla|*.mp3" unless="web" />
|
|
|
|
<assets path="assets/week1" library="week1" exclude="*.fla|*.ogg" if="web" />
|
|
|
|
<assets path="assets/week1" library="week1" exclude="*.fla|*.mp3" unless="web" />
|
|
|
|
<assets path="assets/week2" library="week2" exclude="*.fla|*.ogg" if="web" />
|
|
|
|
<assets path="assets/week2" library="week2" exclude="*.fla|*.mp3" unless="web" />
|
|
|
|
<assets path="assets/week3" library="week3" exclude="*.fla|*.ogg" if="web" />
|
|
|
|
<assets path="assets/week3" library="week3" exclude="*.fla|*.mp3" unless="web" />
|
|
|
|
<assets path="assets/week4" library="week4" exclude="*.fla|*.ogg" if="web" />
|
|
|
|
<assets path="assets/week4" library="week4" exclude="*.fla|*.mp3" unless="web" />
|
|
|
|
<assets path="assets/week5" library="week5" exclude="*.fla|*.ogg" if="web" />
|
|
|
|
<assets path="assets/week5" library="week5" exclude="*.fla|*.mp3" unless="web" />
|
|
|
|
<assets path="assets/week6" library="week6" exclude="*.fla|*.ogg" if="web" />
|
|
|
|
<assets path="assets/week6" library="week6" exclude="*.fla|*.mp3" unless="web" />
|
|
|
|
<assets path="assets/week7" library="week7" exclude="*.fla|*.ogg" if="web" />
|
|
|
|
<assets path="assets/week7" library="week7" exclude="*.fla|*.mp3" unless="web" />
|
|
|
|
<assets path="assets/weekend1" library="weekend1" exclude="*.fla|*.ogg" if="web" />
|
|
|
|
<assets path="assets/weekend1" library="weekend1" exclude="*.fla|*.mp3" unless="web" />
|
|
|
|
<library name="songs" preload="true" />
|
|
|
|
<library name="tutorial" preload="true" />
|
|
|
|
<library name="week1" preload="true" />
|
|
|
|
<library name="week2" preload="true" />
|
|
|
|
<library name="week3" preload="true" />
|
|
|
|
<library name="week4" preload="true" />
|
|
|
|
<library name="week5" preload="true" />
|
|
|
|
<library name="week6" preload="true" />
|
|
|
|
<library name="week7" preload="true" />
|
|
|
|
<library name="weekend1" preload="true" />
|
|
|
|
-->
|
|
|
|
|
|
|
|
<!-- Test defines -->
|
|
|
|
<set name="no-custom-backend" />
|
|
|
|
<set name="unit-test" />
|
|
|
|
<haxedef name="FLX_UNIT_TEST" />
|
|
|
|
<haxedef name="FLX_RECORD" />
|
|
|
|
|
2023-08-30 22:31:59 +00:00
|
|
|
<!-- Clean up the output -->
|
|
|
|
<!--
|
2023-09-08 21:46:10 +00:00
|
|
|
<haxedef name="echo-traces" />
|
2023-08-30 22:31:59 +00:00
|
|
|
-->
|
|
|
|
<haxedef name="ignore-inline" />
|
|
|
|
<haxeflag name="-w" value="-WDeprecated" />
|
|
|
|
|
|
|
|
<!-- Manually set up code coverage (because munit report and lime test are mutually exclusive) -->
|
|
|
|
<haxeflag name="--macro" value="mcover.MCover.coverage(['funkin'],['../../source', 'source/'],[''])" />
|
2023-08-22 08:27:30 +00:00
|
|
|
<haxelib name="mcover" />
|
|
|
|
<haxedef name="MCOVER" />
|
2023-08-30 22:31:59 +00:00
|
|
|
<haxedef name="safeMode"/>
|
|
|
|
<haxedef name="HXCPP_CHECK_POINTER" />
|
|
|
|
<haxedef name="HXCPP_STACK_LINE" />
|
|
|
|
<haxedef name="HXCPP_STACK_TRACE" />
|
2023-08-22 08:27:30 +00:00
|
|
|
</project>
|