JSWAT TODO
======================================================================
$Id: TODO.txt,v 1.47 2002/04/12 01:50:52 nfiedler Exp $

- Continue to fix bugs with non-zero votes.
- JSwat 2.x version ideas:
  - Use Subversion source code control.
  - Start utilizing new JDK 1.4 features.
  - Rename the "DbgVar" classes to "Variable".
  - Move the console adapter code to a new package, such as
    com.bluemarsh.jswat.ui.console.
  - Move the graphical adapter code to a new package, such as
    com.bluemarsh.jswat.ui.graphical.
  - Come up with a better place to keep the documentation.
    In particular, keep the docs with the source so that changes
    to both are kept together as a unit.
  - Have the various components implement a graphical means of
    setting their preferences. Do away with the config library
    and use the JDK1.4 preferences support instead.
  - Use new JDK 1.4 logging package instead of our report package.
  - Commands to support regular expressions using JDK 1.4 regex package:
      apropos
  - Consider a means of replacing the Log class. Maybe attach the
    text area directly to the JDK 1.4 logging API instead, to catch
    messages of a certain level (like 'info').
    CaptureAction would have to add itself as a logging reporter.
  - Refresh-only mode: panels do not update based on JDI events.
    Instead, the user must manually hit the refresh button from
    time to time.
  - Get rid of JSwat.properites file.
  - Remove entries in BUGS.txt that relate to earlier JDKs.

- Milestones for version 2.x:

  m1: put source in Subversion repository
  m2: re-organize source code.
  m3: replace Log class and report package with JDK logging.
  m4: replace AppSettings, JConfigure, Session properties with JDK prefs.
  m5: add regex support to various commands.

- Converting to Subversion:
  - Presently, Subversion does not support 'modules' like CVS does.
    - Options for working around this:
      - Put all of the needed code in one tree, and deal with
        merging by hand. Fortunately, changes don't occur often.
      - Change how we manage libraries:
        1. Libraries are separately developed and built.
        2. Library jar is copied to app that needs it.
        3. Perl script to launch app, automatically adding jars to CP.
        4. Build would extract jars to single tree and make one big jar.

- Proposed repository structure:
  jswat-test/
    |
    +-- trunk/
      |
      +-- *.java

  jswat/
    |
    +-- trunk
    | |
    | +-- *.txt
    | +-- build.xml
    | +-- example.jswatrc
    | +-- classes/
    |   |
    |   +-- com/...
    |   +-- overview.html
    |
    +-- branch

  scripts/
    |
    +-- trunk/
      |
      +-- *.bat
      +-- *.pl

- Import process:
  1. Remove CVS directories.
  2. Remove Assert classes in util package.
  3. Clean out generated files: *.class
  4. Remove empty directories.
  5. Set *.dat, *.dia, and *.gif files as binary type.
