Re: javafxpackager and launcher

2014-01-10 Thread Scott Palmer
What I'm referring to is data that is already available to the packager
that is not being used effectively.  It's only applied to JNLP data or
something, when it can also apply to the resources in the launcher exe.  I
think the two issues are distinct.

Scott


On Fri, Jan 10, 2014 at 5:23 PM, Mark Fortner  wrote:

> Comments in-line
>
>
>>
>> I just started experimenting with the javafxpackager and I noticed that
>> the
>> .exe that is created could, and probably should, have more things
>> customized in the resources.  If you get properties on the file in Windows
>> and look at the Details tab, things like Product name and Version are not
>> filled in.  The project has a Title, a Vendor, Description and
>> Implementation Version, etc.  I believe those are used for JNLP
>> deployment.
>>  It would be nice to have those details injected into the .exe just like
>> the icon is.  Should I create an issue for that?
>>
>>
> I think there already is an issue for a "universal deployment descriptor"
> https://javafx-jira.kenai.com/browse/RT-29229.
>
> This came out of last year's discussion thread entitled "Packaging
> Application Metadata".
>
> Cheers,
>
> Mark
>


hg: openjfx/8/graphics/rt: 2 new changesets

2014-01-10 Thread hang . vo
Changeset: 2872be3a2984
Author:hudson
Date:  2014-01-10 09:30 -0800
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/2872be3a2984

Added tag 8.0-b123 for changeset 423cf238579d

! .hgtags

Changeset: 9689bfae29b8
Author:mv157916
Date:  2014-01-10 15:05 -0800
URL:   http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/9689bfae29b8

RT-35268: Update the JDK 8 build number to b123 in rt/build.properties file in 
the JavaFX 8 Master forest.

! build.properties



hg: openjfx/8u-dev/rt: 6 new changesets

2014-01-10 Thread hang . vo
Changeset: 26f87c5d3435
Author:hudson
Date:  2014-01-03 06:56 -0800
URL:   http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/26f87c5d3435

Added tag 8.0-b122 for changeset dd789066e61e

! .hgtags

Changeset: 44acc56c806e
Author:mv157916
Date:  2014-01-03 13:32 -0800
URL:   http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/44acc56c806e

RT-35171: Update the JDK 8 build number to b122 in rt/build.properties file in 
the JavaFX 8 Master forest.

! build.properties

Changeset: 5aca75258738
Author:Rafi Tayar 
Date:  2014-01-06 11:23 +0200
URL:   http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/5aca75258738

RT-34744 [Touch, Lens] Scrolling is only possible using scroll bars
Reviewed-by: dblaukop kcr jgiles

! buildSrc/armv6hf.gradle
! buildSrc/armv6sf.gradle
! buildSrc/x86egl.gradle
! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ListViewSkin.java
! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TableViewSkinBase.java
! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TreeViewSkin.java

Changeset: 423cf238579d
Author:Yves Joan 
Date:  2014-01-07 12:06 +0100
URL:   http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/423cf238579d

Sync up SceneBuilder changes

! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/AppPlatform.java
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderTest.java
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/ScenicViewStarter.java
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp.properties
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBar.fxml
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBarController.java
- 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesDialogController.java
- 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/SBPreferences.java
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/PreviewWindowController.java
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/FxmlTemplates.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorPlatform.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit.properties
- 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/images/ImageUtilsBase.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifyFxIdJob.java
+ 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/UsePredefinedSizeJob.java
- 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeShadow.java
- 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/ImageView.fxml
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableCell.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeCell.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AutoSuggestEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.fxml
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.java
+ 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/ColumnResizePolicyEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/CursorEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EditorUtils.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EnumEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EventHandlerEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/FxIdEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/I18nStringEditor.java
! 

Re: javafxpackager and launcher

2014-01-10 Thread Mark Fortner
Comments in-line


