PizzaGames/emulio

Can't create platform config file via GUI with gradlew on fresh first run

revfran opened this issue · 7 comments

Selecting either of the platform config file creation options (manually/via wizard) ends up in the application crashing.

This is the output when wizard is selected
to the wizard? Otherwise you can edit the file mannually (the file is easy to understand)" [Controllers] added manager for application, 1 managers active 20:17:39 [DEBUG|main|c.g.e.utils.I18n]: *** Translation not found, include in the i18n file: "Scrap Platform": "Scrap Platform" 20:17:39 [DEBUG|main|c.g.e.utils.I18n]: *** Translation not found, include in the i18n file: "Background jobs": "Background jobs" 20:17:39 [DEBUG|main|c.g.e.u.s.w.PlatformWizardScreen]: initializing ScraperScreen 20:17:39 [DEBUG|main|c.g.e.utils.I18n]: *** Translation not found, include in the i18n file: "Confirm": "Confirm" 20:17:39 [DEBUG|main|c.g.e.utils.I18n]: *** Translation not found, include in the i18n file: "Choose Platform": "Choose Platform" 20:17:39 [DEBUG|main|c.g.e.u.s.EmulioScreen]: initHelpHuds: Xbox Controller Exception in thread "main" kotlin.UninitializedPropertyAccessException: lateinit property platforms has not been initialized at com.github.emulio.Emulio.getPlatforms(Emulio.kt:63) at com.github.emulio.ui.screens.wizard.PlatformWizardScreen.buildScrapPlatformPage(PlatformWizardScreen.kt:205) at com.github.emulio.ui.screens.wizard.PlatformWizardScreen.<init>(PlatformWizardScreen.kt:196) at com.github.emulio.ui.screens.wizard.PlatformWizardScreen.<init>(PlatformWizardScreen.kt:28) at com.github.emulio.ui.screens.EmulioSplashScreen.platformWizardConfirmed(EmulioSplashScreen.kt:208) at com.github.emulio.ui.screens.EmulioSplashScreen.access$platformWizardConfirmed(EmulioSplashScreen.kt:38) at com.github.emulio.ui.screens.EmulioSplashScreen$askForPlatformWizard$1.invoke(EmulioSplashScreen.kt:200) at com.github.emulio.ui.screens.EmulioSplashScreen$askForPlatformWizard$1.invoke(EmulioSplashScreen.kt:38) at com.github.emulio.ui.screens.dialogs.YesNoDialog.onConfirmDialog(YesNoDialog.kt:32) at com.github.emulio.ui.screens.dialogs.YesNoDialog.onConfirmButton(YesNoDialog.kt:79) at com.github.emulio.ui.screens.dialogs.YesNoDialog$initGUI$$inlined$apply$lambda$1.invoke(YesNoDialog.kt:55) at com.github.emulio.ui.screens.dialogs.YesNoDialog$initGUI$$inlined$apply$lambda$1.invoke(YesNoDialog.kt:19) at com.github.emulio.ui.screens.EmulioScreenKt$addClickListener$1.clicked(EmulioScreen.kt:676) at com.badlogic.gdx.scenes.scene2d.utils.ClickListener.touchUp(ClickListener.java:88) at com.badlogic.gdx.scenes.scene2d.InputListener.handle(InputListener.java:59) at com.badlogic.gdx.scenes.scene2d.Stage.touchUp(Stage.java:351) at com.github.emulio.ui.input.InputManager.touchUp(InputManager.kt:647) at com.badlogic.gdx.InputEventQueue.drain(InputEventQueue.java:86) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Input.update(Lwjgl3Input.java:205) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:390) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:137) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:111) at com.github.emulio.desktop.DesktopLauncher.main(DesktopLauncher.kt:60)

And this is the output when it isn't:

20:18:45 [INFO|main|c.g.e.p.ProcessLauncher]: executing process: [cmd /c code -v] Exception in thread "main" com.badlogic.gdx.utils.GdxRuntimeException: java.io.IOException: Cannot run program "cmd": error=2, No such file or directory at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:117) at com.github.emulio.desktop.DesktopLauncher.main(DesktopLauncher.kt:60) Caused by: java.io.IOException: Cannot run program "cmd": error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) at java.lang.Runtime.exec(Runtime.java:620) at java.lang.Runtime.exec(Runtime.java:485) at com.github.emulio.process.ProcessLauncher.executeProcess(ProcessLauncher.kt:15) at com.github.emulio.ui.screens.EmulioScreen.launchPlatformConfigEditor(EmulioScreen.kt:183) at com.github.emulio.ui.screens.EmulioSplashScreen.launchConfigEditor(EmulioSplashScreen.kt:226) at com.github.emulio.ui.screens.EmulioSplashScreen.access$launchConfigEditor(EmulioSplashScreen.kt:38) at com.github.emulio.ui.screens.EmulioSplashScreen$platformWizardCancelled$1.invoke(EmulioSplashScreen.kt:221) at com.github.emulio.ui.screens.EmulioSplashScreen$platformWizardCancelled$1.invoke(EmulioSplashScreen.kt:38) at com.github.emulio.ui.screens.dialogs.InfoDialog.onConfirmButton(InfoDialog.kt:50) at com.github.emulio.ui.screens.dialogs.InfoDialog$initGUI$$inlined$apply$lambda$1.invoke(InfoDialog.kt:43) at com.github.emulio.ui.screens.dialogs.InfoDialog$initGUI$$inlined$apply$lambda$1.invoke(InfoDialog.kt:19) at com.github.emulio.ui.screens.EmulioScreenKt$addClickListener$1.clicked(EmulioScreen.kt:676) at com.badlogic.gdx.scenes.scene2d.utils.ClickListener.touchUp(ClickListener.java:88) at com.badlogic.gdx.scenes.scene2d.InputListener.handle(InputListener.java:59) at com.badlogic.gdx.scenes.scene2d.Stage.touchUp(Stage.java:351) at com.badlogic.gdx.InputEventQueue.drain(InputEventQueue.java:86) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Input.update(Lwjgl3Input.java:205) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window.update(Lwjgl3Window.java:390) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.loop(Lwjgl3Application.java:137) at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:111) ... 1 more Caused by: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.<init>(UNIXProcess.java:247) at java.lang.ProcessImpl.start(ProcessImpl.java:134) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ... 21 more

Environment details:

Platform: Linux/Debian

When building the project with gradlew script as mentioned in the README.md, project is compiled with Gradle 5.6.3.

Then running it with

./gradlew desktop:run

Ends up in the first window to select one of the two options (create manually or via wizard)

This is related to #34, it is still under development. I'll put this on hold and when I finish the #34 we can close this one.

Can you also provide the environment you tested? I think the current version running in master is only working in windows environment.

I'm using Debian, as mentioned. How can I create the minimum content for the platform file manually?

➜ emulio git:(master) uname -a

Linux - 4.4.0-142-generic #168-Ubuntu SMP Wed Jan 16 21:00:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Ok, I found how to do it, I just copied the file temp/emulio-platforms-template.yaml and created temp/emulio-platforms.yaml

Let's consider this a valid workaround

just for reference, we also can improve the wiki pages and the documentation. We already have a task for this (#68) adding the number here to reference each other.

This is now fixed.. can you please test again?
I am closing and if the problem persists we reopen it...