Change history
It is time to consolidate a litte bit before heading for new ground. MakefileEditor , PerlEditor , Draw2d plugin, AnnotationView and SplitView are
retired, they have not been actively maintained for a while. CSharpEditor (1.0) is now
replaced by the new LLK model based CSharp 2.0 editor. CSSEditor , JTidy based HTMLEditor and Xerces based XMLEditor are also
replaced by new LLK model based editors.
General
- RETIRED - Draw2d plugin is retired. With removal of the
blacksun.draw2d plugins, this release no longer depends on the Eclipse GEF
feature.
- CHANGE -
codedom , fireant , fireant-optional , util projects are now under LGPL only instead of
dual (EPL, LGPL) licenses.
- Now use
Jakarta-oro v2.0.8 instead of v2.0.6 .
- Documentation has moved from
eclipse.editors project /doc/black-sun directory to the blacksun.doc project /doc
directory.
BuilderPlugin
Jdt Addon
- RETIRED -
AnnotationView and SplitView
are retired.
- NEW - Added
ChangeLogAction that open a project-wise change log
file, as specified in the JDT addon preference page. Optionally, a header/timestamp is appended to the
change log file on editor open. The header format is specified in java.util.Formatter
style and can be specified in the JDT addon preference.
- NEW - Added
VersionStatusAction that is similar to the ChangeLogAction but also show status of files that are under version control (cvs
or subversion ).
- NEW - Added
OpenFileAction open an editor using current
workbench selection as file path (relative to workspace root). A popup dialog allow editing of the file
path and select a proper editor.
- CHANGE -
RegexReplaceAction replaceAll action now replace
all occurences from previous match location, instead of from start of search region, to end of search
region.
- CHANGE -
RegexReplaceAction now automatcially escape the meta
characters when using editor text selection as search pattern.
Editors
- RETIRED -
MakefileEditor , PerlEditor ,
JTidy based HTMLEditor , Xerces based XMLEditor are retired.
FormatAction of editors now use EditorsUtil.applyFormatted() which preserve markers when possible.
- Removed
ValidateAfterAction preference, editors now always recreate
model after any modifying actions.
- Splitted model problem marker from format problem marker so that format action
errors would preserve when model is rebuilt.
LLKEditor
- NEW - Aded
QuoteAction and UnquoteAction .
- CHANGE - Now use and works with
LLK v0.5 .
- CHANGE -
LLKEditor now use JavaFormatter from
llk-java-model project as action code fragment formatter.
- CHANGE -
LLKEditorParser and LLKFormatterParser
now use support files from llk-share project.
CSharpEditor 2.0
CSSEditor
- CHANGE -
CSSEditor now use model and formatter from llk-css2 project.
- CHANGE -
CSSParser now use support files from llk-share
project.
- NEW -
CSSParser and CSSFormatter now ignore invalid
constructs if possible.
XML11Editor
- NEW -
llk-xml model based XML 1.1 editor and obsolete the Xerces based XMLEditor .
- Since this is the first attempt for the new editor, it is by no means well
tested.
HTML4Editor
- NEW -
llk-html model based HTML 4.0 editor and obsolete the
JTidy based HTMLEditor .
- Since this is the first attempt for the new editor, it is by no means well
tested.
XHtml10Editor
- NEW -
llk-xhtml model based XHTML 1.0 editor.
- Since this is the first attempt for the new editor, it is by no means well
tested.
Util
- CHANGE- The
util project is now under LGPL instead of dual (EPL and LGPL ) licenses.
- NEW - Added
TextUtil.differIgnoringWhitespaces(..., boolean
check_alphanum) . When check_alphanum is true, it report error when alphanumeric characters being
joined or splitted as difference, eg. "0x" and "0 x" differ.
- NEW - Added
FormatBuilder.java , a new version of FormatBuffer which, among other things, use AbstractSpceUtil class to handle space
detection.
- CHANGE -
TextUtil.join(String sep, List<String> a) is changed to
TextUtil.join(String sep, List a) .
- CHANGE -
Msg.getOpt(...) , Msg.getArgs(...) , ... etc. now use "true" instead of "1" as value for option that takes no
argument.
- FIXED -
FormatBuffer.canFit() that used indentWidth twice
when determining the current line width.
- CHANGE -
TextUtil.differIgnoringWhitespaces(CharSequence
str1, CharSequence str2, IntList offsets, boolean check_alphanum) now takes an IntList instead of List<int[]> as parameter.
Fireant
See Fireant release notes here for details.
Bugs
Requirement to run
The current distribution is developed and tested in Eclipse 3.1.1 and Linux. These are packages required for
the binary distribution:
There are a number of support packages required that are bundled (with binary and source) in the distribution:
Requirement to compile
In addition to requirement to run above, the following libraries from Eclipse 3.1.1 is required to compile from
source.
If you would like to modify the parsers, you also need the following which are included in the source
distribution:
- If you have previous version of
black-sun plugins installed, disable the
black-sun (and black-sun csharp ) features 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 (and black-sun csharp )
features and restart Eclipse.
NOTE: It is important to disable the black-sun plugins and re-enable them after installation.
Apparently, this would trigger Eclipse to invalidate any cached information about the plugin configuration.
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.5/
org.junit_3.8.1/
...
ext/
getopt.jar
llk.jar
jpackage/oro-2.0.8.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). To build from the source:
- Make sure you are running with
Java1.5 and Eclipse
3.1.x .
- Setup directory structure as above.
- If you have any old version of the black-sun plugins installed, it is recommended that you should
upgrade it to the new version first. The old version may not work properly with the new version. If you
have current version of black-sun plugin installed, then it should be OK to leave it enabled.
- Unpack the source distribution 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. It may need to refresh a few
times before all the reference problems are resolved.
- 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 yet compiled).
The incremental fireant builder is used to rebuild the parsers in case any grammar files are modified. In
this case, there is no need to regenerate the parsers, it is OK to simply let the builder runs with
NoClassDefFoundError and ignore the errors. The fireant builders would be compiled and works once
the workspace refresh and rebuild cycles are completed. Or you can build the util , fireant and blacksun.fireant projects first to avoid such warnings.
- To install, invoke the
Install target in the blacksun.fireant project src/blacksun/Builder.java file. 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:
- Disable the black-sun plugins in
Help/Software Updates/Manange
Configuration if it is enabled and restart Eclipse. Re-enable the black-sun plugins and restart
Eclipse, this should trigger Eclipse to see the updated plugin configurations.
NOTE: All web pages and documents are available in source distribution under blacksun.doc/doc/black-sun directory.
Status and plans
|