openfl / lime

A foundational Haxe framework for cross-platform development
https://lime.openfl.org/
MIT License
761 stars 376 forks source link

Getting error when trying to run "lime test html5 -debug" #1469

Closed boston2029 closed 3 years ago

boston2029 commented 3 years ago

Hi so I'm getting an error when trying to run lime test html5 -debug. Here's the output when I run the command:

Called from ? line 1
Called from CommandLineTools.hx line 1895
Called from CommandLineTools.hx line 22
Called from a C function
Called from CommandLineTools.hx line 125
Called from CommandLineTools.hx line 1587
Called from lime/tools/ConfigHelper.hx line 17
Called from lime/tools/ConfigHelper.hx line 71
Called from hxp/System.hx line 653
Called from /Users/runner/hostedtoolcache/haxe/4.2.1/x64/std/neko/_std/sys/FileSystem.hx line 82
Uncaught exception - std@sys_create_dir

What is going on here??

joshtynjala commented 3 years ago

Uncaught exception - std@sys_create_dir

Based on this exception, it seems that it's having trouble creating a new directory. Is there any chance that your project directory is read-only?

boston2029 commented 3 years ago

I can change files so it's not read-only, right?

joshtynjala commented 3 years ago

Yeah, if the directory read-only, you should change it to allow writing.

boston2029 commented 3 years ago

How would I do so?

boston2029 commented 3 years ago

Oh i just did it with Properties. Ima see if this works...

joshtynjala commented 3 years ago

https://support.apple.com/guide/mac-help/change-permissions-for-files-folders-or-disks-mchlp1203/mac

boston2029 commented 3 years ago

I am on Windows but thanks. And I tried turning off read-only. Still getting the same error...

boston2029 commented 3 years ago

So I don't think it's a permission problem.

joshtynjala commented 3 years ago

But this path from your error message definitely looks like a macOS path... 😕

/Users/runner/hostedtoolcache/haxe/4.2.1/x64/std/neko/_std/sys/FileSystem.hx

boston2029 commented 3 years ago

image I'm on Windows.

boston2029 commented 3 years ago

Maybe it thinks I'm on Mac?

joshtynjala commented 3 years ago

Can you share the contents of your project.xml file?

boston2029 commented 3 years ago

Sure. (This is a FNF mod btw)

