diff --git a/.travis.yml b/.travis.yml index 166db454..3014fa08 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,16 +4,25 @@ os: - mac - linux - windows + haxe: - stable - development + env: + # Run basic tests for each combination of target language and operating system - KISS_TARGET=cpp - KISS_TARGET=interp - KISS_TARGET=js - KISS_TARGET=nodejs - KISS_TARGET=py - - KISS_TARGET=projects + # Test projects on every operating system + - KISS_PROJECT=aoc + - KISS_PROJECT=asciilib2 + - KISS_PROJECT=file-watch + - KISS_PROJECT=kiss-vscode + - KISS_PROJECT=nat-archive-tool + - KISS_PROJECT=pdf-salad jobs: # Allow Haxe development to fail. @@ -25,6 +34,7 @@ jobs: - script: haxelib install formatter && haxelib run formatter --check -s . os: linux haxe: stable + # TODO Check that every project is tested in this file install: - if [ "${TRAVIS_OS_NAME}" = "windows" ]; then diff --git a/projects/flixel/rpg-tutorial/.gitignore b/projects/flixel-rpg-tutorial/.gitignore similarity index 100% rename from projects/flixel/rpg-tutorial/.gitignore rename to projects/flixel-rpg-tutorial/.gitignore diff --git a/projects/flixel/rpg-tutorial/.vscode/extensions.json b/projects/flixel-rpg-tutorial/.vscode/extensions.json similarity index 100% rename from projects/flixel/rpg-tutorial/.vscode/extensions.json rename to projects/flixel-rpg-tutorial/.vscode/extensions.json diff --git a/projects/flixel/rpg-tutorial/.vscode/launch.json b/projects/flixel-rpg-tutorial/.vscode/launch.json similarity index 100% rename from projects/flixel/rpg-tutorial/.vscode/launch.json rename to projects/flixel-rpg-tutorial/.vscode/launch.json diff --git a/projects/flixel/rpg-tutorial/.vscode/settings.json b/projects/flixel-rpg-tutorial/.vscode/settings.json similarity index 100% rename from projects/flixel/rpg-tutorial/.vscode/settings.json rename to projects/flixel-rpg-tutorial/.vscode/settings.json diff --git a/projects/flixel/rpg-tutorial/.vscode/tasks.json b/projects/flixel-rpg-tutorial/.vscode/tasks.json similarity index 100% rename from projects/flixel/rpg-tutorial/.vscode/tasks.json rename to projects/flixel-rpg-tutorial/.vscode/tasks.json diff --git a/projects/flixel/rpg-tutorial/Project.xml b/projects/flixel-rpg-tutorial/Project.xml similarity index 100% rename from projects/flixel/rpg-tutorial/Project.xml rename to projects/flixel-rpg-tutorial/Project.xml diff --git a/projects/flixel/rpg-tutorial/README.md b/projects/flixel-rpg-tutorial/README.md similarity index 100% rename from projects/flixel/rpg-tutorial/README.md rename to projects/flixel-rpg-tutorial/README.md diff --git a/projects/flixel/rpg-tutorial/assets/data/data-goes-here.txt b/projects/flixel-rpg-tutorial/assets/data/data-goes-here.txt similarity index 100% rename from projects/flixel/rpg-tutorial/assets/data/data-goes-here.txt rename to projects/flixel-rpg-tutorial/assets/data/data-goes-here.txt diff --git a/projects/flixel/rpg-tutorial/assets/data/room-001.json b/projects/flixel-rpg-tutorial/assets/data/room-001.json similarity index 100% rename from projects/flixel/rpg-tutorial/assets/data/room-001.json rename to projects/flixel-rpg-tutorial/assets/data/room-001.json diff --git a/projects/flixel/rpg-tutorial/assets/data/turnBasedRPG.ogmo b/projects/flixel-rpg-tutorial/assets/data/turnBasedRPG.ogmo similarity index 100% rename from projects/flixel/rpg-tutorial/assets/data/turnBasedRPG.ogmo rename to projects/flixel-rpg-tutorial/assets/data/turnBasedRPG.ogmo diff --git a/projects/flixel/rpg-tutorial/assets/images/boss.png b/projects/flixel-rpg-tutorial/assets/images/boss.png similarity index 100% rename from projects/flixel/rpg-tutorial/assets/images/boss.png rename to projects/flixel-rpg-tutorial/assets/images/boss.png diff --git a/projects/flixel/rpg-tutorial/assets/images/coin.png b/projects/flixel-rpg-tutorial/assets/images/coin.png similarity index 100% rename from projects/flixel/rpg-tutorial/assets/images/coin.png rename to projects/flixel-rpg-tutorial/assets/images/coin.png diff --git a/projects/flixel/rpg-tutorial/assets/images/enemy.png b/projects/flixel-rpg-tutorial/assets/images/enemy.png similarity index 100% rename from projects/flixel/rpg-tutorial/assets/images/enemy.png rename to projects/flixel-rpg-tutorial/assets/images/enemy.png diff --git a/projects/flixel/rpg-tutorial/assets/images/images-go-here.txt b/projects/flixel-rpg-tutorial/assets/images/images-go-here.txt similarity index 100% rename from projects/flixel/rpg-tutorial/assets/images/images-go-here.txt rename to projects/flixel-rpg-tutorial/assets/images/images-go-here.txt diff --git a/projects/flixel/rpg-tutorial/assets/images/player.png b/projects/flixel-rpg-tutorial/assets/images/player.png similarity index 100% rename from projects/flixel/rpg-tutorial/assets/images/player.png rename to projects/flixel-rpg-tutorial/assets/images/player.png diff --git a/projects/flixel/rpg-tutorial/assets/images/tiles.png b/projects/flixel-rpg-tutorial/assets/images/tiles.png similarity index 100% rename from projects/flixel/rpg-tutorial/assets/images/tiles.png rename to projects/flixel-rpg-tutorial/assets/images/tiles.png diff --git a/projects/flixel/rpg-tutorial/assets/music/music-goes-here.txt b/projects/flixel-rpg-tutorial/assets/music/music-goes-here.txt similarity index 100% rename from projects/flixel/rpg-tutorial/assets/music/music-goes-here.txt rename to projects/flixel-rpg-tutorial/assets/music/music-goes-here.txt diff --git a/projects/flixel/rpg-tutorial/assets/sounds/sounds-go-here.txt b/projects/flixel-rpg-tutorial/assets/sounds/sounds-go-here.txt similarity index 100% rename from projects/flixel/rpg-tutorial/assets/sounds/sounds-go-here.txt rename to projects/flixel-rpg-tutorial/assets/sounds/sounds-go-here.txt diff --git a/projects/flixel/rpg-tutorial/hxformat.json b/projects/flixel-rpg-tutorial/hxformat.json similarity index 100% rename from projects/flixel/rpg-tutorial/hxformat.json rename to projects/flixel-rpg-tutorial/hxformat.json diff --git a/projects/flixel/rpg-tutorial/source/AssetPaths.hx b/projects/flixel-rpg-tutorial/source/AssetPaths.hx similarity index 100% rename from projects/flixel/rpg-tutorial/source/AssetPaths.hx rename to projects/flixel-rpg-tutorial/source/AssetPaths.hx diff --git a/projects/flixel/rpg-tutorial/source/Coin.hx b/projects/flixel-rpg-tutorial/source/Coin.hx similarity index 100% rename from projects/flixel/rpg-tutorial/source/Coin.hx rename to projects/flixel-rpg-tutorial/source/Coin.hx diff --git a/projects/flixel/rpg-tutorial/source/Coin.kiss b/projects/flixel-rpg-tutorial/source/Coin.kiss similarity index 100% rename from projects/flixel/rpg-tutorial/source/Coin.kiss rename to projects/flixel-rpg-tutorial/source/Coin.kiss diff --git a/projects/flixel/rpg-tutorial/source/Enemy.hx b/projects/flixel-rpg-tutorial/source/Enemy.hx similarity index 100% rename from projects/flixel/rpg-tutorial/source/Enemy.hx rename to projects/flixel-rpg-tutorial/source/Enemy.hx diff --git a/projects/flixel/rpg-tutorial/source/Enemy.kiss b/projects/flixel-rpg-tutorial/source/Enemy.kiss similarity index 100% rename from projects/flixel/rpg-tutorial/source/Enemy.kiss rename to projects/flixel-rpg-tutorial/source/Enemy.kiss diff --git a/projects/flixel/rpg-tutorial/source/FSM.hx b/projects/flixel-rpg-tutorial/source/FSM.hx similarity index 100% rename from projects/flixel/rpg-tutorial/source/FSM.hx rename to projects/flixel-rpg-tutorial/source/FSM.hx diff --git a/projects/flixel/rpg-tutorial/source/FSM.kiss b/projects/flixel-rpg-tutorial/source/FSM.kiss similarity index 100% rename from projects/flixel/rpg-tutorial/source/FSM.kiss rename to projects/flixel-rpg-tutorial/source/FSM.kiss diff --git a/projects/flixel/rpg-tutorial/source/Main.hx b/projects/flixel-rpg-tutorial/source/Main.hx similarity index 100% rename from projects/flixel/rpg-tutorial/source/Main.hx rename to projects/flixel-rpg-tutorial/source/Main.hx diff --git a/projects/flixel/rpg-tutorial/source/Main.kiss b/projects/flixel-rpg-tutorial/source/Main.kiss similarity index 100% rename from projects/flixel/rpg-tutorial/source/Main.kiss rename to projects/flixel-rpg-tutorial/source/Main.kiss diff --git a/projects/flixel/rpg-tutorial/source/MenuState.hx b/projects/flixel-rpg-tutorial/source/MenuState.hx similarity index 100% rename from projects/flixel/rpg-tutorial/source/MenuState.hx rename to projects/flixel-rpg-tutorial/source/MenuState.hx diff --git a/projects/flixel/rpg-tutorial/source/MenuState.kiss b/projects/flixel-rpg-tutorial/source/MenuState.kiss similarity index 100% rename from projects/flixel/rpg-tutorial/source/MenuState.kiss rename to projects/flixel-rpg-tutorial/source/MenuState.kiss diff --git a/projects/flixel/rpg-tutorial/source/PlayState.hx b/projects/flixel-rpg-tutorial/source/PlayState.hx similarity index 100% rename from projects/flixel/rpg-tutorial/source/PlayState.hx rename to projects/flixel-rpg-tutorial/source/PlayState.hx diff --git a/projects/flixel/rpg-tutorial/source/PlayState.kiss b/projects/flixel-rpg-tutorial/source/PlayState.kiss similarity index 100% rename from projects/flixel/rpg-tutorial/source/PlayState.kiss rename to projects/flixel-rpg-tutorial/source/PlayState.kiss diff --git a/projects/flixel/rpg-tutorial/source/Player.hx b/projects/flixel-rpg-tutorial/source/Player.hx similarity index 100% rename from projects/flixel/rpg-tutorial/source/Player.hx rename to projects/flixel-rpg-tutorial/source/Player.hx diff --git a/projects/flixel/rpg-tutorial/source/Player.kiss b/projects/flixel-rpg-tutorial/source/Player.kiss similarity index 100% rename from projects/flixel/rpg-tutorial/source/Player.kiss rename to projects/flixel-rpg-tutorial/source/Player.kiss diff --git a/projects/flixel/rpg-tutorial/source/import.hx b/projects/flixel-rpg-tutorial/source/import.hx similarity index 100% rename from projects/flixel/rpg-tutorial/source/import.hx rename to projects/flixel-rpg-tutorial/source/import.hx diff --git a/projects/flixel/README.md b/projects/flixel/README.md deleted file mode 100644 index 5fe4595b..00000000 --- a/projects/flixel/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# HaxeFlixel Projects - -Various examples of how to combine Kiss with HaxeFlixel \ No newline at end of file diff --git a/projects/flixel/test.sh b/projects/flixel/test.sh deleted file mode 100755 index 50e9d7fd..00000000 --- a/projects/flixel/test.sh +++ /dev/null @@ -1,12 +0,0 @@ -#! /bin/bash - -# Make sure the examples with backends compile, at least: -EXAMPLE_DIRS=./**/ - -for EXAMPLE_DIR in $EXAMPLE_DIRS -do - echo "Building $EXAMPLE_DIR for html5" - (cd $EXAMPLE_DIR && haxelib run lime build html5) - echo "Building $EXAMPLE_DIR for cpp" - (cd $EXAMPLE_DIR && haxelib run lime build cpp) -done \ No newline at end of file diff --git a/projects/nap/test.sh b/projects/nap/test.sh deleted file mode 100644 index 67438b8a..00000000 --- a/projects/nap/test.sh +++ /dev/null @@ -1,4 +0,0 @@ -#! /bin/bash - -haxelib dev nap . -haxe test.hxml \ No newline at end of file diff --git a/projects/nap/haxelib.json b/projects/nat-archive-tool/haxelib.json similarity index 91% rename from projects/nap/haxelib.json rename to projects/nat-archive-tool/haxelib.json index 337f7ccb..82b73518 100644 --- a/projects/nap/haxelib.json +++ b/projects/nat-archive-tool/haxelib.json @@ -1,5 +1,5 @@ { - "name": "nap", + "name": "nat-archive-tool", "url": "https://github.com/hissvn/kisslang", "license": "LGPL", "tags": ["cross"], diff --git a/projects/nap/ideas.txt b/projects/nat-archive-tool/ideas.txt similarity index 100% rename from projects/nap/ideas.txt rename to projects/nat-archive-tool/ideas.txt diff --git a/projects/nap/src/nap/Archive.hx b/projects/nat-archive-tool/src/nat/Archive.hx similarity index 92% rename from projects/nap/src/nap/Archive.hx rename to projects/nat-archive-tool/src/nat/Archive.hx index 5ce0210f..dcb2f96a 100644 --- a/projects/nap/src/nap/Archive.hx +++ b/projects/nat-archive-tool/src/nat/Archive.hx @@ -1,4 +1,4 @@ -package nap; +package nat; import sys.FileSystem; import kiss.Prelude; diff --git a/projects/nap/src/nap/Archive.kiss b/projects/nat-archive-tool/src/nat/Archive.kiss similarity index 100% rename from projects/nap/src/nap/Archive.kiss rename to projects/nat-archive-tool/src/nat/Archive.kiss diff --git a/projects/nap/src/nap/BoolExpInterp.hx b/projects/nat-archive-tool/src/nat/BoolExpInterp.hx similarity index 96% rename from projects/nap/src/nap/BoolExpInterp.hx rename to projects/nat-archive-tool/src/nat/BoolExpInterp.hx index 4e6a1f8f..41f835da 100644 --- a/projects/nap/src/nap/BoolExpInterp.hx +++ b/projects/nat-archive-tool/src/nat/BoolExpInterp.hx @@ -1,4 +1,4 @@ -package nap; +package nat; import kiss.KissInterp; import hscript.Parser; diff --git a/projects/nap/src/nap/BoolExpInterp.kiss b/projects/nat-archive-tool/src/nat/BoolExpInterp.kiss similarity index 100% rename from projects/nap/src/nap/BoolExpInterp.kiss rename to projects/nat-archive-tool/src/nat/BoolExpInterp.kiss diff --git a/projects/nap/src/nap/Entry.hx b/projects/nat-archive-tool/src/nat/Entry.hx similarity index 88% rename from projects/nap/src/nap/Entry.hx rename to projects/nat-archive-tool/src/nat/Entry.hx index 528f1926..c7f1ccf0 100644 --- a/projects/nap/src/nap/Entry.hx +++ b/projects/nat-archive-tool/src/nat/Entry.hx @@ -1,4 +1,4 @@ -package nap; +package nat; typedef Entry = { id:String, diff --git a/projects/nap/src/nap/Lib.hx b/projects/nat-archive-tool/src/nat/Lib.hx similarity index 91% rename from projects/nap/src/nap/Lib.hx rename to projects/nat-archive-tool/src/nat/Lib.hx index 6ab38ebf..0832f1ac 100644 --- a/projects/nap/src/nap/Lib.hx +++ b/projects/nat-archive-tool/src/nat/Lib.hx @@ -1,4 +1,4 @@ -package nap; +package nat; import kiss.Prelude; import sys.io.File; diff --git a/projects/nap/src/nap/Lib.kiss b/projects/nat-archive-tool/src/nat/Lib.kiss similarity index 84% rename from projects/nap/src/nap/Lib.kiss rename to projects/nat-archive-tool/src/nat/Lib.kiss index 770f8f38..ee6cb1a7 100644 --- a/projects/nap/src/nap/Lib.kiss +++ b/projects/nat-archive-tool/src/nat/Lib.kiss @@ -6,10 +6,10 @@ // TODO add to the documentation a hint that macros should use fully qualified paths so macro caller classes don't need to import everything (defmacro getComponent [archive e componentType] - `(the nap.components ,componentType + `(the nat.components ,componentType (tink.Json.parse (sys.io.File.getContent - (haxe.io.Path.join [.archiveDir (the nap.Archive ,archive) "components" (+ (dictGet (the Map .components ,e) ,(symbolName componentType)) ".json")]))))) + (haxe.io.Path.join [.archiveDir (the nat.Archive ,archive) "components" (+ (dictGet (the Map .components ,e) ,(symbolName componentType)) ".json")]))))) (defun tagList [archive e] (let [t diff --git a/projects/nap/src/nap/System.hx b/projects/nat-archive-tool/src/nat/System.hx similarity index 92% rename from projects/nap/src/nap/System.hx rename to projects/nat-archive-tool/src/nat/System.hx index 2c221702..657d74f1 100644 --- a/projects/nap/src/nap/System.hx +++ b/projects/nat-archive-tool/src/nat/System.hx @@ -1,4 +1,4 @@ -package nap; +package nat; import kiss.Prelude; diff --git a/projects/nap/src/nap/System.kiss b/projects/nat-archive-tool/src/nat/System.kiss similarity index 100% rename from projects/nap/src/nap/System.kiss rename to projects/nat-archive-tool/src/nat/System.kiss diff --git a/projects/nap/src/nap/Template.hx b/projects/nat-archive-tool/src/nat/Template.hx similarity index 83% rename from projects/nap/src/nap/Template.hx rename to projects/nat-archive-tool/src/nat/Template.hx index ed788c78..d4a3065d 100644 --- a/projects/nap/src/nap/Template.hx +++ b/projects/nat-archive-tool/src/nat/Template.hx @@ -1,4 +1,4 @@ -package nap; +package nat; interface Template { function prepareEntry(e:Entry):Void; diff --git a/projects/nap/src/nap/components/Dates.hx b/projects/nat-archive-tool/src/nat/components/Dates.hx similarity index 59% rename from projects/nap/src/nap/components/Dates.hx rename to projects/nat-archive-tool/src/nat/components/Dates.hx index 2cc7ca84..f41ae902 100644 --- a/projects/nap/src/nap/components/Dates.hx +++ b/projects/nat-archive-tool/src/nat/components/Dates.hx @@ -1,3 +1,3 @@ -package nap.components; +package nat.components; typedef Tags = Map; diff --git a/projects/nap/src/nap/components/StringComponents.hx b/projects/nat-archive-tool/src/nat/components/StringComponents.hx similarity index 67% rename from projects/nap/src/nap/components/StringComponents.hx rename to projects/nat-archive-tool/src/nat/components/StringComponents.hx index 84a33722..838abe49 100644 --- a/projects/nap/src/nap/components/StringComponents.hx +++ b/projects/nat-archive-tool/src/nat/components/StringComponents.hx @@ -1,4 +1,4 @@ -package nap.components; +package nat.components; typedef Name = String; typedef Author = String; diff --git a/projects/nap/src/nap/components/Tags.hx b/projects/nat-archive-tool/src/nat/components/Tags.hx similarity index 58% rename from projects/nap/src/nap/components/Tags.hx rename to projects/nat-archive-tool/src/nat/components/Tags.hx index a082b1f0..8d2d265f 100644 --- a/projects/nap/src/nap/components/Tags.hx +++ b/projects/nat-archive-tool/src/nat/components/Tags.hx @@ -1,3 +1,3 @@ -package nap.components; +package nat.components; typedef Tags = Map; diff --git a/projects/nap/src/nap/systems/TagSystem.hx b/projects/nat-archive-tool/src/nat/systems/TagSystem.hx similarity index 80% rename from projects/nap/src/nap/systems/TagSystem.hx rename to projects/nat-archive-tool/src/nat/systems/TagSystem.hx index cfbb8266..1172233b 100644 --- a/projects/nap/src/nap/systems/TagSystem.hx +++ b/projects/nat-archive-tool/src/nat/systems/TagSystem.hx @@ -1,4 +1,4 @@ -package nap.systems; +package nat.systems; import kiss.Prelude; diff --git a/projects/nap/src/nap/systems/TagSystem.kiss b/projects/nat-archive-tool/src/nat/systems/TagSystem.kiss similarity index 100% rename from projects/nap/src/nap/systems/TagSystem.kiss rename to projects/nat-archive-tool/src/nat/systems/TagSystem.kiss diff --git a/projects/nap/src/test/TestMain.hx b/projects/nat-archive-tool/src/test/TestMain.hx similarity index 53% rename from projects/nap/src/test/TestMain.hx rename to projects/nat-archive-tool/src/test/TestMain.hx index 37438f38..b6abeb54 100644 --- a/projects/nap/src/test/TestMain.hx +++ b/projects/nat-archive-tool/src/test/TestMain.hx @@ -2,10 +2,10 @@ package test; import kiss.Kiss; import kiss.Prelude; -import nap.BoolExpInterp; -import nap.Archive; -import nap.Lib; -import nap.components.*; +import nat.BoolExpInterp; +import nat.Archive; +import nat.Lib; +import nat.components.*; @:build(kiss.Kiss.build()) class TestMain {} diff --git a/projects/nap/src/test/TestMain.kiss b/projects/nat-archive-tool/src/test/TestMain.kiss similarity index 97% rename from projects/nap/src/test/TestMain.kiss rename to projects/nat-archive-tool/src/test/TestMain.kiss index f033e08e..93ae8668 100644 --- a/projects/nap/src/test/TestMain.kiss +++ b/projects/nat-archive-tool/src/test/TestMain.kiss @@ -1,7 +1,7 @@ // TODO external programs need to be able to find and (load) this path to get the macros: // ^ That should be solved by allowing an optional first argument to load that is a symbol // of a library name that can be used to resolve the source dir in the user's Haxelib maybe? -(load "../nap/Lib.kiss") +(load "../nat/Lib.kiss") (defun :Void main [] diff --git a/projects/nap/src/test/example-archive/components/author1.json b/projects/nat-archive-tool/src/test/example-archive/components/author1.json similarity index 100% rename from projects/nap/src/test/example-archive/components/author1.json rename to projects/nat-archive-tool/src/test/example-archive/components/author1.json diff --git a/projects/nap/src/test/example-archive/components/author2.json b/projects/nat-archive-tool/src/test/example-archive/components/author2.json similarity index 100% rename from projects/nap/src/test/example-archive/components/author2.json rename to projects/nat-archive-tool/src/test/example-archive/components/author2.json diff --git a/projects/nap/src/test/example-archive/components/name1.json b/projects/nat-archive-tool/src/test/example-archive/components/name1.json similarity index 100% rename from projects/nap/src/test/example-archive/components/name1.json rename to projects/nat-archive-tool/src/test/example-archive/components/name1.json diff --git a/projects/nap/src/test/example-archive/components/name2.json b/projects/nat-archive-tool/src/test/example-archive/components/name2.json similarity index 100% rename from projects/nap/src/test/example-archive/components/name2.json rename to projects/nat-archive-tool/src/test/example-archive/components/name2.json diff --git a/projects/nap/src/test/example-archive/components/tags1.json b/projects/nat-archive-tool/src/test/example-archive/components/tags1.json similarity index 100% rename from projects/nap/src/test/example-archive/components/tags1.json rename to projects/nat-archive-tool/src/test/example-archive/components/tags1.json diff --git a/projects/nap/src/test/example-archive/components/tags2.json b/projects/nat-archive-tool/src/test/example-archive/components/tags2.json similarity index 100% rename from projects/nap/src/test/example-archive/components/tags2.json rename to projects/nat-archive-tool/src/test/example-archive/components/tags2.json diff --git a/projects/nap/src/test/example-archive/entries/song1.json b/projects/nat-archive-tool/src/test/example-archive/entries/song1.json similarity index 100% rename from projects/nap/src/test/example-archive/entries/song1.json rename to projects/nat-archive-tool/src/test/example-archive/entries/song1.json diff --git a/projects/nap/src/test/example-archive/entries/song2.json b/projects/nat-archive-tool/src/test/example-archive/entries/song2.json similarity index 100% rename from projects/nap/src/test/example-archive/entries/song2.json rename to projects/nat-archive-tool/src/test/example-archive/entries/song2.json diff --git a/projects/nap/src/test/example-archive/files/Adventure.mp3 b/projects/nat-archive-tool/src/test/example-archive/files/Adventure.mp3 similarity index 100% rename from projects/nap/src/test/example-archive/files/Adventure.mp3 rename to projects/nat-archive-tool/src/test/example-archive/files/Adventure.mp3 diff --git a/projects/nap/src/test/example-archive/files/Ancient Rite.mp3 b/projects/nat-archive-tool/src/test/example-archive/files/Ancient Rite.mp3 similarity index 100% rename from projects/nap/src/test/example-archive/files/Ancient Rite.mp3 rename to projects/nat-archive-tool/src/test/example-archive/files/Ancient Rite.mp3 diff --git a/projects/nap/test.hxml b/projects/nat-archive-tool/test.hxml similarity index 61% rename from projects/nap/test.hxml rename to projects/nat-archive-tool/test.hxml index 53281b50..a0d212fc 100644 --- a/projects/nap/test.hxml +++ b/projects/nat-archive-tool/test.hxml @@ -1,6 +1,6 @@ -D test -lib kiss --lib nap +-lib nat-archive-tool -cp test --main test.TestMain --interp \ No newline at end of file diff --git a/projects/nat-archive-tool/test.sh b/projects/nat-archive-tool/test.sh new file mode 100644 index 00000000..627c3a59 --- /dev/null +++ b/projects/nat-archive-tool/test.sh @@ -0,0 +1,4 @@ +#! /bin/bash + +haxelib dev nat-archive-tool . +haxe test.hxml \ No newline at end of file diff --git a/projects/nap/tools/nap-music/build.hxml b/projects/nat-archive-tool/tools/nap-music/build.hxml similarity index 50% rename from projects/nap/tools/nap-music/build.hxml rename to projects/nat-archive-tool/tools/nap-music/build.hxml index 9882eaaf..bfdff6e2 100644 --- a/projects/nap/tools/nap-music/build.hxml +++ b/projects/nat-archive-tool/tools/nap-music/build.hxml @@ -1,5 +1,5 @@ -lib kiss --lib nap +-lib nat-archive-tool -cp src --main Main --interp \ No newline at end of file diff --git a/projects/nap/tools/nap-music/src/Main.hx b/projects/nat-archive-tool/tools/nap-music/src/Main.hx similarity index 81% rename from projects/nap/tools/nap-music/src/Main.hx rename to projects/nat-archive-tool/tools/nap-music/src/Main.hx index 9832373f..3c94bff2 100644 --- a/projects/nap/tools/nap-music/src/Main.hx +++ b/projects/nat-archive-tool/tools/nap-music/src/Main.hx @@ -2,7 +2,7 @@ package; import kiss.Kiss; import kiss.Prelude; -import nap.Archive; +import nat.Archive; @:build(kiss.Kiss.build()) class Main {} diff --git a/projects/nap/tools/nap-music/src/Main.kiss b/projects/nat-archive-tool/tools/nap-music/src/Main.kiss similarity index 100% rename from projects/nap/tools/nap-music/src/Main.kiss rename to projects/nat-archive-tool/tools/nap-music/src/Main.kiss diff --git a/test-all.sh b/test-all.sh deleted file mode 100755 index 7a6d1b33..00000000 --- a/test-all.sh +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/bash - -# For local testing. Runs manual project tests, which cannot run headless. -# Dependencies won't be installed first - -# Test the Kiss compiler on every target language: -TEST_FILES=kiss/build-scripts/**/test.hxml - -for TEST_FILE in $TEST_FILES -do - echo $TEST_FILE - haxe kiss/build-scripts/common-args.hxml kiss/build-scripts/common-test-args.hxml $TEST_FILE - if [ ! $? -eq 0 ] - then - exit 1 - fi -done - -./test-projects.sh \ No newline at end of file diff --git a/test-project.sh b/test-project.sh new file mode 100644 index 00000000..398918ea --- /dev/null +++ b/test-project.sh @@ -0,0 +1,29 @@ +#! /bin/bash + +KISS_PROJECT=${KISS_PROJECT:-$1} +KISS_PROJECT=${KISS_PROJECT:-aoc} + +haxelib dev kiss kiss + +# If project starts with flixel-, test that its code compiles for HTML5 and C++ +if [[ $KISS_PROJECT == flixel-* ]] +then + # If running through Travis, install HaxeFlixel with c++ tooling and + if [ ! -z "$TRAVIS_OS_NAME" ] + then + haxelib install lime + haxelib install openfl + haxelib install flixel + haxelib install flixel-addons + haxelib install hxcpp + fi + + echo "Building $KISS_PROJECT for html5" + (cd projects/$KISS_PROJECT && haxelib run lime build html5) + echo "Building $KISS_PROJECT for cpp" + (cd projects/$KISS_PROJECT && haxelib run lime build cpp) +# Test other projects with their test.sh file +else + (cd projects/$KISS_PROJECT && haxelib install all --always) + (cd projects/$KISS_PROJECT && ./test.sh) +fi \ No newline at end of file diff --git a/test-projects.sh b/test-projects.sh deleted file mode 100755 index f9217e13..00000000 --- a/test-projects.sh +++ /dev/null @@ -1,47 +0,0 @@ -#! /bin/bash -# Test the Kiss projects. If run manually, this runs extra manual tests that may involve GUI stuff. -PROJECT_DIRS=projects/**/ - -if [ ! -z "${TRAVIS_OS_NAME}" ]; then - # Install basic dependencies for Kiss testing - (cd kiss/build-scripts && haxelib install all --always) - - # Install HaxeFlixel with c++ tooling because many Kiss projects use it - haxelib install lime - haxelib install openfl - haxelib install flixel - haxelib install flixel-addons - haxelib install hxcpp -fi - -for PROJECT_DIR in $PROJECT_DIRS -do - if [ ! -z "${TRAVIS_OS_NAME}" ]; then - haxelib dev kiss kiss - (cd $PROJECT_DIR && haxelib install all --always) - fi - - AUTO_TEST_FILE=${PROJECT_DIR}test.sh - if [ -e $AUTO_TEST_FILE ] - then - echo $AUTO_TEST_FILE - (cd $PROJECT_DIR && ./test.sh) - if [ ! $? -eq 0 ] - then - echo "failed" - exit 1 - fi - fi - - MANUAL_TEST_FILE=${PROJECT_DIR}manual-test.sh - if [ -z "$KISS_HEADLESS" ] && [ -e $MANUAL_TEST_FILE ] - then - echo $MANUAL_TEST_FILE - (cd $PROJECT_DIR && ./manual-test.sh) - if [ ! $? -eq 0 ] - then - echo "failed" - exit 1 - fi - fi -done \ No newline at end of file diff --git a/test.sh b/test.sh index cbb46012..099b0fbc 100755 --- a/test.sh +++ b/test.sh @@ -3,16 +3,18 @@ KISS_TARGET=${KISS_TARGET:-$1} KISS_TARGET=${KISS_TARGET:-interp} -if [ "$KISS_TARGET" = "projects" ] +# If Travis is running tests, basic dependencies need to be installed +if [ ! -z "$TRAVIS_OS_NAME" ] then - KISS_HEADLESS="$TRAVIS_OS_NAME" ./test-projects.sh -else - # For CI tests, force install the dependencies - if [ ! -z "$TRAVIS_OS_NAME" ] - then - (cd kiss/build-scripts && haxelib install all --always) - (cd kiss/build-scripts/$KISS_TARGET && haxelib install all --always) - fi + (cd kiss/build-scripts && haxelib install all --always) + (cd kiss/build-scripts/$KISS_TARGET && haxelib install all --always) +fi +# Test projects with test-project.sh +if [ ! -z "$KISS_PROJECT" ] +then + ./test-project.sh +# Test Kiss with utest cases in kiss/src/test/cases +else haxe kiss/build-scripts/common-args.hxml kiss/build-scripts/common-test-args.hxml kiss/build-scripts/$KISS_TARGET/test.hxml fi