[PATCH] buildscript java version detection fails on Linux/Ubuntu on Picked up JAVA_TOOL_OPTIONS

2015-08-27 Thread info
I've adapted the build.gradle to use java -fullversion instead of java  
-version, parsing the result with a regexp.


diff -r 9b5fc7c1e5e6 build.gradle
--- a/build.gradle  Fri Aug 07 18:35:42 2015 -0700
+++ b/build.gradle  Thu Aug 27 15:52:11 2015 +0200
@@ -719,29 +719,27 @@
 if (!file(JAVAH).exists()) throw new Exception(Missing or incorrect  
path to 'javah': '$JAVAH'. Perhaps bad JDK_HOME? $JDK_HOME)
 if (!file(JAVADOC).exists()) throw new Exception(Missing or  
incorrect path to 'javadoc': '$JAVADOC'. Perhaps bad JDK_HOME?  
$JDK_HOME)


-
+
 // Determine the verion of Java in JDK_HOME. It looks like this:
 //
-// $ java -version
-// java version 1.7.0_45
-// Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
-// Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
-//
-// We need to parse the second line
-def inStream = new java.io.BufferedReader(new  
java.io.InputStreamReader(new java.lang.ProcessBuilder(JAVA,  
-version).start().getErrorStream()));

+// $ java -fullversion
+// for OpenJDK: openjdk full version 1.8.0_45-internal-b14
+// for Oracle JDK: java full version 1.8.0_45-b14
+
+def inStream = new java.io.BufferedReader(new  
java.io.InputStreamReader(new java.lang.ProcessBuilder(JAVA,  
-fullversion).start().getErrorStream()));

 try {
-if (inStream.readLine() != null) {
-String v = inStream.readLine();
-if (v != null) {
-int ib = v.indexOf( (build );
-if (ib != -1) {
-String ver = v.substring(ib + 8, v.size() - 1);
-
-defineProperty(jdkRuntimeVersion, ver)
-defineProperty(jdkVersion, jdkRuntimeVersion.split(-)[0])
-defineProperty(jdkBuildNumber,  
jdkRuntimeVersion.substring(jdkRuntimeVersion.lastIndexOf(-b) + 2))

-}
-}
+def v = inStream.readLine();
+
+if (v != null) {
+	def pattern =  
java.util.regex.Pattern.compile(^[^\]*\((\\d+(?:\\.\\d+)*)_(\\d+))(?:-\\w+)?(?:-b(\\d+))\\$)

+   def matcher = pattern.matcher(v)
+
+   if (matcher.matches()) {
+defineProperty(jdkVersion, matcher.group(1))
+defineProperty(jdkRuntimeVersion, matcher.group(2))
+defineProperty(jdkUpdate, matcher.group(3))
+defineProperty(jdkBuildNumber, matcher.group(4))
+   }
 }
 } finally {
 inStream.close();



Re: [9] Proposal to deprecate VP6 video and the FLV/FXM file formats

2015-08-27 Thread Kevin Rushforth

It's not directly related to JEP 257, no. Just some outstanding cleanup.

Btw, speaking of JEP 257, we plan to integrate that to 9-dev today.

-- Kevin


Michael Berry wrote:

+1 for deprecation - I haven't used VP6 in a long while, and would value
the whole thing being open source more than its inclusion.

Out of interest, is this anything to do with JEP 257? I started looking at
this with Kirill's guidance a year or so ago, but sadly many other things
had to take precedence so I didn't really have the time.

Michael

On 27 August 2015 at 12:39, Scott Palmer swpal...@gmail.com wrote:

  

On Aug 27, 2015, at 2:29 AM, Dr. Michael Paus m...@jugs.org wrote:

Am 26.08.15 um 22:25 schrieb Scott Palmer:
  

Then legacy formats could be provided in optional downloads and new


formats can be supported without the need to integrate them within the JRE
code.



To me this sounds again like a Java/JavaFX specific solution which, to
  

my opinion, is a dead-end road. I think it would be much more important
that JavaFX can directly use all system installed codecs. I simply don't
understand why it is possible to install a codec pack on a machine and
almost all software, with the exception of JavaFX, is able to immediately
use that and only JavaFX based applications are not.


Michael
  

I agree that codecs that are usable by the system’s default media
framework should work.  However, I believe that is already supported in
most cases, is it not?




It's not - JavaFX can decode the audio / video / container formats that it
knows about through its GStreamer plugins, and nothing else (unless you
compile them in yourself, which isn't all that hard.)


  

There still needs to be a guarantee that certain specific codecs will work
wherever JFXMEdia is supported.  Otherwise you lose a significant bit of
cross-platform compatibility. Media assets that you ship with your
application need to be able to play, regardless of how the end user has
configured their specific codec environment.

Scott






  


Re: [9] Proposal to deprecate VP6 video and the FLV/FXM file formats

2015-08-27 Thread David DeHaven

 +1 for deprecation - I haven't used VP6 in a long while, and would value
 the whole thing being open source more than its inclusion.
 
 Out of interest, is this anything to do with JEP 257? I started looking at
 this with Kirill's guidance a year or so ago, but sadly many other things
 had to take precedence so I didn't really have the time.

No, that's unrelated. I suspect we'll hear something about that soon... Oh, I 
see Kevin let the cat out of the bag. Well, there you go :)


 I agree that codecs that are usable by the system’s default media
 framework should work.  However, I believe that is already supported in
 most cases, is it not?
 
 
 It's not - JavaFX can decode the audio / video / container formats that it
 knows about through its GStreamer plugins, and nothing else (unless you
 compile them in yourself, which isn't all that hard.)

Not entirely true... on the Mac, GStreamer does not support HLS, that gets 
routed through QTKit (for = 10.7) or AVFoundation (10.8+). With VP6 gone there 
will actually be no need for GStreamer on Mac at all.


It *used* to be the case that we allowed anything the native platform provided, 
in the previous media stack (JMC if anyone was paying attention).

The big issue, as Kirill pointed out, was it was very difficult to support due 
to the vast combinations of operating systems and codecs/media formats and 
(more importantly) there are security implications.

There are internal discussions ongoing about how we're approaching this 
problem. The security aspects only affect webstart and plugin, standalone 
applications aren't as much of a concern (except from a supportability 
standpoint) so maybe some compromise can be reached.

I would actually favor allowing formats supplied by the underlying native 
platform over trying to figure out how to provide a pluggable codec interface, 
but it needs to be done in a way that's sustainable and does not expose 
security vulnerabilities.

Again, I'm not promising anything, just know that complaints and requests have 
been heard and are being taken into consideration.

-DrD-



Re: [9] Proposal to deprecate VP6 video and the FLV/FXM file formats

2015-08-27 Thread Michael Berry
On 27 August 2015 at 19:53, David DeHaven david.deha...@oracle.com wrote:


  +1 for deprecation - I haven't used VP6 in a long while, and would value
  the whole thing being open source more than its inclusion.
 
  Out of interest, is this anything to do with JEP 257? I started looking
 at
  this with Kirill's guidance a year or so ago, but sadly many other things
  had to take precedence so I didn't really have the time.

 No, that's unrelated. I suspect we'll hear something about that soon...
 Oh, I see Kevin let the cat out of the bag. Well, there you go :)


Awesome, that's good to hear!




  I agree that codecs that are usable by the system’s default media
  framework should work.  However, I believe that is already supported in
  most cases, is it not?
 
 
  It's not - JavaFX can decode the audio / video / container formats that
 it
  knows about through its GStreamer plugins, and nothing else (unless you
  compile them in yourself, which isn't all that hard.)

 Not entirely true... on the Mac, GStreamer does not support HLS, that gets
 routed through QTKit (for = 10.7) or AVFoundation (10.8+). With VP6 gone
 there will actually be no need for GStreamer on Mac at all.

Sorry, my mistake - I'm used to the media stack on Windows where this is (I
think) always the case.



 It *used* to be the case that we allowed anything the native platform
 provided, in the previous media stack (JMC if anyone was paying attention).

 The big issue, as Kirill pointed out, was it was very difficult to support
 due to the vast combinations of operating systems and codecs/media formats
 and (more importantly) there are security implications.

Perhaps a political issue as oppose to a technical one, but (on the support
side of things rather than the security side) would best efforts here
with a warning that it might not work 100% reliably be better than not at
all?


 There are internal discussions ongoing about how we're approaching this
 problem. The security aspects only affect webstart and plugin, standalone
 applications aren't as much of a concern (except from a supportability
 standpoint) so maybe some compromise can be reached.

Without wishing to drag this further off topic (perhaps it should be split
into a separate discussion!), from memory at the moment the Java code won't
allow any format down to the native layer (gstreamer) unless it matches one
of the types it's aware of. Would it be possible to remove this hard
requirement (perhaps with a flag?) If this was done then it would probably
be a small bit of boilerplate in the native layer to pass the stream down
to the relevant plugin. If it doesn't exist then we haven't lost anything,
if it does then the stream can be played without an issue.

This wouldn't change anything by default, but it would mean that anyone
could then drag custom gstreamer plugins into the correct JRE directory and
have them work straight off. Considering that many applications bundle a
JRE anyway these days, that would make it trivial for those who wanted to
to support any other codec / container type that GStreamer offered, and
would (presumably) remove the support / legal burden on Oracle of
distributing and maintaining these plugins. Hopefully that ticks the
sustainability and security boxes?

Michael


 I would actually favor allowing formats supplied by the underlying native
 platform over trying to figure out how to provide a pluggable codec
 interface, but it needs to be done in a way that's sustainable and does not
 expose security vulnerabilities.


 Again, I'm not promising anything, just know that complaints and requests
 have been heard and are being taken into consideration.

 -DrD-




-- 
Thanks,

Michael


JEP 253 Update: new JavaDoc ready for review

2015-08-27 Thread Jonathan Giles

Hi all,

As promised the other week here is an updated javadoc export of the 
proposed APIs for JEP 253. It includes the APIs for the third subproject 
(new CSS APIs), and it also _removes_ the APIs for the second subproject 
(InputMap APIs).


The URL for the JavaDoc is here: 
http://jonathangiles.net/javafx/jdk9/jep253/6/


The CSS APIs are ready for review, but we are the first to admit that 
the javadoc is incomplete. We plan to do a big javadoc push on these 
docs in the next week, but we didn't want to hold up the first review 
until then. If you have questions on certain API, please let us know - 
at the very least it may inform our javadoc efforts!


The InputMap API has been removed as we have decided now is not the 
right time to move that forward. For one it has not yet been met with 
universal community praise :-), but for two it doesn't feel right to 
release it without the behaviors themselves becoming public. I worried 
that without the behaviors being public that the InputMap was a bit of a 
'map to nowhere'. My hope is that we can resolve this in an update 
release of JDK 9. The plan now is to remove the second subproject from 
JEP 253 to have it correctly tracking our intentions, so I will be doing 
that in the coming week.