>
> I just started experimenting with the javafxpackager and I noticed that the
> .exe that is created could, and probably should, have more things
> customized in the resources.  If you get properties on the file in Windows
> and look at the Details tab, things like Product name and Version are not
> filled in.  The project has a Title, a Vendor, Description and
> Implementation Version, etc.  I believe those are used for JNLP deployment.
>  It would be nice to have those details injected into the .exe just like
> the icon is.  Should I create an issue for that?
>
>
I think there already is an issue for a "universal deployment descriptor"
https://javafx-jira.kenai.com/browse/RT-29229.

This came out of last year's discussion thread entitled "Packaging
Application Metadata".

Cheers,

Mark


Re: javafxpackager and launcher

2014-01-10 Thread Scott Palmer
Comments inlineā€¦

On Jan 10, 2014, at 12:11 PM, Danno Ferrin  wrote:

> I came on board working on the packager stuff last month.  Nearly all of the 
> design decisions for this were made before I came on board, but I will do my 
> best to explain it.
> 
> 
> I'm wondering why not make java.exe the only launcher we need.  ...
> 
> This would require a JEP at the least, and approval from the JSR process 
> since we would be altering a standardized entry point.  The cost/benefit goes 
> down quick.
>  
> ...
> One of the advantages of our own launcher (as you point out later in your 
> mail) is we can customize the launcher.  Put a custom icon on, and 
> (potentially) load up custom meta-data to the executable, and maybe even sign 
> it (we don't sign it today).  Tweaking the existing Java.exe in this manner 
> on windows could be problematic.

Understood.  Sounds like it best to keep them separate.

> 
> Pre-loader may be handy, but we haven't seen any requests for it yet for app 
> bundles.  Post a bug if you would find it useful. 

Consider RT-33594 .. I considered a Pre-loader the best place to put any splash 
screen code.  Applications with large startup times might want to have a 
unified mechanism to show the user that the app will be ready shortly.  I see 
no reason to differentiate between a web-start app that is downloading jars or 
any other startup delay.  For example my app scans the disk for plugins and 
loads them prior to showing the main UI.

> 
>  
> I have been using a standard java.exe launcher from Java 7 for my apps and
> hacked jfxrt.jar onto the classpath manually. I do this for a couple
> reasons.  One because the same app could launch in a Swing or JavaFX mode
> while we were transitioning our UI.  Two, because we install a private JRE
> that is shared among multiple apps and services that make up our product
> and javafxpackager only supports the default system-wide JRE or a JRE
> embedded into the application bundle.  It's a bit too limited... though
> after looking at the launcher source, I think I can fool it by making a
> "runtime" directory symlink inside the app bundle folder that points to our
> company-private JRE.
> 
> 
> I see you posted RT-35215 to address this.  Are we talking just windows or 
> windows/mac/linux?

I am doing this on Windows currently. We also have some OS X support but 
currently require Java to be installed independently.  That needs to be cleaned 
up at doe point.  We will be running both a service and a couple applications 
on OS X as well so using a single company-private JRE would make sense there 
too.


>  We do have a mechanism that isn't widly publicized for userJVMArgs, 
> basically where you can store per-execution jvm args in a file in the app 
> directory.  We could include a hook to add a custom JVM home and rely on the 
> installer to set it correctly.

That works for me.  I already discovered the jvmarg thing in the package.cfg 
file.  There are some class path bugs with the Java launcher stubs that I had 
to work around by adding something to app.classpath in that file.  It was 
related to the jar used for my log formatter not being loadable by the logging 
system when launching JavaFX apps. While I was there I used the jvmargs to set 
the java.util.logging config file property.

>  
> I just started experimenting with the javafxpackager and I noticed that the
> .exe that is created could, and probably should, have more things
> customized in the resources.  If you get properties on the file in Windows
> and look at the Details tab, things like Product name and Version are not
> filled in.  The project has a Title, a Vendor, Description and
> Implementation Version, etc.  I believe those are used for JNLP deployment.
>  It would be nice to have those details injected into the .exe just like
> the icon is.  Should I create an issue for that?
> 
> We should populate those, please post a JIRA.

RT-35271

> 
> 
> I'm also curious about the installation location when making a .msi
> package.  Instead of "Program Files/AppName" or "Program
> Files/Vendor/AppName" it goes to the user-specific App-Data folder.  This
> is almost never what a typical Windows user would want or expect. I
> understand it is probably to avoid permission issues, but the installer
> really should have had the option to do a per-machine install.
> This page http://docs.oracle.com/javafx/2/deployment/deploy_quick_start.htm
> mentions
> "Deployment occurs with no need for admin permissions when using ZIP or
> user-level installers." .. well how can you make a machine or system level
> installer instead?
> Is this out-of-scope for javafxpackager enhancements?
> 
> 
> Set the SystemWide flag. Right now it is only accessible via the ant task via 
> the  element and the attribute is "systemInstall".  The 
> default is installer specific (or should be).  I expected the MSI to default 
> to system and the EXE to default to this user location you described.  (for 
> mac the us

Re: [8u] Code Review Request - RT-4169,[Stage] Setting 'icons' to null do not reset the Stage icon

2014-01-10 Thread Kevin Rushforth
If there are extra points, then Martin is going to get a whole pile of 
them for the oldest feature with RT-153 (alwaysOnTop). So what do you 
and he win? More bugs to fix?  :)


-- Kevin


Stephen F Northover wrote:

Hi Anthony,

Please review https://javafx-jira.kenai.com/browse/RT-4169.  It's an 
old one.


Should there be extra points for fixing the oldest bug ever?

Thanks,
Steve


[8u] Code Review Request - RT-4169,[Stage] Setting 'icons' to null do not reset the Stage icon

2014-01-10 Thread Stephen F Northover

Hi Anthony,

Please review https://javafx-jira.kenai.com/browse/RT-4169.  It's an old 
one.


Should there be extra points for fixing the oldest bug ever?

Thanks,
Steve


RE: javafxpackager and launcher

2014-01-10 Thread John Smith
Hi Danno,

It's really great to see someone paying close attention to the packaging and 
deployment stuff, this level of effort has been sorely missed since Igor and 
Daniel left.

Thanks for the contributions.

John

-Original Message-
From: openjfx-dev-boun...@openjdk.java.net 
[mailto:openjfx-dev-boun...@openjdk.java.net] On Behalf Of Danno Ferrin
Sent: Friday, January 10, 2014 9:11 AM
To: Scott Palmer
Cc: openjfx-dev@openjdk.java.net
Subject: Re: javafxpackager and launcher

I came on board working on the packager stuff last month.  Nearly all of the 
design decisions for this were made before I came on board, but I will do my 
best to explain it.


On Wed, Jan 8, 2014 at 8:20 PM, Scott Palmer  wrote:

> The Java 8 java.exe launcher is now JavaFX aware in that it will 
> launch JavaFX Applications that don't have a main(String []) method.
> The javafxpackager uses it's own launcher when creating a native package.
>
> Are there plans to unify those launchers?
> I noticed a comment under "future work" in WinLauncher.cpp that says 
> "Reuse code between windows/linux launchers and borrow more code from 
> java.exe launcher implementation."
>

The bundler also does a bit more to the JRE as well than just play with the 
launcher, files not required for redistribution are stripped out wholesale.
 The web plugin is stripped out, platform specific integrations are stripped 
out (like the activeX bridge), and every single command line binary entry point 
is also stripped out (such as rmid, corba services, as well as java.exe and 
javaw.exe)  So we are already do some very non-standard (but legal for 
re-distribution) things to the JRE.

I'm wondering why not make java.exe the only launcher we need.  (Or the
> javaw.exe variant)  I think would mainly be an issue of adding 
> package.cfg parsing and picking

