Hi Brad,

Brad Wetmore wrote:
Thanks Daniel.

One of the other current limitations of the default projects was that the "j2se" project didn't index the build/<arch>/gensrc directory where java/nio/ByteBuffer and friends live (bug 6628175). I was able to get the directories to show up in the file lister, but not hooked into the auto-completion/compilation mechanism. I ended up talking to David Bristor, this group's moderator. He had started working on the gensrc problem, but got 1/2 of it finished before he left Sun. I was able to get the second half, so it's working now.

I am now hooking in all the closed source directories as well.

Once everything gets auto-compiled (15-20 minutes) and loaded into

  What is this "auto-compilation" is actually doing? I mean, if I have
  a fully built j2se workspace, shouldn't everything be compiled already?

memory, it's surprisingly fast. Restarting/scanning current project is just under a minute, and expanding the node for the shared sources is just under two. :) Fortunately, it's not crashing all the time like my first experience with NetBeans 4.1! I don't really have to restrict to the files of interest once everything's loaded, it's responsive enough.

  I find that tweaking the default heap settings (doubling them) improves
  things. Otherwise sooner or later you'll run into OOE.


Unless I find something that's a showstopper, I'll probably start using netbeans for my day-day work.

  Welcome to to the club =) I've been using netbeans exclusively for
  jdk development for last couple of years. I also setup a project for
  the native code, using C/C++ plugin, works OK, even with autocompletion
  (if it feels like it).

  Thanks,
    Dmitri



Brad



daniel fuchs wrote:
Hi Brad,

You could have a look at how the make/netbeans/jmx project is
defined.
This is a project that only compiles a subset of the jdk sources
(the JMX sources) put them in a jmx.jar and then prepend that jar
to the bootclasspath.

For us using the latest promoted JDK7 build with our work-in-progress
jmx.jar in the bootclasspath is usually sufficient for developing/testing/debugging purposes.


Hope this helps,

-- daniel
http://blogs.sun.com/jmxetc

Brad Wetmore wrote:
I'd recently drunk a bit (lot?) of the netbeans 6.1 Kool-Aid. Wow, what an improvement over 4.1. I swore that I'd rather die using vi after that initial netbeans experience, but here I am! ;)

If I open the "jdk/make/netbeans/j2se" project, I might as well walk away and have lunch. The internal indexing/compiling of the entire j2se project simply takes forever on my relatively fast machine, with the majority of the time being in the internal compilation. I'd really like to just limit the sources to specific code of interest (core libs, networking, security). (What's this Swing thing I hear people talk about... ;) )

A big optimization that seems to be working for me is the following:

0)   Install netbeans 6.1

1)   Clone/build (using gnumake) a jdk workspace (say JSN) as usual.

2)   Go to Tools->Java platforms.

     Add the built platform but do not include links to the sources.
     Call this "jsn-gate:  no sources"  We'll set the source
     locations in the project in the next step.

3)   Create a new project from existing sources (jdk/src/shared,
     jdk/src/solaris, etc).  Include only the JDK
     sources I care about (core libs, networking, security),
     everything else will be excluded.  For
     example:

  =java/lang/, java/math/, java/net/, java/nio/, java/security/,
   java/text/, java/util/, javax/crypto/, javax/net/, javax/security/,
   javax/smartcardio/, javax/xml/crypto/, sun/io/, sun/launcher/,
   sun/misc/, sun/net/, sun/nio/, sun/security/, sun/text/, sun/tools/,
   sun/util/, com/sun/security/, com/sun/crypto/, com/sun/net/

     In the properties menu for this project, link this project to the
     JDK platform just created in step 2 (jsn-gate: no sources).
     This seems to internally compile only the sources I care about, not
     the whole world!

     Use this configuration to do your library development.  When you
     want to compile, do so in a separate window (that is, don't use the
     netbeans ant build, but use gnumake as usual).

4)   For testing:  Like in 2a, create a new jdk platform based on the
     build, but this time include links to all the sources in
     open/shared, open/solaris, etc.  Call this "jsn-gate."

     Now create a new project with a simple test case.  Link with the
     platform "jsn-gate".  Then when you want to debug and step into
     the core libraries, you have *ALL* the sources you need, but
     without them being internally compiled.  Indexing seems to take
     much less time.  This also has all the javadoc as well.

Is there an easier/faster way? This environment comes up in 30 seconds or so, and drilling into the source packages takes about 10 seconds the first use.

Note I am *NOT* an expert in projects, maybe someone has already figured this out? Looking at a few of these related projects in the jdk/make/netbeans directories, they look like they're being done in the same way as j2se.

Thanks,

Brad
Potential Netbeans Convert-  ;)

Reply via email to