Accessing flash package in Munit with openfl - haxe

I've transitioned my project from NME to Openfl which runs beautifully, but when trying to run munit I receive the error...
"You cannot access the flash package while targeting cpp".
How do I get around this? Is this an hxcpp problem or Munit?

I changed strategies, I now have the following setup as a work around.
project.nmml
test.nmml //project.nmml + test dependencies + two haxeflags...
<haxeflag name="-D testDebug" if="debug"/>
<haxeflag name="-D debug" if="debug"/>
test.hxml
-swf-version 10
-cmd openfl build test.nmml flash
-cmd mv build/flash/bin/TestMain.swf build/as3_test.swf
-swf build/as3_test.swf
testDebug.hxml
-swf-version 10
-cmd openfl build test.nmml flash -Ddebug
-cmd mv build/flash/bin/TestMain.swf build/as3_test.swf
-swf build/as3_test.swf
Run #TestDebug tests
haxelib run munit test testDebug.hxml -as3
Run as3 tests
haxelib run munit test test.hxml -as3
Run cpp tests
haxelib run openfl test test.nmml cpp

I ran into this issue when building with the Haxe bundle in Sublime Text and was able to get around it by changing the method by which I built my project.
Now I hit shift-control-B and select my project xml file from the resulting popup, then select the target and build mode from the next popup.
If you're not building in Sublime Text, disregard this solution. But maybe it will help someone else searching the same error ;)

Related

command phasescriptexecution failed with a nonzero exit code react native IOS

i am facing PhaseScriptExecution error
when i try to build IOS then project not build this give the following error
the following build commands failed:
PhaseScriptExecution Bundle\ React\ Native\ code\ and\ images /Users/ali/Library/Developer/Xcode/DerivedData/NassauTennisMobileApp-akwowvjtagvlxbalhbsvukoitagy/Build/Intermediates.noindex/NassauTennisMobileApp.build/Debug-iphonesimulator/NassauTennisMobileApp.build/Script-00DD1BFF1BD5951E006B06BC.sh
For me: It seems that react native doesn't like spaces in the directory. I was able to build my ios after removing all of the spaces in my directory.
Potential solution to your problem, didn't fix mine but it might help you: The author suggests there is a mismatch between the node version that you're using and the one that xcode is calling/using. The author provides a way to check the versions installed as well as a way to symlink between the two versions => https://dev.to/glocore/react-native-command-phasescriptexecution-failed-of9

Executing VLC for unity

