Oh, I see. You are pointing to the exploded modules for the JDK in
build/XXXXX/jdk rather than the JDK image in build/XXXXX/images/jdk.
Yes, I think it would be preferable to both reverse the order and also
add in the location of the built class files. So the following order
seems best:
rt/modules/javafx.base/build/classes/main/javafx.base/
rt/modules/javafx.base/src/main/java/
jdk/modules/javafx.base
-- Kevin
Nir Lisker wrote:
This is what I mean: In the
type /base/src/test/java/test/com/sun/javafx/collections/ListListenerHelperTest.java
there are these imports:
import test.javafx.collections.MockListObserver;
import java.util.BitSet;
import javafx.beans.Observable;
The first one is the one in
FX: rt\modules\javafx.base\src\test\java\test\javafx\collections\MockListObserver.java
The second one is in the referenced JDK which was built with
FX: jdk\modules\java.base\java\util\BitSet.class
The third one exists in both:
- in JFX it's in:
rt\modules\javafx.base\src\main\java\javafx\beans\Observable.java
- in the JDK it's
in: jdk\modules\javafx.base\javafx\beans\Observable.class
Does the question make sense now?
On Tue, Jan 30, 2018 at 5:04 AM, Kevin Rushforth
<kevin.rushfo...@oracle.com <mailto:kevin.rushfo...@oracle.com>> wrote:
one in
"rt\modules\javafx.base\src\main\java\javafx\beans\InvalidationListener.java"
or the one in
"jdk\modules\javafx.base\javafx\beans\InvalidationListener.class"?
Not sure I get what you mean. There isn't a jdk/modules/ directory
created by the build. Perhaps this is an Eclipse construct that it
uses to indicate the modules that are in the JDK that you are
using? The FX build puts the class files in:
rt/build/modular_sdk/modules/javafx.base/...
-- Kevin
Nir Lisker wrote:
Another question: do imports of javafx.* packages point to the
javafx source or to the jdk compilation?
For example, in the base module, the type
test.javafx.beans.InvalidationListenerMock
imports javafx.beans.InvalidationListener (twice, by the way,
along with Observable). Should the imported class be the one in
"rt\modules\javafx.base\src\main\java\javafx\beans\InvalidationListener.java"
or the one in
"jdk\modules\javafx.base\javafx\beans\InvalidationListener.class"?
Currently, the way it is in the Eclipse files is that the jdk
.class files are imported first[1], but it seemed odd to me - if
I work on 2 files which depend on each other they should see the
changes in each other at once.
[1]http://hg.openjdk.java.net/openjfx/jfx-dev/rt/file/305d127c6ed5/modules/javafx.base/.classpath
<http://hg.openjdk.java.net/openjfx/jfx-dev/rt/file/305d127c6ed5/modules/javafx.base/.classpath>
("JRE_CONTAINER" is before "src/main/java"),
- Nir
On Fri, Jan 26, 2018 at 9:20 PM, Kevin Rushforth
<kevin.rushfo...@oracle.com <mailto:kevin.rushfo...@oracle.com>>
wrote:
inline
Nir Lisker wrote:
Alright, cleaned that part. fxpackager build fails with an
internal NPE in Eclipse, so I'm going to leave that alone
and all of the projects that depends on it.
Now that projects can be built there are errors in deeper
levels:
1. All org.junit imports cannot be resolved. This causes
tons of errors in various test folders obviously. All the
.classpath files use
<classpathentry kind="con"
path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
which is a jar distributed with Eclipse (in the plugins
folder) with version 4.12.0. Is this really where the
imports are supposed to come from? How does it work in
Netbeans or IntelliJ?
For NetBeans we use their internal version of JUnit. I don't
know about IntelliJ (maybe someone else on the list can
answer that).
2. In the 'base' module, in
"/src/main/java-jfr/com/sun/javafx/logging" there are
imports of com.oracle.jrockit.jfr that can't be resolved.
Where are these located?
These classes used to be part of the JFR commercial feature
in the Oracle JDK. The java-jfr sources are obsolete and no
longer built (and no longer buildable), so you can safely
remove it from your IDE files. I also still see references to
it in the netbeans/base project. I will file a bug to remove
this obsolete code and fix the NetBeans references at the
same time.
-- Kevin
On Thu, Jan 25, 2018 at 5:24 PM, Kevin Rushforth
<kevin.rushfo...@oracle.com
<mailto:kevin.rushfo...@oracle.com>> wrote:
Ah, I see. Then yes, just removing the old ones is fine.
As for the larger question, unless there are
dependencies on apps, you can assume that the only ones
you care about are the ones created by "gradle sdk".
-- Kevin
Nir Lisker wrote:
So this is why I was asking about the optional stuff:
'graphics' module has BOTH
build/resources/jsl-decora
build/resources/jsl-prism
and
build/gensrc/jsl-decora
build/gensrc/jsl-prism
That led me to think that when the new dependencies
were added the old ones weren't removed. Those that
weren't optional (like the /resources ones, which I
removed) were easy to catch and we could have finished
here. Those that are optional are not causing trouble
even when missing because they are optional.
gradle sdk does not create the ones which are marked
optional that Iv'e surveyed, but I don't know if that's
the only way they can be created. If I compare solely
with gradle sdk then I can just remove whatever is
missing on grounds that it's left over.
- Nir
On Thu, Jan 25, 2018 at 4:06 PM, Kevin Rushforth
<kevin.rushfo...@oracle.com
<mailto:kevin.rushfo...@oracle.com>> wrote:
One more thing about the specific path you
mentioned as not being there.
<classpathentry kind="src" exported="true"
path="build/resources/jsl-decora"/>
<classpathentry kind="src" exported="true"
path="build/resources/jsl-prism"/>
These are still being created by 'gradle sdk', but
the path is wrong (the files moved in JDK 9) and
should be:
build/gensrc/jsl-decora
build/gensrc/jsl-prism
You might want to take that into account.
-- Kevin
Kevin Rushforth wrote:
Nir Lisker wrote:
Iv'e removed all the classpath dependencies
that were causing errors. I don't mind
sorting out the rest of the files while at
it, though for that there are a few things
I'm not sure about:
1. Some dependencies are marked as optional
and as such they don't cause errors, but
they are still missing. Is it safe to
remove them or is it possible that they
will be created as some point?
Some of them might be created...not sure
without checking. I recommend running "gradle
sdk" and then seeing if the dependencies are there.
Examples are the 'base' module with
"src/test/resources" and
"src/main/resources" optional dependencies,
and 'controls' module has the optional
dependency "src/main/resources" commented out.
I see. You might as well leave them, but it
probably doesn't matter.
2. Can I assume that all other dependencies
are really needed? (Eclipse won't complain
about unused ones as far as I know.)
That seems best.
3. What are the formatting standards for
XML (indentation, line length...)? From a
quick look I see different styles in
different files.
For IDE files, we don't worry about formatting.
In many cases they are auto-generated anyway.
-- Kevin
- Nir