<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    > What is the fear of modifying the build.gradle?<br>
    <br>
    Maybe nothing, although we'd need to ensure that those empty dirs
    don't show up in the build artifacts. I just don't really care for
    the idea of modifying the product build to work around what looks
    like an IDE limitation, unless there is no choice and we can prove
    that it doesn't make a difference to the final artifacts.<br>
    <br>
    -- Kevin<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 7/15/2022 3:42 PM, Andy Goryachev
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:BL0PR10MB29485DDEE2D52D9B78191708E58B9@BL0PR10MB2948.namprd10.prod.outlook.com">
      
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
        {font-family:"Times New Roman \(Body CS\)";
        panose-1:2 11 6 4 2 2 2 2 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}p.gmail-m-5352811517541571778msolistparagraph, li.gmail-m-5352811517541571778msolistparagraph, div.gmail-m-5352811517541571778msolistparagraph
        {mso-style-name:gmail-m_-5352811517541571778msolistparagraph;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Courier New";
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}div.WordSection1
        {page:WordSection1;}ol
        {margin-bottom:0in;}ul
        {margin-bottom:0in;}</style>
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-family:"Courier
            New"">Nir:<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New"">Which version of eclipse are you on?<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New"">I've added your entry and my Eclipse (2022-06
            4.24.0 on Mac) complains about<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New"">Project 'graphics' is missing required source
            folder: 'build/hi' Build path      graphics<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New"">It does not allow to ignore this problem, as the
            only choices are "error" and "warning":<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New""><img style="width:8.677in;height:2.2291in" id="Picture_x0020_1" src="cid:part1.DYuQQXde.1MLr0Qii@oracle.com" class="" width="833" height="214"></span><span style="font-family:"Courier New""><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New"">What is the fear of modifying the build.gradle?<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New"">-a<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"Courier
            New""><o:p> </o:p></span></p>
        <div style="border:none;border-top:solid #B5C4DF
          1.0pt;padding:3.0pt 0in 0in 0in">
          <p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
              </span></b><span style="font-size:12.0pt;color:black">Nir
              Lisker <a class="moz-txt-link-rfc2396E" href="mailto:nlisker@gmail.com"><nlisker@gmail.com></a><br>
              <b>Date: </b>Friday, 2022/07/15 at 15:33<br>
              <b>To: </b>Andy Goryachev
              <a class="moz-txt-link-rfc2396E" href="mailto:andy.goryachev@oracle.com"><andy.goryachev@oracle.com></a><br>
              <b>Cc: </b>Jeanette Winzenburg
              <a class="moz-txt-link-rfc2396E" href="mailto:fastegal@swingempire.de"><fastegal@swingempire.de></a>, Kevin Rushforth
              <a class="moz-txt-link-rfc2396E" href="mailto:kevin.rushforth@oracle.com"><kevin.rushforth@oracle.com></a>,
              <a class="moz-txt-link-abbreviated" href="mailto:openjfx-dev@openjdk.org">openjfx-dev@openjdk.org</a> <a class="moz-txt-link-rfc2396E" href="mailto:openjfx-dev@openjdk.org"><openjfx-dev@openjdk.org></a><br>
              <b>Subject: </b>Re: [External] : Re: Eclipse:
              ClassNotFoundException:
              com.sun.prism.shader.FillPgram_Color_Loader<o:p></o:p></span></p>
        </div>
        <div>
          <blockquote style="border:none;border-left:solid #CCCCCC
            1.0pt;padding:0in 0in 0in
            6.0pt;margin-left:4.8pt;margin-right:0in">
            <ol type="1" start="1">
              <li class="gmail-m-5352811517541571778msolistparagraph" style="mso-list:l3 level1 lfo1">
                <span style="font-family:"Courier New"">Unfortunately,
                  even with â€ignore optional problems” Eclipse generates
                  the â€œmissing required source folder”.</span><o:p></o:p></li>
            </ol>
          </blockquote>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">I added the following to the classpath
              of graphics:<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <p class="MsoNormal"> <classpathentry kind="src"
            path="build/hi"><br>
                <attributes><br>
                    <attribute name="ignore_optional_problems"
            value="true"/><br>
                </attributes><o:p></o:p></p>
          <div>
            <p class="MsoNormal"></classpathentry> <o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">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.<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal">Worst case, we could generate an empty
              folder, but that would require changing the build, which
              is not the best approach.<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">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.<o:p></o:p></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <div>
            <p class="MsoNormal">On Fri, Jul 15, 2022 at 10:34 PM Nir
              Lisker <<a href="mailto:nlisker@gmail.com" moz-do-not-send="true" class="moz-txt-link-freetext">nlisker@gmail.com</a>>
              wrote:<o:p></o:p></p>
          </div>
          <blockquote style="border:none;border-left:solid #CCCCCC
            1.0pt;padding:0in 0in 0in
            6.0pt;margin-left:4.8pt;margin-right:0in">
            <div>
              <p class="MsoNormal">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.<o:p></o:p></p>
            </div>
            <p class="MsoNormal"><o:p> </o:p></p>
            <div>
              <div>
                <p class="MsoNormal">On Fri, Jul 15, 2022 at 9:22 PM
                  Andy Goryachev <<a href="mailto:andy.goryachev@oracle.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">andy.goryachev@oracle.com</a>>
                  wrote:<o:p></o:p></p>
              </div>
              <blockquote style="border:none;border-left:solid #CCCCCC
                1.0pt;padding:0in 0in 0in
                6.0pt;margin-left:4.8pt;margin-right:0in">
                <div>
                  <div>
                    <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier New"">Nir:</span><o:p></o:p></p>
                    <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier New""> </span><o:p></o:p></p>
                    <ol type="1" start="1">
                      <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l4
                        level1 lfo2">
                        <span style="font-family:"Courier
                          New"">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:</span><o:p></o:p></li>
                    </ol>
                    <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier New""> </span><o:p></o:p></p>
                    <p><span style="color:black">        </span><classpathentry
                      kind="src" path="build/hlsl/Prism"><o:p></o:p></p>
                    <p>                <attributes><o:p></o:p></p>
                    <p><span style="color:black">                       
                      </span><attribute
                      name="ignore_optional_problems" value="true"/><o:p></o:p></p>
                    <p>                </attributes><o:p></o:p></p>
                    <p>        </classpathentry><o:p></o:p></p>
                    <p><span style="color:black">        </span><classpathentry
                      kind="src" path="build/gensrc/jsl-prism"><o:p></o:p></p>
                    <p>                <attributes><o:p></o:p></p>
                    <p><span style="color:black">                       
                      </span><attribute
                      name="ignore_optional_problems" value="true"/><o:p></o:p></p>
                    <p>                </attributes><o:p></o:p></p>
                    <p>        </classpathentry><o:p></o:p></p>
                    <p><span style="color:black">        </span><classpathentry
                      kind="src" path="build/hlsl/Decora"><o:p></o:p></p>
                    <p>                <attributes><o:p></o:p></p>
                    <p><span style="color:black">                       
                      </span><attribute
                      name="ignore_optional_problems" value="true"/><o:p></o:p></p>
                    <p>                </attributes><o:p></o:p></p>
                    <p>        </classpathentry><o:p></o:p></p>
                    <p><span style="color:black">        </span><classpathentry
                      kind="src" path="build/gensrc/jsl-decora"><o:p></o:p></p>
                    <p>                <attributes><o:p></o:p></p>
                    <p><span style="color:black">                       
                      </span><attribute
                      name="ignore_optional_problems" value="true"/><o:p></o:p></p>
                    <p>                </attributes><o:p></o:p></p>
                    <p>        </classpathentry>      
                      <classpathentry kind="src"
                      path="src/main/java"/><o:p></o:p></p>
                    <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier New""> </span><o:p></o:p></p>
                    <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier New""> </span><o:p></o:p></p>
                    <ol type="1" start="2">
                      <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2
                        level1 lfo3">
                        <span style="font-family:"Courier
                          New"">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.</span><o:p></o:p></li>
                    </ol>
                    <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier New""> </span><o:p></o:p></p>
                    <ol type="1" start="3">
                      <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0
                        level1 lfo4">
                        <span style="font-family:"Courier
                          New"">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…)</span><o:p></o:p></li>
                    </ol>
                    <p><span style="font-family:"Courier New""> </span><o:p></o:p></p>
                    <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier New"">What
                        do you think?</span><o:p></o:p></p>
                    <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier New""> </span><o:p></o:p></p>
                    <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier New"">-andy</span><o:p></o:p></p>
                    <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier New""> </span><o:p></o:p></p>
                    <div style="border:none;border-top:solid #B5C4DF
                      1.0pt;padding:3.0pt 0in 0in 0in">
                      <p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
                          </span></b><span style="font-size:12.0pt;color:black">Nir
                          Lisker <<a href="mailto:nlisker@gmail.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">nlisker@gmail.com</a>><br>
                          <b>Date: </b>Friday, 2022/07/15 at 11:04<br>
                          <b>To: </b>Andy Goryachev <<a href="mailto:andy.goryachev@oracle.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">andy.goryachev@oracle.com</a>>,
                          Jeanette Winzenburg <<a href="mailto:fastegal@swingempire.de" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">fastegal@swingempire.de</a>><br>
                          <b>Cc: </b>Kevin Rushforth <<a href="mailto:kevin.rushforth@oracle.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">kevin.rushforth@oracle.com</a>>,
                          <a href="mailto:openjfx-dev@openjdk.org" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a>
                          <<a href="mailto:openjfx-dev@openjdk.org" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a>><br>
                          <b>Subject: </b>[External] : Re: Eclipse:
                          ClassNotFoundException:
                          com.sun.prism.shader.FillPgram_Color_Loader</span><o:p></o:p></p>
                    </div>
                    <div>
                      <div>
                        <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">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.<o:p></o:p></p>
                        <div>
                          <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                        </div>
                        <div>
                          <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">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.<o:p></o:p></p>
                        </div>
                        <div>
                          <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                        </div>
                        <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">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.<o:p></o:p></p>
                      </div>
                      <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                      <div>
                        <div>
                          <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On
                            Fri, Jul 15, 2022 at 8:17 PM Andy Goryachev
                            <<a href="mailto:andy.goryachev@oracle.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">andy.goryachev@oracle.com</a>>
                            wrote:<o:p></o:p></p>
                        </div>
                        <blockquote style="border:none;border-left:solid
                          #CCCCCC 1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
                          <div>
                            <div>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New"">Kevin:</span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New"">The four classpath entries
                                  in question are</span><o:p></o:p></p>
                              <p>build/hlsl/Prism<o:p></o:p></p>
                              <p>build/gensrc/jsl-prism<o:p></o:p></p>
                              <p>build/hlsl/Decora<o:p></o:p></p>
                              <p>build/gensrc/jsl-decora<o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New"">once added to the Eclipse
                                  .classpath file (in graphics) I see
                                  two warnings (on Mac):</span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p>Project 'graphics' is missing required
                                source folder: 'build/hlsl/Decora'   
                                Build path                     graphics<o:p></o:p></p>
                              <p>Project 'graphics' is missing required
                                source folder: 'build/hlsl/Prism'     
                                Build path                     graphics<o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New"">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.</span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New"">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.</span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New"">What could be the problem
                                  in creating empty directories?</span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <ul type="disc">
                                <li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1
                                  level1 lfo5">
                                  Is there a way to make it conditional?<o:p></o:p></li>
                              </ul>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New"">In theory, yes, via
                                  classpath variables:</span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""><a href="https://urldefense.com/v3/__https:/stackoverflow.com/questions/495264/how-can-i-specify-an-eclipse-classpath-entry-for-specific-o-s-platform__;!!ACWV5N9M2RV99hQ!LIzGSIjIMUXkp-9z2M2VFKfJBUQcWoQPJSn6doHpNKi_Zr1Tms-_bnPFrh67esgNcmElmd8oTKoXmLRcdWkg$" target="_blank" moz-do-not-send="true">https://stackoverflow.com/questions/495264/how-can-i-specify-an-eclipse-classpath-entry-for-specific-o-s-platform</a></span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New"">I’ve never used this
                                  before.  So far these directories are
                                  the only place where we have platform
                                  differences in the classpath.</span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New"">Could someone with a
                                  Windows machine verify that
                                </span>'build/hlsl/Decora'<span style="font-family:"Courier
                                  New""> and </span>'build/hlsl/Prism'<span style="font-family:"Courier
                                  New""> are not empty please?</span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New"">Thank you</span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New"">-andy</span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                  New""> </span><o:p></o:p></p>
                              <div style="border:none;border-top:solid
                                #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
                                    </span></b><span style="font-size:12.0pt;color:black">openjfx-dev
                                    <<a href="mailto:openjfx-dev-retn@openjdk.org" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">openjfx-dev-retn@openjdk.org</a>>
                                    on behalf of Kevin Rushforth <<a href="mailto:kevin.rushforth@oracle.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">kevin.rushforth@oracle.com</a>><br>
                                    <b>Date: </b>Friday, 2022/07/15 at
                                    09:51<br>
                                    <b>To: </b><a href="mailto:openjfx-dev@openjdk.org" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a>
                                    <<a href="mailto:openjfx-dev@openjdk.org" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a>><br>
                                    <b>Subject: </b>Re: Eclipse:
                                    ClassNotFoundException:
                                    com.sun.prism.shader.FillPgram_Color_Loader</span><o:p></o:p></p>
                              </div>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"> <o:p></o:p></p>
                              <div>
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On
                                  7/15/2022 9:05 AM, Andy Goryachev
                                  wrote:<o:p></o:p></p>
                              </div>
                              <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New"">Nir:</span><o:p></o:p></p>
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New""> </span><o:p></o:p></p>
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New"">So these folders are not
                                    needed to compile, but they are
                                    needed to run. 
                                  </span><o:p></o:p></p>
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New""> </span><o:p></o:p></p>
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New"">I suggest we bring them
                                    back to .classpath</span><o:p></o:p></p>
                              </blockquote>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><br>
                                Is there a way to make it conditional?<o:p></o:p></p>
                              <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New"">and also modify
                                    build.gradle to create all 4 folders
                                    as a part of the corresponding
                                    target.</span><o:p></o:p></p>
                              </blockquote>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><br>
                                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.<br>
                                <br>
                                -- Kevin<br>
                                <br>
                                <o:p></o:p></p>
                              <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New""> </span><o:p></o:p></p>
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New"">What do you think?</span><o:p></o:p></p>
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New""> </span><o:p></o:p></p>
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New"">-andy</span><o:p></o:p></p>
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New""> </span><o:p></o:p></p>
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New""> </span><o:p></o:p></p>
                                <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-family:"Courier
                                    New""> </span><o:p></o:p></p>
                                <div style="border:none;border-top:solid
                                  #B5C4DF 1.0pt;padding:3.0pt 0in 0in
                                  0in">
                                  <p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
                                      </span></b><span style="font-size:12.0pt;color:black">openjfx-dev
                                      <a href="mailto:openjfx-dev-retn@openjdk.org" target="_blank" moz-do-not-send="true">