<?xml version="1.0" encoding="utf-8"?>
<project>
    <!-- _________________________ Application Settings _________________________ -->

    <app title="Friday Night Funkin'" file="Funkin" packageName="com.ninjamuffin99.funkin" package="com.ninjamuffin99.funkin" main="Main" version="0.2.7.1" company="ninjamuffin99" />

    <!--Switch Export with Unique ApplicationID and Icon-->
    <set name="APP_ID" value="0x0100f6c013bbc000" />

    <!--The flixel preloader is not accurate in Chrome. You can use it regularly if you embed the swf into a html file
        or you can set the actual size of your file manually at "FlxPreloaderBase-onUpdate-bytesTotal"-->
    <!-- <app preloader="Preloader" resizable="true" /> -->
    <app preloader="flixel.system.FlxPreloader" />

    <!--Minimum without FLX_NO_GAMEPAD: 11.8, without FLX_NO_NATIVE_CURSOR: 11.2-->
    <set name="SWF_VERSION" value="11.8" />

    <!-- ____________________________ Window Settings ___________________________ -->

    <!--These window settings apply to all targets-->
    <window width="1280" height="720" fps="" background="#000000" hardware="true" vsync="false" />

    <!--HTML5-specific-->
    <window if="html5" resizable="true" />

    <!--Desktop-specific-->
    <window if="desktop" orientation="landscape" fullscreen="false" resizable="true" vsync="false"/>

    <!--Mobile-specific-->
    <window if="mobile" orientation="landscape" fullscreen="true" width="0" height="0" resizable="false"/>

    <!--Switch-specific-->
    <window if="switch" orientation="landscape" fullscreen="true" width="0" height="0" resizable="true" />

    <!-- _____________________________ Path Settings ____________________________ -->

    <set name="BUILD_DIR" value="export/debug" if="debug" />
    <set name="BUILD_DIR" value="export/release" unless="debug" />
    <set name="BUILD_DIR" value="export/32bit" if="32bit" />

    <classpath name="source" />

    <assets path="assets/preload" rename="assets" exclude="*.ogg" if="web"/>
    <assets path="assets/preload" rename="assets" exclude="*.mp3" unless="web"/>

    <!-- <define name="PRELOAD_ALL" /> -->
    <define name="PRELOAD_ALL" unless="web" />
    <define name="NO_PRELOAD_ALL" unless="PRELOAD_ALL"/>

    <section if="PRELOAD_ALL">
        <library name="songs"    preload="true" />
        <library name="shared"   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" />
    </section>

    <section if="NO_PRELOAD_ALL">
        <library name="songs"    preload="false" />
        <library name="shared"   preload="false" />
        <library name="tutorial" preload="false" />
        <library name="week1"    preload="false" />
        <library name="week2"    preload="false" />
        <library name="week3"    preload="false" />
        <library name="week4"    preload="false" />
        <library name="week5"    preload="false" />
        <library name="week6"    preload="false" />
    </section>

    <assets path="assets/songs"    library="songs"    exclude="*.ogg" if="web"/>
    <assets path="assets/songs"    library="songs"    exclude="*.mp3" unless="web"/>
    <assets path="assets/shared"   library="shared"   exclude="*.ogg" if="web"/>
    <assets path="assets/shared"   library="shared"   exclude="*.mp3" unless="web"/>
    <assets path="assets/tutorial" library="tutorial" exclude="*.ogg" if="web"/>
    <assets path="assets/tutorial" library="tutorial" exclude="*.mp3" unless="web"/>
    <assets path="assets/week1"    library="week1"    exclude="*.ogg" if="web"/>
    <assets path="assets/week1"    library="week1"    exclude="*.mp3" unless="web"/>
    <assets path="assets/week2"    library="week2"    exclude="*.ogg" if="web"/>
    <assets path="assets/week2"    library="week2"    exclude="*.mp3" unless="web"/>
    <assets path="assets/week3"    library="week3"    exclude="*.ogg" if="web"/>
    <assets path="assets/week3"    library="week3"    exclude="*.mp3" unless="web"/>
    <assets path="assets/week4"    library="week4"    exclude="*.ogg" if="web"/>
    <assets path="assets/week4"    library="week4"    exclude="*.mp3" unless="web"/>
    <assets path="assets/week5"    library="week5"    exclude="*.ogg" if="web"/>
    <assets path="assets/week5"    library="week5"    exclude="*.mp3" unless="web"/>
    <assets path="assets/week6"    library="week6"    exclude="*.ogg" if="web"/>
    <assets path="assets/week6"    library="week6"    exclude="*.mp3" unless="web"/>

    <assets path='example_mods' rename='mods' embed='false'/>
    <assets path='art/readme.txt' rename='do NOT readme.txt' />
    <!-- <template path='mods' /> -->

    <assets path="CHANGELOG.md" rename='changelog.txt'/>

    <!-- NOTE FOR FUTURE SELF SINCE FONTS ARE ALWAYS FUCKY 
        TO FIX ONE OF THEM, I CONVERTED IT TO OTF. DUNNO IF YOU NEED TO
        THEN UHHH I USED THE NAME OF THE FONT WITH SETFORMAT() ON THE TEXT!!!
        NOT USING A DIRECT THING TO THE ASSET!!!
    -->
    <assets path="assets/fonts" embed='true'/>
    <!-- _______________________________ Libraries ______________________________ -->

    <haxelib name="flixel" />
    <haxedev set='webgl' />

    <!--In case you want to use the addons package-->
    <haxelib name="flixel-addons" />
    <haxelib name="hscript" />

    <!--In case you want to use the ui package-->
    <haxelib name="flixel-ui" />
    <haxelib name="newgrounds"/>
    <haxelib name="faxe" if='switch'/>
    <haxelib name="polymod"/>
    <haxelib name="discord_rpc" if="desktop"/>
    <!-- <haxelib name="hxcpp-debug-server" if="desktop"/> -->

    <!-- <haxelib name="markdown" /> -->
    <!-- <haxelib name="HtmlParser" /> -->

    <!--In case you want to use nape with flixel-->
    <!--<haxelib name="nape-haxe4" />-->

    <!-- ______________________________ Haxedefines _____________________________ -->

    <!--Enable the Flixel core recording system-->
    <!--<haxedef name="FLX_RECORD" />-->

    <!--Disable the right and middle mouse buttons-->
    <!-- <haxedef name="FLX_NO_MOUSE_ADVANCED" /> -->

    <!--Disable the native cursor API on Flash-->
    <!--<haxedef name="FLX_NO_NATIVE_CURSOR" />-->

    <!--Optimise inputs, be careful you will get null errors if you don't use conditionals in your game-->
    <!-- <haxedef name="FLX_NO_MOUSE" if="mobile" /> -->
    <!-- <haxedef name="FLX_NO_KEYBOARD" if="mobile" /> -->
    <!-- <haxedef name="FLX_NO_TOUCH" if="desktop" /> -->
    <!--<haxedef name="FLX_NO_GAMEPAD" />-->

    <!--Disable the Flixel core sound tray-->
    <!--<haxedef name="FLX_NO_SOUND_TRAY" />-->

    <!--Disable the Flixel sound management code-->
    <!--<haxedef name="FLX_NO_SOUND_SYSTEM" />-->

    <!--Disable the Flixel core focus lost screen-->
    <haxedef name="FLX_NO_FOCUS_LOST_SCREEN" />

    <!--Disable the Flixel core debugger. Automatically gets set whenever you compile in release mode!-->
    <haxedef name="FLX_NO_DEBUG" unless="debug" />

    <!--Enable this for Nape release builds for a serious peformance improvement-->
    <haxedef name="NAPE_RELEASE_BUILD" unless="debug" />

    <!-- _________________________________ Custom _______________________________ -->

    <!--Place custom nodes like icons here (higher priority to override the HaxeFlixel icon)-->

    <icon path="art/icon16.png" size='16'/>
    <icon path="art/icon32.png" size='32'/>
    <icon path="art/icon64.png" size='64'/>
    <icon path="art/iconOG.png" />

    <!-- <haxedef name="SKIP_TO_PLAYSTATE" if="debug" /> -->
    <haxedef name="NG_LOGIN" if="newgrounds" />

</project>
joshtynjala commented 3 years ago

I am not particularly familiar with HaxeFlixel or FNF. I'm guessing that something is going wrong when it tries to create either export or export/debug. Here's what I would try. If export exists already, delete it. Then, create it again from the file explorer. Then, create the debug directory inside of export. Then, try to build again.

boston2029 commented 3 years ago

I figured out why. My ransomware protection was blocking changes: image

boston2029 commented 3 years ago

I can successfully compile it now