However, all is not lost! The InputMap continues to live on inside our 
behaviors code, and will continue to form the basis for future 
iterations and investigations. It already is a much nicer approach than 
we had previously for our behaviors, so I'm quite happy that even though 
we haven't scored the points for new public API, we've scored code 
quality points at least.


We look forward to your feedback,
-- Jonathan


Just pushed the updated GStreamer for JEP 257

2015-08-27 Thread Kevin Rushforth
I just pushed the changeset for JEP 257 [1] [2] on behalf of Alexander 
Matveev to the openjfx 9-dev repo. If you have any questions about the 
new GStreamer, please let Alexander or Kirill know. This will be in next 
week's early access build of JDK 9 (build 80).


As previously announced [3] this means that JavaFX for JDK 9 will no 
longer build or run on some older Linux distros.


-- Kevin

[1] http://openjdk.java.net/jeps/257
[2] https://bugs.openjdk.java.net/browse/JDK-8043352
[3] 
http://mail.openjdk.java.net/pipermail/openjfx-dev/2015-August/017722.html




CFV: New OpenJFX Committer: Alexander Matveev

2015-08-27 Thread Kevin Rushforth

I hereby nominate Alexander Matveev [1] to OpenJFX Committer.

Alexander was an initial member of JavaFX team at Oracle when the 
OpenJFX project was created, and was on the initial list of approved 
committers [2]. His status as OpenJFX committer was not recorded at that 
time on the Census. This CVF is intended to correct this oversight.


