This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 252014 - Archlinux: selected location does not represent a valid JavaFX Scene Builder installation
Summary: Archlinux: selected location does not represent a valid JavaFX Scene Builder ...
Status: VERIFIED FIXED
Alias: None
Product: javafx
Classification: Unclassified
Component: Visual Tool Integration (show other bugs)
Version: 8.0.2
Hardware: PC All
: P3 normal (vote)
Assignee: Roman Svitanic
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-23 10:11 UTC by slava888
Modified: 2015-10-26 16:40 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
IDE log (132.63 KB, text/plain)
2015-04-23 10:11 UTC, slava888
Details

Note You need to log in before you can comment on or make changes to this bug.
Description slava888 2015-04-23 10:11:11 UTC
Product Version = NetBeans IDE 8.0.2 (Build 201411102027)
Operating System = Linux version 3.19.3-3-ARCH running on amd64
Java; VM; Vendor = 1.8.0_40
Runtime = OpenJDK 64-Bit Server VM 25.40-b23

Additionally to OpenJDK, OpenJFX ans scenebuilder are installed from AUR.

When trying to select the Scene Builder location in Tools/Option/Java/JavaFX/SceneBuilderHome, I always get the error message:

Selected location
/usr/share/java/scenebuilder
does not represent a valid JavaFX Scene Builder installation.

The same goes for /usr/bin (location of SceneBuilder executable).

SceneBuilder is installed from AUR and can be used outside NetBeans. The installation files:
$ pacman -Ql scenebuilder
scenebuilder /usr/
scenebuilder /usr/bin/
scenebuilder /usr/bin/SceneBuilder
scenebuilder /usr/share/
scenebuilder /usr/share/java/
scenebuilder /usr/share/java/scenebuilder/
scenebuilder /usr/share/java/scenebuilder/SceneBuilderApp.jar
scenebuilder /usr/share/java/scenebuilder/SceneBuilderKit.jar
scenebuilder /usr/share/java/scenebuilder/lib/
Comment 1 slava888 2015-04-23 10:11:16 UTC
Created attachment 153319 [details]
IDE log
Comment 2 NwDx 2015-05-19 09:06:44 UTC
This issue also happens on Windows Systems (Win8.1 x64 with 1.8.45 32-Bit JDK/JRE). What I've done:

1. Got the sources from http://hg.openjdk.java.net/openjfx/9-dev/rt/file/26dfe2d8e46b/apps/scenebuilder.

2. Opened the sources (SceneBuilderApp and SceneBuilderKit) as Projects in Netbeans (8.0.2).

3. Changed the Project SceneBuilderApp properties to a JavaFX Application type and to do a native build.

4. Changed the Project SceneBuilderApp Application Properties to title "JavaFX Scene Builder 2.0" and Version too, even it is already 2.0.1. Set the application Icon to a copied old von of 2.0 Installation.

5. Package all as Native Bundle type MSI (without errors)

6. Installed Package as systemwide one to Program Files (x86)

7. Tried to set the newly installed Scene Builder in Netbeans under Tools.

Now the Error Message appears: Selected Location "..Path.." does not represent a valid JavaFX Scene Builder installation.

After probing alot with the old 2.0 offical installation and the one I created. It seams to be two problems:

First: In the install dir have to be a file named "JavaFX Scene Builder 2.0.exe" and the corresponding icon file "JavaFX Scene Builder 2.0.ico" (Windows specific).

Second: In the subdir "app" have to be a file named "scenebuilder.properties" with only little lines of content: "Version = JavaFX Scene Builder 2.0
BuildInformation = Version: 2.0-b20, Changeset: 5cac093e5c1f
Date = 2014-03-21 09:29"

After doing all the above stuff, Netbeans accepts the choosen directory with the freshly build of SceneBuilderApp.

Why this should be so hardlined? Let's choose the exe, sh, or what ever. Netbeans only invokes it with the given File as parameter so who cares about versions and property files? It's like an external tool, not more.

Please fix this, thank you.
Comment 3 Roman Svitanic 2015-05-19 10:07:06 UTC
NetBeans now supports Gluon SceneBuilder which can be used as an alternative:
http://gluonhq.com/products/downloads/ 

If you want to build SceneBuilder from sources, than IDE searches for following files (one from each category for your OS, paths are relative to SB install directory)

WINDOWS:

1) executable
JavaFX Scene Builder ${version}.exe
scenebuilder.exe
bin/scenebuilder.exe

2) properties
app/scenebuilder.properties
bin/scenebuilder.properties
app/scenebuilder.cfg

LINUX:

1) executable
JavaFXSceneBuilder{$version}
SceneBuilder

2) properties
app/scenebuilder.properties
app/SceneBuilder.cfg

