Re: [External] : Re: Eclipse: ClassNotFoundException: com.sun.prism.shader.FillPgram_Color_Loader

2022-08-01 Thread Andy Goryachev
Sounds good to me.

-andy

From: Kevin Rushforth 
Date: Monday, 2022/08/01 at 08:32
To: Nir Lisker , Andy Goryachev 
Cc: Jeanette Winzenburg , openjfx-dev@openjdk.org 

Subject: Re: [External] : Re: Eclipse: ClassNotFoundException: 
com.sun.prism.shader.FillPgram_Color_Loader
I was going to ask the same question.

Let's just fix this in the mainline jfx release. Developers are only going to 
care about jfx19 for another 4 days.

-- Kevin

On 8/1/2022 8:20 AM, Nir Lisker wrote:
What's the value of backporting a build change?

On Mon, Aug 1, 2022 at 6:16 PM Andy Goryachev 
mailto:andy.goryac...@oracle.com>> wrote:
Nir:

I am planning to create a PR today which fixes all the build and test issues in 
apps/ and buildSrc/

I'll ask Kevin to backport the changes to jfx19.

Cheers,
-andy




Re: [External] : Re: Eclipse: ClassNotFoundException: com.sun.prism.shader.FillPgram_Color_Loader

2022-08-01 Thread Kevin Rushforth

I was going to ask the same question.

Let's just fix this in the mainline jfx release. Developers are only 
going to care about jfx19 for another 4 days.


-- Kevin


On 8/1/2022 8:20 AM, Nir Lisker wrote:

What's the value of backporting a build change?

On Mon, Aug 1, 2022 at 6:16 PM Andy Goryachev 
 wrote:


Nir:

I am planning to create a PR today which fixes all the build and
test issues in apps/ and buildSrc/

I'll ask Kevin to backport the changes to jfx19.

Cheers,

-andy




Re: [External] : Re: Eclipse: ClassNotFoundException: com.sun.prism.shader.FillPgram_Color_Loader

2022-08-01 Thread Nir Lisker
But that has no effect on previous JavaFX builds, I don't see a retroactive
value here.

>


Re: [External] : Re: Eclipse: ClassNotFoundException: com.sun.prism.shader.FillPgram_Color_Loader

2022-07-15 Thread Nir Lisker
>
>
>1. Unfortunately, even with ”ignore optional problems” Eclipse
>generates the “missing required source folder”.
>
>
I added the following to the classpath of graphics:

 





Eclipse adds the non-existent source folder even though there is no such
directory and does not complain. We should be able to revert the changes
done to the graphics classpath file and then add the other
platform-specific entries.
Worst case, we could generate an empty folder, but that would require
changing the build, which is not the best approach.

I also managed to reproduce the runtime error by using an application that
uses fonts. If you know what the Mac/Linux-specific folders are, I will add
them to my classpath and see if everything works for me.

On Fri, Jul 15, 2022 at 10:34 PM Nir Lisker  wrote:

