gluonhq / scenebuilder

Scene Builder is a visual, drag 'n' drop, layout tool for designing JavaFX application user interfaces.
https://gluonhq.com/products/scene-builder/
Other
740 stars 219 forks source link

Couldn't Build in Fedora 36 - flathub build #557

Open batashi opened 2 years ago

batashi commented 2 years ago

Hi Team, Thanks for your great tool.

I am trying to build this locally on my machine to setup a flatpak version of scenebuilder. I'm facing the below error when I run first maven command mvn clean package

Aug 06, 2022 3:26:35 PM com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonFileWriter logErrorAndNotifyUser SEVERE: Could not write controller skeleton to file: /notExisting/share/test.java . java.nio.file.NoSuchFileException: /notExisting/share/test.java

The complete output below:

mvn clean package [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] Scene Builder [pom] [INFO] Scene Builder Kit [jar] [INFO] Scene Builder App [jar] [INFO] [INFO] ------------------< com.gluonhq.scenebuilder:parent >------------------- [INFO] Building Scene Builder 17.0.0 [1/3] [INFO] --------------------------------[ pom ]--------------------------------- [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ parent --- [INFO] [INFO] --------------------< com.gluonhq.scenebuilder:kit >-------------------- [INFO] Building Scene Builder Kit 17.0.0 [2/3] [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ kit --- [INFO] Deleting /home/ahmed/vs vode workplace/scene/scenebuilder/kit/target [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ kit --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 570 resources [INFO] [INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ kit --- [INFO] Compiling 655 source files to /home/ahmed/vs vode workplace/scene/scenebuilder/kit/target/classes [INFO] /home/ahmed/vs vode workplace/scene/scenebuilder/kit/src/main/java/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueLoader.java: /home/ahmed/vs vode workplace/scene/scenebuilder/kit/src/main/java/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueLoader.java uses or overrides a deprecated API. [INFO] /home/ahmed/vs vode workplace/scene/scenebuilder/kit/src/main/java/com/oracle/javafx/scenebuilder/kit/fxom/glue/GlueLoader.java: Recompile with -Xlint:deprecation for details. [INFO] /home/ahmed/vs vode workplace/scene/scenebuilder/kit/src/main/java/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/DurationEditor.java: Some input files use unchecked or unsafe operations. [INFO] /home/ahmed/vs vode workplace/scene/scenebuilder/kit/src/main/java/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/DurationEditor.java: Recompile with -Xlint:unchecked for details. [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ kit --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 30 resources [INFO] [INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ kit --- [INFO] Compiling 19 source files to /home/ahmed/vs vode workplace/scene/scenebuilder/kit/target/test-classes [INFO] [INFO] --- maven-surefire-plugin:3.0.0-M5:test (default-test) @ kit --- [INFO] [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running com.oracle.javafx.scenebuilder.kit.fxom.AddIntrinsicPropertyTest [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.038 s - in com.oracle.javafx.scenebuilder.kit.fxom.AddIntrinsicPropertyTest [INFO] Running com.oracle.javafx.scenebuilder.kit.fxom.StaticLoadTest Aug 06, 2022 3:26:34 PM com.sun.javafx.application.PlatformImpl startup WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @69c6fa8f' [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.161 s - in com.oracle.javafx.scenebuilder.kit.fxom.StaticLoadTest [INFO] Running com.oracle.javafx.scenebuilder.kit.fxom.CreateFxomInstanceFromIntrinsicTest [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.044 s - in com.oracle.javafx.scenebuilder.kit.fxom.CreateFxomInstanceFromIntrinsicTest [INFO] Running com.oracle.javafx.scenebuilder.kit.fxom.FXOMSaverUpdateImportInstructionsTest Aug 06, 2022 3:26:35 PM com.sun.javafx.application.PlatformImpl startup WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @69c6fa8f' [INFO] Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.223 s - in com.oracle.javafx.scenebuilder.kit.fxom.FXOMSaverUpdateImportInstructionsTest [INFO] Running com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonFileWriterTest Aug 06, 2022 3:26:35 PM com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonFileWriter logErrorAndNotifyUser SEVERE: Could not write controller skeleton to file: /notExisting/share/test.java . java.nio.file.NoSuchFileException: /notExisting/share/test.java at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:218) at java.base/java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:484) at java.base/java.nio.file.Files.newOutputStream(Files.java:228) at java.base/java.nio.file.Files.write(Files.java:3512) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonFileWriter.writeSkeletonFileAndNotifyUser(SkeletonFileWriter.java:246) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonFileWriter.saveToFile(SkeletonFileWriter.java:237) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonFileWriter.updateFileChooserAndSave(SkeletonFileWriter.java:228) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonFileWriter.saveToFileWhenConfirmed(SkeletonFileWriter.java:192) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonFileWriter.run(SkeletonFileWriter.java:163) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonFileWriterTest.that_alert_is_raised_in_case_of_error(SkeletonFileWriterTest.java:108) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:364) at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:237) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:158) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:428) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162) at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:562) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:548)