<openjfx-dev-retn@openjdk.org></a> on behalf of Jeanette
                                      Winzenburg <a href="mailto:fastegal@swingempire.de" target="_blank" moz-do-not-send="true">
                                        <fastegal@swingempire.de></a><br>
                                      <b>Date: </b>Friday, 2022/07/15
                                      at 03:19<br>
                                      <b>To: </b><a href="mailto:openjfx-dev@openjdk.org" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">openjfx-dev@openjdk.org</a>
                                      <a href="mailto:openjfx-dev@openjdk.org" target="_blank" moz-do-not-send="true"><openjfx-dev@openjdk.org></a><br>
                                      <b>Subject: </b>Re: Eclipse:
                                      ClassNotFoundException:
                                      com.sun.prism.shader.FillPgram_Color_Loader</span><o:p></o:p></p>
                                </div>
                                <div>
                                  <p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><br>
                                    Zitat von Nir Lisker <a href="mailto:nlisker@gmail.com" target="_blank" moz-do-not-send="true"><nlisker@gmail.com></a>:<br>
                                    <br>
                                    Hi Nir,<br>
                                    <br>
                                    thanks for the explanation - though
                                    I have no idea why Eclipse wants  <br>
                                    them (see them again after re-adding
                                    as source folders and all running  <br>
                                    as before).<br>
                                    <br>
                                    Not sure where to go from here,
                                    would prefer not to have a local  <br>
                                    classpath that differs from the one
                                    in the repository .. hmm<br>
                                    <br>
                                    -- Jeanette<br>
                                    <br>
                                    > To be more specific,
                                    FillPgram_Color_Loader.java is
                                    located under the<br>
                                    > build/gensrc folder, which is
                                    created during the javafx setup
                                    depending on<br>
                                    > the OS. Specifically, it's
                                    under build/gensrc/jsl-prism, which
                                    is<br>
                                    > Windows-specific.<br>
                                    > The change to the classpath
                                    file removed these folders from the
                                    source<br>
                                    > folders list in the build path,
                                    so I don't know why you would get
                                    this<br>
                                    > error. Nothing in the "main"
                                    source folders references these in
                                    compile- or<br>
                                    > build-time.<br>
                                    ><br>
                                    > On Fri, Jul 15, 2022 at 12:51
                                    PM Nir Lisker <a href="mailto:nlisker@gmail.com" target="_blank" moz-do-not-send="true">
                                      <nlisker@gmail.com></a>
                                    wrote:<br>
                                    ><br>
                                    >> The Eclipse project files
                                    were updated recently in<br>
                                    >> <a href="https://urldefense.com/v3/__https:/github.com/openjdk/jfx/pull/804__;!!ACWV5N9M2RV99hQ!LIzGSIjIMUXkp-9z2M2VFKfJBUQcWoQPJSn6doHpNKi_Zr1Tms-_bnPFrh67esgNcmElmd8oTKoXmE8agVgz$" target="_blank" moz-do-not-send="true">
