<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<big>This is for folk who work on the langtools source code using
NetBeans.<br>
If you don't use NetBeans, or don't use the standard NetBeans projects<br>
provuded with the langtools repository, then this does not apply to you.<br>
<br>
Currently, NetBeans does not support well the notion of a number of<br>
related components within a single project.&nbsp;&nbsp; The GUI provides
facilitoes<br>
for building, running and debugging the project as a whole, with a
notion<br>
of a single "main" class.&nbsp; This does not fit well with the "langtools"
codebase,<br>
which contains a number of separate but related tools. It is not always<br>
desirable to build all the tools all the time when you are working on a<br>
feature in just one, and with many tools, there is no notion of a
single <br>
distinguished "main" class to be invoked by the Run and Debug buttons.<br>
<br>
For all these reasons, the "langtools" repository currently contains a <br>
number of projects, one per tool. This allows developers to focus on<br>
a particular tool, while still being able to build everything as
needed. <br>
This has worked acceptably well for NetBeans 5 through NetBeans 6.1.<br>
There have been some minor quirks: because of the way NetBeans<br>
proactively reads sibling projects even if they have not been opened,<br>
it can sometimes get confused as to which project a source file belongs<br>
to.&nbsp; For the most part, these quirks have been cosmetic, such as an<br>
unexpected title in the window title bar.<br>
<br>
However, in NetBeans 6.5, the quirks have become more serious.<br>
NetBeans' confusion over having multiple sibling projects with
overlapping<br>
sources has increased, and now more serious issues can arise, such<br>
as building the wrong target in the build files.<br>
<br>
While it would be nice to wave a magic wand to have NetBeans handle
these <br>
projects better, it is simpler to reconsider NetBeans support within the<br>
langtools repository.<br>
<br>
I've attached a proposed patch, which changes langtools to provide just<br>
a single "langtools" project instead of the the existing family of
projects.<br>
The default for building this project is to build all the tools. The
default<br>
for running and debugging this project is to use a small popup dialog
that<br>
allows you to specify which tool you wish to work on, and what command
line<br>
args you wish to use. These values can optionally be saved so that you
do <br>
not have to handle the popup dialog every time you use the Run button.<br>
In addition, there is a new item on the project's context menu: "select
tool".<br>
This allows you to explicitly focus on a single tool, for building as
well as<br>
running. You can also use that item to deselect any earlier choice. <br>
<br>
The new mechanism is somewhat similar to the new configuration mechanism<br>
in NetBeans 6.5; however that mechanism is only available for standard <br>
projects, and not freeform projects, as is langtools.&nbsp; And, this new
mechanism<br>
works with NetBeans 6 and 6.1 as well as NetBeans 6.5, so there is no
need<br>
to roll forward to using NetBeans 6.5 to use this new project.<br>
<br>
The patch is a preview, to give folk who use NetBeans for langtools a
chance<br>
to give feedback, before we push this to the main repository, perhaps
sometime<br>
early in January.&nbsp; Comment and feedback welcome.<br>
<br>
-- Jonathan Gibbons<br>
<big><br>
</big></big>
</body>
</html>