Black-sun

Release notes 0.7.0

Change history

General

  • Black-sun plugins now require Java1.5 and Eclipse 3.1 GTK/Linux to run.
  • AntlrEditor and JavaccEditor are finally gone.
  • Now use Java1.5 xerces API instead of the Eclipse 2.1 Xerces plugin.
  • Key bindings for some operations are changed due to new conflicts with Eclipse 3.1 and/or linux system. See Window/Preferences/General/Keys in Eclipse for details.
  • The binary distribution no longer contains the source packages (blacksun.source plugin). If required, the source packages can be build from the source distribution and installed with blacksun.fireant/src/blacksun/BlacksunSource.java/InstallSource target.

BuilderPlugin

  • NEW - MakeBuilder and FireantBuilder now use Eclipse launch facilities to launch the build process. That means the console I/O would be redirected to the ConsoleView and more importantly the build process can be terminated from the ConsoleView.
  • NOTE: Turn off Window/Preferences/Run/Debug/Launching/Remove terminated launch when a new launch is created flag to avoid console output being removed unexpectedly.
  • NEW - MakeBuilder now use arguments from Blacksun Builder spec. in the .project file. The location of the make command can be specified with the command argument in the build spec. Example:
        <buildCommand>
            <name>sf.blacksun.eclipse.builder.BlacksunBuilder</name>
            <arguments>
                 <dictionary>
                        <key>command</key>
                        <value>/usr/bin/make</value>
                    </dictionary>
            </arguments>
        </buildCommand>
    
  • CHANGE - Fireant incremental builder sf.blacksun.eclipse.builder.fireant.FireantBuilder is renamed to FireantProjetBuilder . Example, to install the incremental builder, add the following to .project file:
        <buildCommand>
                <name>sf.blacksun.eclipse.builder.FireantProjectBuilder</name>
                <arguments>
                        <dictionary>
                                <key>project</key>
                                <value>blacksun.fireant</value>
                        </dictionary>
                        <dictionary>
                                <key>builder</key>
                                <value>blacksun.FeatureBuilder</value>
                        </dictionary>
                        <dictionary>
                                <key>target</key>
                                <value>blacksun.FeatureBuilder$Print</value>
                        </dictionary>
                </arguments>
        </buildCommand>
    
  • NEW - Fireant action when invoked on a selected Fireant builder from PackageView now popup a list of Fireant targets in the Fireant builder file. When invoked from Navigator, it popup a dialog to ask for a Fireant target. The menu items use name filter "*.java" instead of *Builder.java.

JdtPlugin

  • FIX - Non-workspace files are now excluded from editor history since they cannot be opened in editors.

HTMLEditor

  • FIX - Updated html DOM in html.tidy package to be compatible with JDK1.5 DOM implementation.

MakeEditor

  • NEW - Make and MakeWithArgs actions now use arguments from Blacksun Builder spec. in the .project file.
  • FIXED - Problem with renaming variable references inside a target spec. (eg. For $(cgibin)/%.cgi, replacing cgibin with cgi-bin becomes $(cgi-binn)%.cgi instead of $(cgi-bin)/%cgi) is fixed.

CSSEditor

  • NEW - CSSEditor CSSParser and CSSFormatter are now rewritten using LLK parser generator.

LLKEditor

  • CHANGE - LLKEditor parser and formatter is updated to work with LLK v0.4.

Util

  • FIXED - IntList.java bound checks.

Fireant

  • CHANGED - A lot of incompatible changes and new stuffs in the fireant package, please check here for details.

Bugs

Requirement to run

The current distribution is developed and tested in Eclipse 3.1 and Linux. These are packages required and being tested on. There are a number of support packages required that are bundled (with source) in the binary and library archive:

Requirement to compile

In addition to requirement to run above, the following from Eclipse 3.1 is required to compile from source.
  • org.apache.ant_1.6.5 as distributed with Eclipse v.3.1 GTK/Linux.
If you would like to modify the parsers, you also need the following which are included in the library distribution archive:

Installation and Running

Running the binary

  • If you have previous version of black-sun installed, disable the black-sun plugin in Help/Software Updates/Manange Configuration. Exit Eclipse and remove the previous version of black-sun from Eclipse features/ and plugins/ directories.
  • Extract the binary distribution into the Eclipse features/ and plugins/ directory.
  • Start Eclipse, enable the black-sun plugin and restart Eclipse.
NOTE: It is important to disable the black-sun plugin before installation and re-enable the black-sun plugin after installation. Apparently, this would trigger Eclipse to invalidate any cached information about the plugin configuration.

Compiling from the source

This release use the fireant build system as included in the source distribution. The builders are located in the blacksun.fireant project. The following directory structure is assumed:
eclipse/
    plugins/
        org.apache.ant_1.6.3/
        org.junit_3.8.1/
        ...
ext/
    getopt.jar
    Jakarta-oro-2.0.6.jar
    llk.jar
    ...
blacksun.fireant/
    src/
    bin/
    ...
blacksun.feature/
    ...
...
where eclipse/ is the Eclipse installation. ext/ is the directory that contains the support libraries (eg. Jakarta-oro, , ... etc) from the library distribution package. To build from the source:
  • Make sure you are running with Java1.5 and Eclipse 3.1.
  • Setup directory structure as above.
  • If you have any old version of the black-sun plugins installed, either upgrade or disable it first. The old version may not work properly with the new version. If you have current version of black-sun plugin installed, then it is OK to leave it enabled.
  • Unpack the source distribution and library distribution archive into the workspace.
  • Start eclipse.
  • Make sure Java compliance level is set to Java 5.0 in Window/Prefereences/Java/Compiler/Compiler Compliance Level.
  • Import all projects with Import/Existing projects into Workspace.
  • Refresh and rebuild (Project/Clean .../Clean All Projects with Build Automatically on) all projects and it should build without errors.
  • If you have the current version of the black-sun plugin enabled, eclipse may report error that it cannot launch the incremental fireant builder (it is because the fireant builders are not compiled yet). The incremental fireant builder is used to rebuild the parsers in case any grammar files are modified. In this case, it is OK to simply abort/ignore the incremental fireant builds, they should not affect the build results. The builders would be compiled and works once the workspace refresh and rebuild is completed. Or you can build the util, fireant and blacksun.fireant projects first to avoid such warnings.
  • To install, invoke the Install target of the src/blacksun/Builder.java file in the blacksun.fireant project. That would build all the binaries and copy the jar files to the Eclipse features/ and plugins/ directory. There are a number of ways to invoke the fireant builder inside Eclipse:
    • If you has the current version of the black-sun plugins installed, you can invoke the builder with the Fireant menu item in the PackageView popup menu or from an editor (see the fireant documentation for details on this).
    • If you don't have current version of black-sun plugins installed, the easiest way is to use Run As/Java Application ... menu item in the PackageView. Eclipse would create a Launch configuration for the builder with correct classpaths. Just enter the target Install as argument and launch the configuration to invoke the fireant builder.
    • Otherwise the fireant.sh script inside the blacksun.fireant project directory may works for you:
      bash ./fireant.sh Install
      
  • Disable the black-sun plugin in Help/Software Updates/Manange Configuration if it is enabled and restart Eclipse. Re-enable the black-sun plugin and restart Ecipse, this should trigger Eclipse to see the updated plugin configurations.

NOTE: All web pages and documents are available in source distribution under eclipse.editors/doc/black-sun/ directory.

Status and plans