https://github.com/openjdk/jfx/pull/804</a>. The OS-specific folders
                                    were<br>
                                    >> removed. I tested it and I
                                    had no issue after this change. On
                                    what resource<br>
                                    >> are you getting this error?<br>
                                    >><br>
                                    >> On Fri, Jul 15, 2022 at
                                    12:44 PM Jeanette Winzenburg <<br>
                                    >> <a href="mailto:fastegal@swingempire.de" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">fastegal@swingempire.de</a>>
                                    wrote:<br>
                                    >><br>
                                    >>><br>
                                    >>> Hi,<br>
                                    >>><br>
                                    >>> after synching my
                                    master branch with upstream (has
                                    been a long while<br>
                                    >>> since my previous
                                    update ;), I can't use the Eclipse
                                    projects (base,<br>
                                    >>> controls, graphics are
                                    the only ones I'm keeping for change
                                    in<br>
                                    >>> Eclipse) in another
                                    project: when running any
                                    application it's<br>
                                    >>> throwing the stacktrace
                                    below.<br>
                                    >>><br>
                                    >>> My overall setup worked
                                    fine before (didn't dig yet when it
                                    started<br>
                                    >>> not to), running the
                                    tests inside the fx projects
                                    themselves is fine,<br>
                                    >>> though.<br>
                                    >>><br>
                                    >>> Looks like there is
                                    something missing (native?) related
                                    to graphics.<br>
                                    >>><br>
                                    >>> Where to start looking
                                    for the reason?<br>
                                    >>><br>
                                    >>> Stacktrace:<br>
                                    >>><br>
                                    >>>
                                    java.lang.ClassNotFoundException:<br>
                                    >>>
                                    com.sun.prism.shader.FillPgram_Color_Loader<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)<br>
                                    >>>         at
                                    java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)<br>
                                    >>>         at
                                    java.base/java.lang.Class.forName0(Native
                                    Method)<br>
                                    >>>         at
                                    java.base/java.lang.Class.forName(Class.java:332)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.d3d.D3DResourceFactory.createStockShader(D3DResourceFactory.java:426)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.impl.ps.BaseShaderContext.getPaintShader(BaseShaderContext.java:269)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:500)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:369)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedPgram(BaseShaderGraphics.java:919)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedRect(BaseShaderGraphics.java:620)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.impl.ps.BaseShaderGraphics.fillRect(BaseShaderGraphics.java:1526)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectanglesDirectly(NGRegion.java:1112)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectangle(NGRegion.java:852)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.sg.prism.NGRegion.renderAsRectangle(NGRegion.java:754)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575)<br>
                                    >>>         at<br>
                                    >>>