Alexander's changes prior to JavaFX becoming open-source were 
significant (which is why he was on the initial list of committers). In 
particular, Alexander, along with the rest of the media team, 
contributed much of the code that went into the open-source changeset 
that Kirill Kirichenko pushed for OpenJFX in the JDK 8 release:


   hg log -r aee256fde55

Counting his contribution to that changeset, Alexander now also has the 
requisite number of changes in the open-source repo to become a committer.


   hg log -M -u matvee

Votes are due by September 10, 2015.

Only current OpenJFX Committers [3] are eligible to vote on this 
nomination. Votes must be cast in the open by replying to this mailing list.


For Lazy Consensus voting instructions, see [4]. Nomination to a project 
Committer is described in [5].


Thanks,

-- Kevin

[1] http://openjdk.java.net/census#almatvee

[2] 
http://mail.openjdk.java.net/pipermail/announce/2011-November/000113.html


[3] http://openjdk.java.net/census#openjfx

[4] http://openjdk.java.net/bylaws#lazy-consensus

[5] http://openjdk.java.net/projects#project-committer



Re: Usage of internal API's in charts

2015-08-27 Thread Sven Reimers
Ok. That what I assumed.

Shall we try to compile a list with needed API's?

-Sven
Am 26.08.2015 19:19 schrieb Pedro Duque Vieira 
pedro.duquevie...@gmail.com:

 I've also extended charts and have also been confronted with internal APIs.

 --
 Pedro Duque Vieira



Re: [9] Proposal to deprecate VP6 video and the FLV/FXM file formats

2015-08-27 Thread Kirill Kirichenko

On 27.08.2015 9:29, Dr. Michael Paus wrote:

To me this sounds again like a Java/JavaFX specific solution which, to
my opinion, is a dead-end road. I think it would be much more important
that JavaFX can directly use all system installed codecs. I simply don't
understand why it is possible to install a codec pack on a machine and
almost all software, with the exception of JavaFX, is able to
immediately use that and only JavaFX based applications are not.


Although this is an off-topic I'll answer to your question.

Security and testing are the reasons.
It's virtually impossible to test every possible codec on every possible 
platform. Many of them are proprietary so we don't control their 
code/can't fix their bugs. And all blame that JavaFX can't play 
this/can't play that will fall on our heads.

And it can open many potential security vulnerabilities.