> Ah, I missed that it's during runtime. When I reviewed the PR I tested an
> external project which relies on the graphics module and it worked fine. I
> will try to find a case that throws this error and see what can be done.
>
> On Fri, Jul 15, 2022 at 9:22 PM Andy Goryachev 
> wrote:
>
>> Nir:
>>
>>
>>
>>1. Unfortunately, even with ”ignore optional problems” Eclipse
>>generates the “missing required source folder”.  Below are the four 
>> entries
>>I’ve added to modules/javafx.graphics/.classpath:
>>
>>
>>
>> 
>>
>> 
>>
>> > "true"/>
>>
>> 
>>
>> 
>>
>> 
>>
>> 
>>
>> > "true"/>
>>
>> 
>>
>> 
>>
>> 
>>
>> 
>>
>> > "true"/>
>>
>> 
>>
>> 
>>
>> 
>>
>> 
>>
>> > "true"/>
>>
>> 
>>
>>> "src/main/java"/>
>>
>>
>>
>>
>>
>>1. The classes in build/gensrc/ generate a runtime exception, not a
>>build error.  I wonder if perhaps we should add an entry to the library
>>path instead.  Let me check on this.
>>
>>
>>
>>1. Again, Jeanette’s report was about runtime error.  I wonder though
>>if we have / should have a file that documents where reflection is being
>>used.  (Perhaps it already exists somewhere?  Searching for “reflection”
>>turned out 4.5K hits…)
>>
>>
>>
>> What do you think?
>>
>>
>>
>> -andy
>>
>>
>>
>> *From: *Nir Lisker 
>> *Date: *Friday, 2022/07/15 at 11:04
>> *To: *Andy Goryachev , Jeanette Winzenburg <
>> faste...@swingempire.de>
>> *Cc: *Kevin Rushforth ,
>> openjfx-dev@openjdk.org 
>> *Subject: *[External] : Re: Eclipse: ClassNotFoundException:
>> com.sun.prism.shader.FillPgram_Color_Loader
>>
>> First of all, you can set "ignore optional compile problems" on a source
>> folder in Eclipse. In fact, these folders were set as such before the
>> change.
>>
>>
>>
>> But more importantly, I don't see how classes that are only used in
>> reflection will cause a build error. If these folders are not referenced in
>> compile time, Eclipse doesn't need them as source folders.
>>
>>
>>
>> Jeanette, the Problems view in Eclipse has a table where it shows the
>> problem and the resource and path from which the error originates. If you
>> get errors because of missing OS-specific folders, it's crucial to know
>> what reports those errors, that is, who is looking for these folders.
>>
>>
>>
>> On Fri, Jul 15, 2022 at 8:17 PM Andy Goryachev 
>> wrote:
>>
>> Kevin:
>>
>>
>>
>> The four classpath entries in question are
>>
>> build/hlsl/Prism
>>
>> build/gensrc/jsl-prism
>>
>> build/hlsl/Decora
>>
>> build/gensrc/jsl-decora
>>
>>
>>
>> once added to the Eclipse .classpath file (in graphics) I see two
>> warnings (on Mac):
>>
>>
>>
>> Project 'graphics' is missing required source folder:
>> 'build/hlsl/Decora'Build path graphics
>>
>> Project 'graphics' is missing required source folder:
>> 'build/hlsl/Prism'  Build path graphics
>>
>>
>>
>> For the moment I cannot verify the situation on Windows or Linux, but I
>> think Nir mentioned that these directories might be created on Windows, so
>> this is my current assumption.
>>
>>
>>
>> The problem in Eclipse is that these warnings (incomplete build path)
>> cannot be turned off.  One solution is to (re)create the missing
>> directories manually after each [gradle clean].  The other solution is to
>> modify gradle build to always create these directories, even if they are
>> not used.  This step is usually in ‘init’ target in the builds that utilize
>> clean-init-build cycle.
>>
>>
>>
>> What could be the problem in creating empty directories?
>>
>>
>>
>>
>>
>>- Is there a way to make it conditional?
>>
>>
>>
>> In theory, yes, via classpath variables:
>>
>>
>>
>>
>> https://stackoverflow.com/questions/495264/how-can-i-specify-an-eclipse-classpath-entry-for-specific-o-s-platform
>> 

Re: [External] : Re: Eclipse: ClassNotFoundException: com.sun.prism.shader.FillPgram_Color_Loader

2022-07-15 Thread Nir Lisker
Ah, I missed that it's during runtime. When I reviewed the PR I tested an
external project which relies on the graphics module and it worked fine. I
will try to find a case that throws this error and see what can be done.

On Fri, Jul 15, 2022 at 9:22 PM Andy Goryachev 
wrote:

> Nir:
>
>
>
>1. Unfortunately, even with ”ignore optional problems” Eclipse
>generates the “missing required source folder”.  Below are the four entries
>I’ve added to modules/javafx.graphics/.classpath:
>
>
>
> 
>
> 
>
>  "true"/>
>
> 
>
> 
>
> 
>
> 
>
>  "true"/>
>
> 
>
> 
>
> 
>
> 
>
>  "true"/>
>
> 
>
> 
>
> 
>
> 
>
>  "true"/>
>
> 
>
> "src/main/java"/>
>
>
>
>
>
>1. The classes in build/gensrc/ generate a runtime exception, not a
>build error.  I wonder if perhaps we should add an entry to the library
>path instead.  Let me check on this.
>
>
>
>1. Again, Jeanette’s report was about runtime error.  I wonder though
>if we have / should have a file that documents where reflection is being
>used.  (Perhaps it already exists somewhere?  Searching for “reflection”
>turned out 4.5K hits…)
>
>
>
> What do you think?
>
>
>
> -andy
>
>
>
> *From: *Nir Lisker 
> *Date: *Friday, 2022/07/15 at 11:04
> *To: *Andy Goryachev , Jeanette Winzenburg <
> faste...@swingempire.de>
> *Cc: *Kevin Rushforth ,
> openjfx-dev@openjdk.org 
> *Subject: *[External] : Re: Eclipse: ClassNotFoundException:
> com.sun.prism.shader.FillPgram_Color_Loader
>
> First of all, you can set "ignore optional compile problems" on a source
> folder in Eclipse. In fact, these folders were set as such before the
> change.
>
>
>
> But more importantly, I don't see how classes that are only used in
> reflection will cause a build error. If these folders are not referenced in
> compile time, Eclipse doesn't need them as source folders.
>
>
>
> Jeanette, the Problems view in Eclipse has a table where it shows the
> problem and the resource and path from which the error originates. If you
> get errors because of missing OS-specific folders, it's crucial to know
> what reports those errors, that is, who is looking for these folders.
>
>
>
> On Fri, Jul 15, 2022 at 8:17 PM Andy Goryachev 
> wrote:
>
> Kevin:
>
>
>
> The four classpath entries in question are
>
> build/hlsl/Prism
>
> build/gensrc/jsl-prism
>
> build/hlsl/Decora
>
> build/gensrc/jsl-decora
>
>
>
> once added to the Eclipse .classpath file (in graphics) I see two warnings
> (on Mac):
>
>
>
> Project 'graphics' is missing required source folder:
> 'build/hlsl/Decora'Build path graphics
>
> Project 'graphics' is missing required source folder:
> 'build/hlsl/Prism'  Build path graphics
>
>
>
> For the moment I cannot verify the situation on Windows or Linux, but I
> think Nir mentioned that these directories might be created on Windows, so
> this is my current assumption.
>
>
>
> The problem in Eclipse is that these warnings (incomplete build path)
> cannot be turned off.  One solution is to (re)create the missing
> directories manually after each [gradle clean].  The other solution is to
> modify gradle build to always create these directories, even if they are
> not used.  This step is usually in ‘init’ target in the builds that utilize
> clean-init-build cycle.
>
>
>
> What could be the problem in creating empty directories?
>
>
>
>
>
>- Is there a way to make it conditional?
>
>
>
> In theory, yes, via classpath variables:
>
>
>
>
> https://stackoverflow.com/questions/495264/how-can-i-specify-an-eclipse-classpath-entry-for-specific-o-s-platform
> 
>
>
>
> I’ve never used this before.  So far these directories are the only place
> where we have platform differences in the classpath.
>
>
>
> Could someone with a Windows machine verify that 'build/hlsl/Decora' and
> 'build/hlsl/Prism' are not empty please?
>
>
>
> Thank you
>
> -andy
>
>
>
>
>
>
>
> *From: *openjfx-dev  on behalf of Kevin
> Rushforth 
> *Date: *Friday, 2022/07/15 at 09:51
> *To: *openjfx-dev@openjdk.org 
> *Subject: *Re: Eclipse: ClassNotFoundException:
> com.sun.prism.shader.FillPgram_Color_Loader
>
>
>
> On 7/15/2022 9:05 AM, Andy Goryachev wrote:
>
> Nir:
>
>
>
> So these folders are not needed to compile, but they are needed to run.
>
>
>
> I suggest we bring them back to .classpath
>
>
> Is there a way to make it conditional?
>
> and also modify build.gradle to create all 4 folders as a part of the
> corresponding target.

Re: [External] : Re: Eclipse: ClassNotFoundException: com.sun.prism.shader.FillPgram_Color_Loader

2022-07-15 Thread Andy Goryachev
Nir:


  1.  Unfortunately, even with ”ignore optional problems” Eclipse generates the 