javafx.graphics/com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2072)<br>
                                    >>>         at<br>
                                    >>>
                                    javafx.graphics/com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1964)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:480)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:329)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:92)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)<br>
                                    >>>         at<br>
                                    >>>
java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)<br>
                                    >>>         at<br>
                                    >>>
                                    javafx.graphics/com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:126)<br>
                                    >>>         at
                                    java.base/java.lang.Thread.run(Thread.java:835)<br>
                                    >>>
                                    java.lang.InternalError: Error
                                    loading stock shader FillPgram_Color<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.d3d.D3DResourceFactory.createStockShader(D3DResourceFactory.java:432)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.impl.ps.BaseShaderContext.getPaintShader(BaseShaderContext.java:269)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:500)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:369)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedPgram(BaseShaderGraphics.java:919)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.impl.ps.BaseShaderGraphics.renderGeneralRoundedRect(BaseShaderGraphics.java:620)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.prism.impl.ps.BaseShaderGraphics.fillRect(BaseShaderGraphics.java:1526)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectanglesDirectly(NGRegion.java:1112)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectangle(NGRegion.java:852)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.sg.prism.NGRegion.renderAsRectangle(NGRegion.java:754)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:575)<br>
                                    >>>         at<br>
                                    >>>
javafx.graphics/com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2072)<br>
                                    >>>         at<br>
                                    >>>
                                    javafx.graphics/com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1964)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:480)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:329)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:92)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)<br>
                                    >>>         at<br>
                                    >>>
java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)<br>
                                    >>>         at<br>
                                    >>>
                                    javafx.graphics/com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)<br>
                                    >>>         at<br>
                                    >>><br>
                                    >>>
javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:126)<br>
                                    >>>         at
                                    java.base/java.lang.Thread.run(Thread.java:835)<br>
                                    >>><br>
                                    >>> -- Thanks, Jeanette<br>
                                    >>><br>
                                    >>><br>
                                    >>><br>
                                    <br>
                                    <o:p></o:p></p>
                                </div>
                              </blockquote>
                              <p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                            </div>
                          </div>
                        </blockquote>
                      </div>
                    </div>
                  </div>
                </div>
              </blockquote>
            </div>
          </blockquote>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>