I am facing similar issue like this mentioned in the post:
Triying to run VLC for unity plugin demo
Build platform is WIN 10 x64 (build 2004).
I am using LibVLC from the nightly build: https://artifacts.videolan.org/vlc/nightly-win64-llvm/20200914-0434/
LibVLCSharp gets built successfully (https://code.videolan.org/videolan/LibVLCSharp/-/tree/master/).
I was trying to build "VLCUnityPlugin.dll" but failing (have installed https://github.com/mstorsjo/llvm-mingw/tree/20200325 (LLVM MinGW)), using MSYS64 to run ./build.sh and it was coming up with this error:
MSYS error while building VLCUnity plugin dll
I thought maybe since "VLCUnityPlugin.dll" is NOT present, Unity x64 (v 2019.4.8f1) keeps on complaining with the following errors:
UNITY errors
But after, I hacked "common" make file as shown below:
make file changes to build VLCUnityPlugin.dll
I successfully built VLCUnityPlugin.dll and my plugin file structure looks like this now:
Plugin directory structure
Still, I do see UNITY Errors:
"Assets\VLCUnity\Demos\Scripts\MinimalPlayback.cs(99,39): error CS1061: 'MediaPlayer' does not contain a definition for 'GetTexture' and no accessible extension method 'GetTexture' accepting a first argument of type 'MediaPlayer' could be found (are you missing a using directive or an assembly reference?)"
The free trial version is available for download here https://videolabs.io/vlc-unity/vlc-unity-windows-trial.unitypackage.
That being said, if you want to build it yourself, you should follow what the CI does https://code.videolan.org/videolan/vlc-unity/-/blob/master/.gitlab-ci.yml
The libvlcsharp build is a special one, you need to define UNITY when you build it. It has the added GetTexture method.
For VLCPlugin.dll, you should crosscompile from Linux, where you install llvm-mingw and run it from bash (for example). MSYS not needed.

Cordova crosswalk missing apks

I am very very new to Cordova, Android development, and Node.js applications.
I was using Cordova to create an Android app, it would spit out an android-debug.apk when I would go and build it.
BUILD SUCCESSFUL
Total time: 3.739 secs
Built the following apk(s):
/Users/me/Git/myApp/platforms/android/build/outputs/apk/android-debug.apk
Running command: /Users/me/Git/myApp/platforms/browser/cordova/build
Cleaning Browser project
Then I added Crosswalk plugin to help with some performance issues I was having and it worked great. Now when I try and build my app I get...
BUILD SUCCESSFUL
Total time: 2 mins 0.453 secs
Built the following apk(s):
Running command: /home/ubuntu/myapp/platforms/browser/cordova/build
Cleaning Browser project
It is missing the apk!! Why and how can I get an android-debug.apk to build?
Check in that output directory (.../myapp/platforms/browser/cordova/build) for android-armv7-debug.apk and android-x86-debug.apk. At least on my OS X system, this is what the build system kicked out after adding the crosswalk plugin.
So after further investigation Crosswalk outputs two apks to support both x86 and armv7 architectures. If you want to (as such in my case) only output one single apk do the following:
Make a file build-extras.gradle and put it into platforms/android/. Add the following line to file you just created:
cdvBuildMultipleApks=false
Now run cordova run android command, it will create combined single build android-debug.apk. You will see code of build.gradle doing this:
def hasBuildExtras = file('build-extras.gradle').exists()
if (hasBuildExtras) {
apply from: 'build-extras.gradle'
}

Facebook and google maps plugins don't work together in PhoneGap app

I am going to create the app that shows google map and required social login with facebook.
I decided to use:
https://github.com/Wizcorp/phonegap-facebook-plugin
and
https://github.com/wf9a5m75/phonegap-googlemaps-plugin
I don't know what is a reason, but these plugins perfectly work alone, but when I installed them together I got next error:
BUILD FAILED
C:\Users\{USER_NAME}\AppData\Local\Android\sdk\tools\ant\build.xml:577: Jar mismatch! Fix your dependencies
Total time: 1 second
{APP_PATH}\platforms\android\cordova\node_modules\q\q.js: 126
throw e;
^
Error code 1 for command: cmd with args: /s /c "ant debug -f {APP_PATH}\platforms\android\build.xml -Dout.dir=ant-build -Dgen.absolute.dir=ant-gen"
ERROR running one or more of the platforms: Error: {APP_PATH}\platforms\android\cordova\run.bat: Command failed with exit code 8
You may not have the required environment or OS to run this project
I am not experienced in PhoneGap development, but I guess that both plugins are doing some changes in platform dependencies (and rewriting changes of another plugin).
Could anybody help me with this?
I got the answer of google-maps plugin creator:
The facebook plugin contains android-support-v4.jar, and the map
plugin installs another android-support-v4.jar.
Remove one of them.
I took off android-support-v4.jar from com.phonegap.plugins.facebookconnect folder and left it in libs folder. It was solved my issue (fb and g-maps work together).
So I can mark this question as closed now.
I leave this answer for anybody who meets this issue like me.

Error code: 800A1391 Source: Microsoft JScript runtime error Running Grunt - Module is undefined

New Grunt user here who is using a lot of new tools (npm nodejs) today.
I've got Grunt "installed" and have been able to create a grunt.js file using the init task as described here: http://net.tutsplus.com/tutorials/javascript-ajax/meeting-grunt-the-build-tool-for-javascript/ and here: https://github.com/cowboy/grunt/blob/master/docs/getting_started.md. But whenever I run the "grunt" command I get an error:
Windows Script Host
Script: c:\users\[]\Documents\code\grunt\grunt.js
Line: 2
Char: 1
Error: 'module' is undefined
Code: 800A1391
Source: Microsoft JScript runtime error
As explained in the FAQ, you need to type grunt.cmd instead on Windows because the OS tries to launch grunt.js
Or you can install grunt-cli globally instead. This package will run any version of Grunt if it's been installed locally to your project.
SOLVED !!
So, this problem occur because windows by default associative < *.js > files
with >>
"Microsoft Windows Based Script Host".
grunt need to open by default with (grunt.cmd).
it easy to slove, by change default app (open with..)
Guide :
Go to any javascript file with "js" extension. (any file)
Right-Click(mouse) > Properties > "Opens with:" Change...(button)
Choose Notepad ( or any javascript IDE ).
PROBLEM SOLVED ! :)
good luck
If you're getting a "Microsoft JScript runtime error" that means that node.js isn't even getting invoked; instead Windows Script Host is trying to run your code. That's probably a problem with filetype associations; IIRC Windows defaults to trying to execute a ".js" file with WSH. You may wind up having to create a shortcut to your script, specifying a command line (probably something like "node %1") and a starting directory in order to make sure that it's executed properly.
It would help if you could tell us exactly how you're trying to invoke your code.
it seems that in the latest versions of the grunt modules, you would have to do the following to have it work under windows:
remove any globally installed grunt
npm uninstall -g grunt
install grunt-cli globally
npm install -g grunt-cli
install grunt locally into your project
npm install grunt
installing grunt (v0.4.x) globally does not seem to create the necessary grunt.cmd anymore. it seems that the recommendation is now to have grunt installed locally to be able to use version-specific Gruntfiles
As Florian F suggested, running grunt.cmd works. This is because of the process Windows is looking for your grunt command.
When typing grunt -h Windows will proceed to look for the following files:
./grunt.cmd
./grunt.* (grunt.js is found in this case which is why you see "module is undefined")
%APPDATA%/npm/grunt.cmd
An alternative to using "grunt.cmd" is to use grunter which simply renames the command to grunter... then you no longer have this problem.
To answer this, first we need to understand that the error is caused because it is being executed by Windows Script Host.
Now, run the code from your cmd promt with the following syntax:
>node <application_name>.js
this will allow the Node.js application to open through V8 JavaScript engine(Google's).
P.S: Please reply back if this has helped in resolving your issue else post the problem you are facing after trying this.
I had a similar issue, the problem is file association, I would recommend:
right click on a .js file and choose open with.
then you choose nodejs/node.exe (somewhere in "program files" folder
then make tick box where it says "always open .js files " (paraphrasing)
That should do the trick.
I went through the same issue when running an old Node project.
The issue was with the name of the js file, it was node.js. So the while running the command node node.js, it was opening up a windows dialogue box.
I just changed the name of the file to app.js and the error flew away.
So, in my case i had tryed all the mentioned above with no result.
But i have fund that im dont type: node in the full sentence as the following snipet
node script.js.And remember never understimate your own miscoding.
Solution:
Go to any javascript file with "js" extension. (any file)
Right-Click(mouse) > Properties > "Opens with:" Change...(button)
Choose Notepad ( or any Javascript IDE like VS Code ).

Resources