“missing required source folder”.  Below are the four entries I’ve added to 
modules/javafx.graphics/.classpath:








































   



  1.  The classes in build/gensrc/ generate a runtime exception, not a build 
error.  I wonder if perhaps we should add an entry to the library path instead. 
 Let me check on this.


  1.  Again, Jeanette’s report was about runtime error.  I wonder though if we 
have / should have a file that documents where reflection is being used.  
(Perhaps it already exists somewhere?  Searching for “reflection” turned out 
4.5K hits…)


What do you think?

-andy

From: Nir Lisker 
Date: Friday, 2022/07/15 at 11:04
To: Andy Goryachev , Jeanette Winzenburg 

Cc: Kevin Rushforth , openjfx-dev@openjdk.org 

Subject: [External] : Re: Eclipse: ClassNotFoundException: 
com.sun.prism.shader.FillPgram_Color_Loader
First of all, you can set "ignore optional compile problems" on a source folder 
in Eclipse. In fact, these folders were set as such before the change.

But more importantly, I don't see how classes that are only used in reflection 
will cause a build error. If these folders are not referenced in compile time, 
Eclipse doesn't need them as source folders.

Jeanette, the Problems view in Eclipse has a table where it shows the problem 
and the resource and path from which the error originates. If you get errors 
because of missing OS-specific folders, it's crucial to know what reports those 
errors, that is, who is looking for these folders.

On Fri, Jul 15, 2022 at 8:17 PM Andy Goryachev 
mailto:andy.goryac...@oracle.com>> wrote:
Kevin:

The four classpath entries in question are

build/hlsl/Prism

build/gensrc/jsl-prism

build/hlsl/Decora

build/gensrc/jsl-decora

once added to the Eclipse .classpath file (in graphics) I see two warnings (on 
Mac):


Project 'graphics' is missing required source folder: 'build/hlsl/Decora'
Build path graphics

Project 'graphics' is missing required source folder: 'build/hlsl/Prism'  
Build path graphics

For the moment I cannot verify the situation on Windows or Linux, but I think 
Nir mentioned that these directories might be created on Windows, so this is my 
current assumption.

The problem in Eclipse is that these warnings (incomplete build path) cannot be 
turned off.  One solution is to (re)create the missing directories manually 
after each [gradle clean].  The other solution is to modify gradle build to 
always create these directories, even if they are not used.  This step is 
usually in ‘init’ target in the builds that utilize clean-init-build cycle.

What could be the problem in creating empty directories?



  *   Is there a way to make it conditional?

In theory, yes, via classpath variables:

https://stackoverflow.com/questions/495264/how-can-i-specify-an-eclipse-classpath-entry-for-specific-o-s-platform

I’ve never used this before.  So far these directories are the only place where 
we have platform differences in the classpath.

Could someone with a Windows machine verify that 'build/hlsl/Decora' and 
'build/hlsl/Prism' are not empty please?

Thank you
-andy



From: openjfx-dev 
mailto:openjfx-dev-r...@openjdk.org>> on behalf 
of Kevin Rushforth 
mailto:kevin.rushfo...@oracle.com>>
Date: Friday, 2022/07/15 at 09:51
To: openjfx-dev@openjdk.org 
mailto:openjfx-dev@openjdk.org>>
Subject: Re: Eclipse: ClassNotFoundException: 
com.sun.prism.shader.FillPgram_Color_Loader

On 7/15/2022 9:05 AM, Andy Goryachev wrote:
Nir:

So these folders are not needed to compile, but they are needed to run.

I suggest we bring them back to .classpath

Is there a way to make it conditional?

and also modify build.gradle to create all 4 folders as a part of the 
corresponding target.

I am not in favor of this change. There are platform-specific parts of the 
build, so IDEs should be able to adapt to this.

-- Kevin



What do you think?

-andy



From: openjfx-dev 
 on behalf 
of Jeanette Winzenburg 
Date: Friday, 2022/07/15 at 03:19
To: openjfx-dev@openjdk.org 

Subject: Re: Eclipse: ClassNotFoundException: 
com.sun.prism.shader.FillPgram_Color_Loader

Zitat von Nir Lisker :