up the embedded runtime.


This would require a JEP at the least, and approval from the JSR process since 
we would be altering a standardized entry point.  The cost/benefit goes down 
quick.


> An "application bundle mode" could probably be triggered via the 
> contents of a resource that is injected much like the custom icon is 
> injected into the fx launcher (I'm not sure if something needs to be 
> done for preloader support too.  I think the embedded launcher stub 
> handles that on Java 7, but I believe it isn't used on JavaFX 8.
>

One of the advantages of our own launcher (as you point out later in your
mail) is we can customize the launcher.  Put a custom icon on, and
(potentially) load up custom meta-data to the executable, and maybe even sign 
it (we don't sign it today).  Tweaking the existing Java.exe in this manner on 
windows could be problematic.

Pre-loader may be handy, but we haven't seen any requests for it yet for app 
bundles.  Post a bug if you would find it useful.



> I have been using a standard java.exe launcher from Java 7 for my apps 
> and hacked jfxrt.jar onto the classpath manually. I do this for a 
> couple reasons.  One because the same app could launch in a Swing or 
> JavaFX mode while we were transitioning our UI.  Two, because we 
> install a private JRE that is shared among multiple apps and services 
> that make up our product and javafxpackager only supports the default 
> system-wide JRE or a JRE embedded into the application bundle.  It's a 
> bit too limited... though after looking at the launcher source, I 
> think I can fool it by making a "runtime" directory symlink inside the 
> app bundle folder that points to our company-private JRE.
>
>
I see you posted RT-35215 to address this.  Are we talking just windows or 
windows/mac/linux?  We do have a mechanism that isn't widly publicized for 
userJVMArgs, basically where you can store per-execution jvm args in a file in 
the app directory.  We could include a hook to add a custom JVM home and rely 
on the installer to set it correctly.


> I just started experimenting with the javafxpackager and I noticed 
> that the .exe that is created could, and probably should, have more 
> things customized in the resources.  If you get properties on the file 
> in Windows and look at the Details tab, things like Product name and 
> Version are not filled in.  The project has a Title, a Vendor, 
> Description and Implementation Version, etc.  I believe those are used for 
> JNLP deployment.
>  It would be nice to have those details injected into the .exe just 
> like the icon is.  Should I create an issue for that?
>

We should populate those, please post a JIRA.


>
> I'm also curious about the installation location when making a .msi 
> package.  Instead of "Program Files/AppName" or "Program 
> Files/Vendor/AppName" it goes to the user-specific App-Data folder.  
> This is almost never what a typical Windows user would want or expect. 
> I understand it is probably to avoid permission issues, but the 
> installer really should have had the option to do a per-machine install.
> This page
> http://docs.oracle.com/ja

hg: openjfx/8/master/rt: 4 new changesets

2014-01-10 Thread hang . vo
Changeset: 44acc56c806e
Author:mv157916
Date:  2014-01-03 13:32 -0800
URL:   http://hg.openjdk.java.net/openjfx/8/master/rt/rev/44acc56c806e

RT-35171: Update the JDK 8 build number to b122 in rt/build.properties file in 
the JavaFX 8 Master forest.

! build.properties

Changeset: 5aca75258738
Author:Rafi Tayar 
Date:  2014-01-06 11:23 +0200
URL:   http://hg.openjdk.java.net/openjfx/8/master/rt/rev/5aca75258738

RT-34744 [Touch, Lens] Scrolling is only possible using scroll bars
Reviewed-by: dblaukop kcr jgiles

! buildSrc/armv6hf.gradle
! buildSrc/armv6sf.gradle
! buildSrc/x86egl.gradle
! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/ListViewSkin.java
! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TableViewSkinBase.java
! 
modules/controls/src/main/java/com/sun/javafx/scene/control/skin/TreeViewSkin.java

Changeset: 423cf238579d
Author:Yves Joan 
Date:  2014-01-07 12:06 +0100
URL:   http://hg.openjdk.java.net/openjfx/8/master/rt/rev/423cf238579d

Sync up SceneBuilder changes

! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/AppPlatform.java
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderApp.java
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/SceneBuilderTest.java
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/ScenicViewStarter.java
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/i18n/SceneBuilderApp.properties
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBar.fxml
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/menubar/MenuBarController.java
- 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/PreferencesDialogController.java
- 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preferences/SBPreferences.java
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/preview/PreviewWindowController.java
! 
apps/scenebuilder/SceneBuilderApp/src/com/oracle/javafx/scenebuilder/app/template/FxmlTemplates.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/EditorPlatform.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/i18n/SceneBuilderKit.properties
- 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/images/ImageUtilsBase.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/ModifyFxIdJob.java
+ 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/job/UsePredefinedSizeJob.java
- 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/content/gesture/mouse/ResizeShadow.java
- 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/ImageView.fxml
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treetableview/HierarchyTreeTableCell.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeCell.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/AutoSuggestEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.fxml
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/BoundedDoubleEditor.java
+ 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/ColumnResizePolicyEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/CursorEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EditorUtils.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EnumEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/EventHandlerEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/FxIdEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/I18nStringEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/PropertyEditor.java
! 
apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/e

Re: javafxpackager and launcher

2014-01-10 Thread David DeHaven

>> An "application bundle mode" could probably be
>> triggered via the contents of a resource that is injected much like the
>> custom icon is injected into the fx launcher (I'm not sure if something
>> needs to be done for preloader support too.  I think the embedded launcher
>> stub handles that on Java 7, but I believe it isn't used on JavaFX 8.
>> 
> 
> One of the advantages of our own launcher (as you point out later in your
> mail) is we can customize the launcher.  Put a custom icon on, and
> (potentially) load up custom meta-data to the executable, and maybe even
> sign it (we don't sign it today).  Tweaking the existing Java.exe in this
> manner on windows could be problematic.

I'd like to add the point that java (.exe) is simply a wrapper for libjli 
(jli.dll). In 7/8 the custom launcher uses this same interface to launch the 
application, so it  technically already uses the same code to launch. The other 
features of the custom launcher *cannot* be replicated by the SE launcher 
without massive changes to JLI and the SE launcher code.

Having said that... it's not entirely unreasonable to think that some useful 
parts of the launcher could be contributed to JLI. But that brings a host of 
other issues to the table, namely dealing with getting changes into OpenJDK and 
convincing the guys on the JDK tl team that such changes are necessary. By 
keeping the launcher code in fx packager, we keep the noise to a minimum which 
allows us to be able to be more flexible and responsive to developer demands. 
Once the product is mature enough, maybe we can revisit this.

-DrD-



Re: javafxpackager and launcher

2014-01-10 Thread Danno Ferrin
I came on board working on the packager stuff last month.  Nearly all of
the design decisions for this were made before I came on board, but I will
do my best to explain it.


On Wed, Jan 8, 2014 at 8:20 PM, Scott Palmer  wrote:

> The Java 8 java.exe launcher is now JavaFX aware in that it will launch
> JavaFX Applications that don't have a main(String []) method.
> The javafxpackager uses it's own launcher when creating a native package.
>
> Are there plans to unify those launchers?
> I noticed a comment under "future work" in WinLauncher.cpp that says "Reuse
> code between windows/linux launchers and borrow more code from java.exe
> launcher implementation."
>

The bundler also does a bit more to the JRE as well than just play with the
launcher, files not required for redistribution are stripped out wholesale.
 The web plugin is stripped out, platform specific integrations are
stripped out (like the activeX bridge), and every single command line
binary entry point is also stripped out (such as rmid, corba services, as
well as java.exe and javaw.exe)  So we are already do some very
non-standard (but legal for re-distribution) things to the JRE.

I'm wondering why not make java.exe the only launcher we need.  (Or the
> javaw.exe variant)  I think would mainly be an issue of adding package.cfg
> parsing and picking

up the embedded runtime.


This would require a JEP at the least, and approval from the JSR process
since we would be altering a standardized entry point.  The cost/benefit
goes down quick.


> An "application bundle mode" could probably be
> triggered via the contents of a resource that is injected much like the
> custom icon is injected into the fx launcher (I'm not sure if something
> needs to be done for preloader support too.  I think the embedded launcher
> stub handles that on Java 7, but I believe it isn't used on JavaFX 8.
>

One of the advantages of our own launcher (as you point out later in your
mail) is we can customize the launcher.  Put a custom icon on, and
(potentially) load up custom meta-data to the executable, and maybe even
sign it (we don't sign it today).  Tweaking the existing Java.exe in this
manner on windows could be problematic.

Pre-loader may be handy, but we haven't seen any requests for it yet for
app bundles.  Post a bug if you would find it useful.



> I have been using a standard java.exe launcher from Java 7 for my apps and
> hacked jfxrt.jar onto the classpath manually. I do this for a couple
> reasons.  One because the same app could launch in a Swing or JavaFX mode
> while we were transitioning our UI.  Two, because we install a private JRE
> that is shared among multiple apps and services that make up our product
> and javafxpackager only supports the default system-wide JRE or a JRE
> embedded into the application bundle.  It's a bit too limited... though
> after looking at the launcher source, I think I can fool it by making a
> "runtime" directory symlink inside the app bundle folder that points to our
> company-private JRE.
>
>
I see you posted RT-35215 to address this.  Are we talking just windows or
windows/mac/linux?  We do have a mechanism that isn't widly publicized for
userJVMArgs, basically where you can store per-execution jvm args in a file
in the app directory.  We could include a hook to add a custom JVM home and
rely on the installer to set it correctly.


> I just started experimenting with the javafxpackager and I noticed that the
> .exe that is created could, and probably should, have more things
> customized in the resources.  If you get properties on the file in Windows
> and look at the Details tab, things like Product name and Version are not
> filled in.  The project has a Title, a Vendor, Description and
> Implementation Version, etc.  I believe those are used for JNLP deployment.
>  It would be nice to have those details injected into the .exe just like
> the icon is.  Should I create an issue for that?
>

We should populate those, please post a JIRA.


>
> I'm also curious about the installation location when making a .msi
> package.  Instead of "Program Files/AppName" or "Program
> Files/Vendor/AppName" it goes to the user-specific App-Data folder.  This
> is almost never what a typical Windows user would want or expect. I
> understand it is probably to avoid permission issues, but the installer
> really should have had the option to do a per-machine install.
> This page
> http://docs.oracle.com/javafx/2/deployment/deploy_quick_start.htm
> mentions
> "Deployment occurs with no need for admin permissions when using ZIP or
> user-level installers." .. well how can you make a machine or system level
> installer instead?
> Is this out-of-scope for javafxpackager enhancements?
>
>
Set the SystemWide flag. Right now it is only accessible via the ant task
via the  element and the attribute is "systemInstall".  The
default is installer specific (or should be).  I expected the MSI to
default to system and the EXE to default to this use

Re: Bug Pass Friday

2014-01-10 Thread Stephen F Northover
Thanks David.  I know this is painful but in the end we'll be in a 
better place.


Steve

On 2014-01-10 8:38 AM, David Grieve wrote:

I'm going  to take a pass at bugs assigned to Mick. 
https://javafx-jira.kenai.com/issues/?jql=project%20%3D%20RT%20AND%20issuetype%20%3D%20Bug%20AND%20resolution%20%3D%20Unresolved%20AND%20assignee%20%3D%20mickf

If I get through that list, I'll start in on 
https://javafx-jira.kenai.com/issues/?jql=project%20%3D%20RT%20AND%20issuetype%20%3D%20Bug%20AND%20resolution%20%3D%20Unresolved%20AND%20assignee%20%3D%20paru

These are just bugs, not tweaks or features.

On Jan 7, 2014, at 4:27 PM, Stephen F Northover  
wrote:


Hello Committers,

I'd like to organize our work for 8u20 this week.  Recall that 8u20 is about 
improving the quality of FX rather than implementing new features.

https://wiki.openjdk.java.net/display/OpenJFX/8u20

Bug Owners:

I suggest that we implement "Bug Pass Friday" where component owners and 
reviewers assess their bug backlog, clean up really old bugs that no longer apply and 
target the remaining bugs for either 8u20 or 9.  In the case of bugs that don't have 
steps or sample code (and otherwise can't be reproduced), we should close them as 
'Incomplete and ask nicely for more information:

https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report

Otherwise, please check the priority and adjust accordingly.  Of course, 
crashes, exceptions and failed functionality tend to rate high.

Component Owners:

We have bugs that are unassigned or assigned to the wrong person. Component 
owners are asked to do a pass and ensure that all bugs that are assigned are 
assigned to owners or reviewers.  Of course there will be exceptions and when 
in doubt, email the list or contact us and we will update the code ownership 
tables.

https://wiki.openjdk.java.net/display/OpenJFX/Code+Ownership

Unassigned bugs can stay that way or be assigned.  It is likely that Kevin and 
I will do a pass on the unassigned bugs at a later time but if you know that a 
bug belongs to a certain person, assign it.

This Tuesday is our first milestone and it will be uneventful because of the 
holidays.  However, starting next week, we should have a good idea about the 
work that lies ahead and how much trouble we are in!

Steve and Kevin




Re: Bug Pass Friday

2014-01-10 Thread David Grieve
I'm going  to take a pass at bugs assigned to Mick. 
https://javafx-jira.kenai.com/issues/?jql=project%20%3D%20RT%20AND%20issuetype%20%3D%20Bug%20AND%20resolution%20%3D%20Unresolved%20AND%20assignee%20%3D%20mickf

If I get through that list, I'll start in on 
https://javafx-jira.kenai.com/issues/?jql=project%20%3D%20RT%20AND%20issuetype%20%3D%20Bug%20AND%20resolution%20%3D%20Unresolved%20AND%20assignee%20%3D%20paru

These are just bugs, not tweaks or features. 

On Jan 7, 2014, at 4:27 PM, Stephen F Northover  
wrote:

> Hello Committers,
> 
> I'd like to organize our work for 8u20 this week.  Recall that 8u20 is about 
> improving the quality of FX rather than implementing new features.
> 
>https://wiki.openjdk.java.net/display/OpenJFX/8u20
> 
> Bug Owners:
> 
> I suggest that we implement "Bug Pass Friday" where component owners and 
> reviewers assess their bug backlog, clean up really old bugs that no longer 
> apply and target the remaining bugs for either 8u20 or 9.  In the case of 
> bugs that don't have steps or sample code (and otherwise can't be 
> reproduced), we should close them as 'Incomplete and ask nicely for more 
> information:
> 
> https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report
> 
> Otherwise, please check the priority and adjust accordingly.  Of course, 
> crashes, exceptions and failed functionality tend to rate high.
> 
> Component Owners:
> 
> We have bugs that are unassigned or assigned to the wrong person. Component 
> owners are asked to do a pass and ensure that all bugs that are assigned are 
> assigned to owners or reviewers.  Of course there will be exceptions and when 
> in doubt, email the list or contact us and we will update the code ownership 
> tables.
> 
>https://wiki.openjdk.java.net/display/OpenJFX/Code+Ownership
> 
> Unassigned bugs can stay that way or be assigned.  It is likely that Kevin 
> and I will do a pass on the unassigned bugs at a later time but if you know 
> that a bug belongs to a certain person, assign it.
> 
> This Tuesday is our first milestone and it will be uneventful because of the 
> holidays.  However, starting next week, we should have a good idea about the 
> work that lies ahead and how much trouble we are in!
> 
> Steve and Kevin