[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.058 s - in com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonFileWriterTest [INFO] Running com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonFileNameProposalTest [INFO] Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.031 s - in com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonFileNameProposalTest [INFO] Running com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest Aug 06, 2022 3:26:36 PM com.sun.javafx.application.PlatformImpl startup WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @69c6fa8f' [ERROR] Tests run: 4, Failures: 4, Errors: 0, Skipped: 0, Time elapsed: 0.177 s <<< FAILURE! - in com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest [ERROR] com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest.skeletonToString_testFxml_full_withComments Time elapsed: 0.15 s <<< FAILURE! java.lang.AssertionError: Unable to open file: skeleton_kotlin_full_comments.txt at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest.assertEqualsFileContent(SkeletonBufferKotlinTest.java:115) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest.skeletonToString_testFxml_full_withComments(SkeletonBufferKotlinTest.java:78)

[ERROR] com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest.skeletonToString_testFxml_fullFormat Time elapsed: 0.003 s <<< FAILURE! java.lang.AssertionError: Unable to open file: skeleton_kotlin_full.txt at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest.assertEqualsFileContent(SkeletonBufferKotlinTest.java:115) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest.skeletonToString_testFxml_fullFormat(SkeletonBufferKotlinTest.java:104)

[ERROR] com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest.skeletonToString_nestedTestFxml Time elapsed: 0.002 s <<< FAILURE! java.lang.AssertionError: Unable to open file: skeleton_kotlin_nested.txt at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest.assertEqualsFileContent(SkeletonBufferKotlinTest.java:115) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest.skeletonToString_nestedTestFxml(SkeletonBufferKotlinTest.java:64)

[ERROR] com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest.skeletonToString_testFxml_withComments Time elapsed: 0.002 s <<< FAILURE! java.lang.AssertionError: Unable to open file: skeleton_kotlin_comments.txt at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest.assertEqualsFileContent(SkeletonBufferKotlinTest.java:115) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferKotlinTest.skeletonToString_testFxml_withComments(SkeletonBufferKotlinTest.java:91)

[INFO] Running com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferTest [INFO] Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.178 s - in com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferTest [INFO] Running com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonSettingsTest [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 s - in com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonSettingsTest [INFO] Running com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest Aug 06, 2022 3:26:36 PM com.sun.javafx.application.PlatformImpl startup WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @69c6fa8f' [ERROR] Tests run: 4, Failures: 4, Errors: 0, Skipped: 0, Time elapsed: 0.179 s <<< FAILURE! - in com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest [ERROR] com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest.skeletonToString_testFxml_full_withComments Time elapsed: 0.152 s <<< FAILURE! java.lang.AssertionError: Unable to open file: skeleton_java_full_comments.txt at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest.assertEqualsFileContent(SkeletonBufferJavaTest.java:115) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest.skeletonToString_testFxml_full_withComments(SkeletonBufferJavaTest.java:78)

[ERROR] com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest.skeletonToString_testFxml_fullFormat Time elapsed: 0.003 s <<< FAILURE! java.lang.AssertionError: Unable to open file: skeleton_java_full.txt at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest.assertEqualsFileContent(SkeletonBufferJavaTest.java:115) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest.skeletonToString_testFxml_fullFormat(SkeletonBufferJavaTest.java:104)

[ERROR] com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest.skeletonToString_nestedTestFxml Time elapsed: 0.002 s <<< FAILURE! java.lang.AssertionError: Unable to open file: skeleton_java_nested.txt at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest.assertEqualsFileContent(SkeletonBufferJavaTest.java:115) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest.skeletonToString_nestedTestFxml(SkeletonBufferJavaTest.java:64)

[ERROR] com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest.skeletonToString_testFxml_withComments Time elapsed: 0.002 s <<< FAILURE! java.lang.AssertionError: Unable to open file: skeleton_java_comments.txt at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest.assertEqualsFileContent(SkeletonBufferJavaTest.java:115) at com.oracle.javafx.scenebuilder.kit.skeleton.SkeletonBufferJavaTest.skeletonToString_testFxml_withComments(SkeletonBufferJavaTest.java:91)

[INFO] Running com.oracle.javafx.scenebuilder.kit.util.eventnames.FindEventNamesUtilTest [INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.037 s - in com.oracle.javafx.scenebuilder.kit.util.eventnames.FindEventNamesUtilTest [INFO] Running com.oracle.javafx.scenebuilder.kit.editor.panel.library.manager.DialogListItemComparatorTest [INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 s - in com.oracle.javafx.scenebuilder.kit.editor.panel.library.manager.DialogListItemComparatorTest [INFO] [INFO] Results: [INFO] [ERROR] Failures: [ERROR] SkeletonBufferJavaTest.skeletonToString_nestedTestFxml:64->assertEqualsFileContent:115 Unable to open file: skeleton_java_nested.txt [ERROR] SkeletonBufferJavaTest.skeletonToString_testFxml_fullFormat:104->assertEqualsFileContent:115 Unable to open file: skeleton_java_full.txt [ERROR] SkeletonBufferJavaTest.skeletonToString_testFxml_full_withComments:78->assertEqualsFileContent:115 Unable to open file: skeleton_java_full_comments.txt [ERROR] SkeletonBufferJavaTest.skeletonToString_testFxml_withComments:91->assertEqualsFileContent:115 Unable to open file: skeleton_java_comments.txt [ERROR] SkeletonBufferKotlinTest.skeletonToString_nestedTestFxml:64->assertEqualsFileContent:115 Unable to open file: skeleton_kotlin_nested.txt [ERROR] SkeletonBufferKotlinTest.skeletonToString_testFxml_fullFormat:104->assertEqualsFileContent:115 Unable to open file: skeleton_kotlin_full.txt [ERROR] SkeletonBufferKotlinTest.skeletonToString_testFxml_full_withComments:78->assertEqualsFileContent:115 Unable to open file: skeleton_kotlin_full_comments.txt [ERROR] SkeletonBufferKotlinTest.skeletonToString_testFxml_withComments:91->assertEqualsFileContent:115 Unable to open file: skeleton_kotlin_comments.txt [INFO] [ERROR] Tests run: 52, Failures: 8, Errors: 0, Skipped: 0 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for Scene Builder 17.0.0: [INFO] [INFO] Scene Builder ...................................... SUCCESS [ 0.040 s] [INFO] Scene Builder Kit .................................. FAILURE [ 6.375 s] [INFO] Scene Builder App .................................. SKIPPED [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 6.446 s [INFO] Finished at: 2022-08-06T15:26:37+04:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test (default-test) on project kit: There are test failures. [ERROR] [ERROR] Please refer to /home/ahmed/vs vode workplace/scene/scenebuilder/kit/target/surefire-reports for the individual test results. [ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream. [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException [ERROR] [ERROR] After correcting the problems, you can resume the build with the command [ERROR] mvn -rf :kit

Expected Behavior

run without error

Current Behavior

not passed mvn clean

Steps to Reproduce

Your Environment

Fedora 36 OpenJdk 17.0.4

Oliver-Loeffler commented 2 years ago

Hello @batashi,

thanks for issuing this. I will look into this and will see to solve this issue. I'll try to reproduce in a VM.

As a workaround, you can instruct Maven, to skip tests. For this run:

mvn clean package -DskipTests=true

Alternatively you can skip those particular failing tests, so you can at least build and package:

mvn package -Dtest="*,!SkeletonBufferJavaTest,!SkeletonBufferJavaTest"

When you execute the comman git config --list, git will show its configuration parameters. Could you please share the value your effective core.autocrlf= configuration property?

Regards!

Oliver-Loeffler commented 2 years ago

@AlmasB Could you please assign this one to me?

batashi commented 2 years ago

Thanks forthe prompt replay @Oliver-Loeffler
Below is the output of git config --list core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true remote.origin.url=https://github.com/gluonhq/scenebuilder.git remote.origin.fetch=+refs/heads/:refs/remotes/origin/ branch.master.remote=origin branch.master.merge=refs/heads/master branch.sb17.remote=origin branch.sb17.merge=refs/heads/sb17

Regards

ghazyami commented 2 years ago

Scene Builder is now available on Flathub. @batashi did the original work, I followed up afterwards.

If any of the Scene Builder maintainers would like to be part of maintains the flatpak, please reach out!

Flathub manifest: https://github.com/flathub/com.gluonhq.SceneBuilder Flathub link: https://flathub.org/apps/details/com.gluonhq.SceneBuilder Flathub badge: <a href='https://flathub.org/apps/details/com.gluonhq.SceneBuilder'><img width='240' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-en.png'/></a> Flathub badge sample: Download on Flathub

Oliver-Loeffler commented 2 years ago

How did you solve the issue? Do you exclude the tests?

Oliver-Loeffler commented 2 years ago

Hi @batashi I was able to reproduce this in one fresh Fedore 36 VM, in another Fedore 36 VM I failed to reproduce..

The error seems to be related to the multi-project nature of Scene Builder and I was able to resolve it with running mvn install. After that, the error disappeared. I have to admit, that I need to dig deeper into Maven life cycle. Nevertheless, mvn install upfront helped to avoid the problem. Seems to be a similar problem like when one attempts to run Scene Builder from command line using mvn javafx:run -f app. This also requires an invocation of mvn install upfront.

@batashi , @AlmasB Would it be acceptable for you, if I would update the README.md for that?

I would prefer (just for now) not to touch the POM.xml at this moment but rather read more into Maven Life Cycle in order to really understand this behavior.

This seems to be really unrelated to my very first impression, which was something with line endings in Git- But to exclude this, please try to clone Scene Builder into a location. The line-endings can be a topic for old repositories but should not be an issue for new clones.

The exception you've pointed out in the original issue is by intent - its a test for an edge case, so the exception there was expected. But the other failing tests weren't.

Thanks! Oliver