Property file should have a property "version" or "app.version" indicating the version of SB.
Comment 4 NwDx 2015-05-19 10:21:03 UTC
(In reply to Roman Svitanic from comment #3)
> NetBeans now supports Gluon SceneBuilder which can be used as an alternative:
> http://gluonhq.com/products/downloads/ 
> 

Thank you, but what is the meaning of "now"? NB 8.0.2 doesn't support it (just tested it). Do I have to install NB Dev? And the Gluon SceneBuilder installs in user space, this is a bit unhandy if more than one person is developing on the same machine on different user profiles. Updates or Upgrades will be a horror :-)

So I'll stay to build my own version of SB. In this context, what is the meaning of 

> JavaFX Scene Builder ${version}.exe

Where is the property version set and which versions will be supported?

Thank you again for your really fast response.
Comment 5 slava888 2015-05-19 10:23:58 UTC
Cannot confirm comment 3 either. Created the necessary files, still NetBeans does not accept the location.

$ tree /usr/share/java/scenebuilder
/usr/share/java/scenebuilder
├── app
│   └── scenebuilder.properties
├── lib
├── SceneBuilder -> /usr/bin/SceneBuilder
├── SceneBuilderApp.jar
└── SceneBuilderKit.jar

$ cat app/scenebuilder.properties 
app.version=2.0

Still getting "Selected location ... does not represent" message for /usr/share/java/scenebuilder
NetBeans version 8.0.2 (Build 201411102027)
Comment 6 Roman Svitanic 2015-05-19 11:07:24 UTC
(In reply to NwDx from comment #4)
> (In reply to Roman Svitanic from comment #3)
> > NetBeans now supports Gluon SceneBuilder which can be used as an alternative:
> > http://gluonhq.com/products/downloads/ 
> > 
> 
> Thank you, but what is the meaning of "now"? NB 8.0.2 doesn't support it
> (just tested it). Do I have to install NB Dev? And the Gluon SceneBuilder
> installs in user space, this is a bit unhandy if more than one person is
> developing on the same machine on different user profiles. Updates or
> Upgrades will be a horror :-)

Yes, support for Gluon is, of course, in the dev builds and it will be part of 8.1 release.

> 
> So I'll stay to build my own version of SB. In this context, what is the
> meaning of 
> 
> > JavaFX Scene Builder ${version}.exe
> 
> Where is the property version set and which versions will be supported?

Currently supported versions are: 2.0.4;2.0.3;2.0.2;2.0.1;2.0;1.2;1.1;1.0
It is just a placeholder, IDE substitutes it with above-given versions to find an executable file.

> 
> Thank you again for your really fast response.
Comment 7 Roman Svitanic 2015-05-19 11:17:13 UTC
(In reply to slava888 from comment #5)
> Cannot confirm comment 3 either. Created the necessary files, still NetBeans
> does not accept the location.
> 
> $ tree /usr/share/java/scenebuilder
> /usr/share/java/scenebuilder
> ├── app
> │   └── scenebuilder.properties
> ├── lib
> ├── SceneBuilder -> /usr/bin/SceneBuilder
> ├── SceneBuilderApp.jar
> └── SceneBuilderKit.jar
> 
> $ cat app/scenebuilder.properties 
> app.version=2.0
> 
> Still getting "Selected location ... does not represent" message for
> /usr/share/java/scenebuilder
> NetBeans version 8.0.2 (Build 201411102027)

Sorry, I forgot to mention that information in the comment #3 are relevant to the current dev builds only.

For 8.0.2 on Linux only executable with name in format JavaFXSceneBuilder{$version} is accepted (e.g. JavaFXSceneBuilder2.0). Properties can be only "app/scenebuilder.properties" for 8.0.2.
Comment 8 Roman Svitanic 2015-05-19 11:18:28 UTC
Moreover "app.version" property is not accepted by 8.0.2 as well. Only "version".
Comment 9 slava888 2015-05-19 11:32:42 UTC
(In reply to Roman Svitanic from comment #7)
> For 8.0.2 on Linux only executable with name in format
> JavaFXSceneBuilder{$version} is accepted (e.g. JavaFXSceneBuilder2.0).
> Properties can be only "app/scenebuilder.properties" for 8.0.2.
(In reply to Roman Svitanic from comment #8)
> Moreover "app.version" property is not accepted by 8.0.2 as well. Only
> "version".

Thanks, this works.
Comment 10 NwDx 2015-05-20 04:42:47 UTC
For me it works too, Thank you!
Comment 11 Lou Dasaro 2015-09-03 03:55:21 UTC
I am marking this as fixed, primarily due to Roman's excellent explanation of the details, as well as the fact that NB 8.1/DEV supports Gluon's build (SB 8).

...If I am wrong about closing this, please reopen with my apologies!