Release 0.7.1, 2008.02.10
================================================================================
* Removed the TaskExecutor.getNumberOfBuildThreads method.
* TaskExecutorThreadFactory now creates daemon threads.
* Introduced the EclipseWorkspaceSettings and IntelliJWorkspaceSettings objects.
* Added the verbose property to the XmlCatalogResolver.
* Support for IntelliJ IDEA workspaces through the IntelliJWorkspace class.
* Moved all classes in org.schmant.task.factory to org.schmant.task
* Upgraded EntityFS jars and samples to 1.0-rc2.
* RecursiveActionTask and RecursiveProcessTask can now use file arguments.
* Added the getReadWriteFile methods to the ArgumentInterpreter.
* SimpleReportLineFormatter can now log a timestamp with every message.
* EclipseWorkspace now handles class directory classpath entries.
* Made schmant.sh honor the JAVA_EXEC environment variable, if set.
* Added ExtJavadocTF example with custom tags.
* schmant.bat now handles a JAVA_HOME variable with quotes in it. It also no
longer whines about files not found if there are no Jar files in libengine.
* Added the getJdkVersion methods to JdkUtil
* Uses partial EntityFS jars instead of the full jar.
* Added the validLinkCollection to HtmlLinkValidationTF
* Added task factory documentation for ExtStandardDocletDecorator and the
ExtPdfDocletDecorator.
* Removed the tags property from the ExtJavadocTF. It belongs in the standard
doclet decorator instead.
* Removed the JavadocCustomTag class that duplicated the functionality of the
JavadocTagDefinition class. Changed the code that used JavadocCustomTag to use
JavadocTagDefinition instead. Added a createFromString method to
JavadocTagDefinition.
* Added TaskExecutor.waitFor(TaskDependency) method.
* Some css changes for the documentation pages.
* Added SourceConfigurable.getSource() (inherited by both ActionTask and
ActionTaskFactory).
* Added the TempFileUtils.createTempXXXInFSTempFilesDirectoryIfSet(FileSystem)
methods.
* TempFileUtils.createTempXXX(FileSystem) now throws an exception if a
temporary files directory is not set on the file system.
Release 0.7, 2007.10.25
================================================================================
* Introduced inheritance hierarchy for ProjectRepository implementations
(EclipseWorkspace specifically).
* Fixed Windows launcher script behavior when JAVA_HOME is invalid.
* Added ArgumentInterpreter.getUrl[OrNull] methods.
* Added the JarSignerTF + documentation
* Added the SvnCopyTF + documentation
* Made TaskExecutor.add methods return a TaskDependency.
* Added the TempFileUtil.createTempDirectory(String, String, boolean) method.
* Added the SchmantFileSystems.getEntityForDirectory(File, String) method.
* Improved error reporting in wrapper.js.
* Added the Report.getStackTraceWriter method.
* Made StringTextReplacer be capture group-aware. Updated TextReplaceTF
documentation.
* Added Matcher argument to TextReplacer.getReplace
* Upgraded EntityFS to 1.0-beta7.
* HtmlLinkValidationTask now ignores contents of comments in HTML files. Made it
work with ID anchors, e.g.
.
* Made TempFileUtil _not_ use File.createTempFile.
* Added the createRamFileSystem method to SchmantFileSystems.
* Declared all concrete task factory implementations final. (Which they already
were in practice since setter methods returned a concrete type.)
* Documentation updates.
* Hid some compiler warnings with @SuppressWarnings.
* Implemented getThis() as final in AbstractConfiguratorConfigurable,
AbstractTask and AbstractTargetPropertyConfigurator and removed
implementations from all subclasses.
* ArgumentInterpreter updates
* Added the maxNoOfReplacesPerReplace property to TextReplaceTF.
* Added the SvnExportTF + documentation.
* Better error message if Jdk6JavacTask cannot find a compiler.
* Changed default log level to WARN for messages that external process tasks
write to stderr.
* Added the GeneratorTaskSupport.prepareForNewEntity(DirectoryView...) method.
* Added ArgumentInterpreter.getDirectory.
Release 0.6, 2007.08.03
================================================================================
* Updated EntityFS samples to versions from 1.0-beta6.
* Made ArgumentInterpreter use ReadWritableFileAdapter where possible.
* Upgraded EntityFS to 1.0-beta6.
* Now prints log header before doing validation in AbstractTask (which means all
that it is done in all tasks).
* Fixed Report printing of stack traces. Added a formatStackTrace to the
ReportLineFormatter.
* Fixed closing of process output listeners in AbstractProcessOutputListener.
* Upgraded JUnit to 4.4.
* Made TextReplaceTF not require file-backed targets.
* Renamed TemplatesCompilerTF to TemplateCompilerTF.
* Fixed the use of debug arguments in javac tasks.
* Added the GZipTask.
* Added AbstractProcessOneEntityTask, AbstractProcessOneEntityToAFileTask and
AbstractOutputStreamProxyingProcessOneEntityTask. Refactored some existing
tasks to inherit them.
* Added the tags property to ExtJavadocTask.
* Added the FutureEntityIndexStrategy.
* Removed the RenameTF and RenameTask. It did the same as the MoveTF.
* Improved the API and documentation of FutureEntity. Made it thread safe.
* Fixed quoting of source file names in ExtJavacTask.
* Modified TaskPackageManager to make possible to have several task package
directories for one task package. This can be used to patch task packages.
* New and updated unit tests.
* Made the Findbugs path honor the FINDBUGS_HOME environment variable.
* Fixed a bug in the ZipTask that put all ReadableFile entries in the Zip
file's root directory.
* Added the TaskExecutor.getStatus() method.
* schmant.sh launcher script fixes.
* schmant.bat launcher script fixes.
* Added the FutureEntityStrategy and adapted ArgumentInterpreter.getFutureEntity
to be aware of it.
* Added a ProcessTask parameter to the TargetStrategy.getTarget method.
* Added the ForEachSourceTF.
* Reworked the ArgumentInterpreter once again. Now it is a singleton instance
on the ArgumentInterpreter class. (The ArgumentInterpreterHolder is gone.) The
-i startup argument disappeared, now the ArgumentInterpreter implementation
can be set with the org.schmant.arg.argumentInterpreter system property.
* Added the getNumberOfThreads method on TaskExecutor. Deprecated the
getNumberOfBuildThreads method.
* Added the disableHeaderLogging property to RecursiveActionTF and
RecursiveProcessTF.
* Added the FileSupport class + unit test.
* Made Jdk6JavacTask close all file systems it creates.
* Implemented the SchmantFileSystems utility class. Made all Schmant methods
use that instead of EntityFS' FileSystems.
* Implemented the SchmantReportLogAdapter.
* Implemented wrapper.js, the JavaScript wrapper script.
* Introduced the use of wrapper scripts for catching and logging errors that
otherwise would get lost in the script engine.
* Unit test updates.
* Fixed bug in JUnit4TF that made it impossible to have several reporters.
* Implemented the JUnit4TestSuiteReporter JUnit4Reporter + support classes.
* Implemented the SaveReportToXmlFileRunListener JUnit4 RunListener.
* Moved StAXSupport to the org.schmant.support.xml.stax package.
* Improved error reporting from RecursiveActionTask and RecursiveProcessTask.
* Made it possible to configure a default LogLineFormatter using program
arguments.
* Refactored and extended the reporting subsystem. Introduced FileReport,
FileReportFactory, OverwritingFileReportFactory, MultiplexingReport,
ReportLineFormatter and SimpleReportLineFormatter.
* A ProjectDependencies is no longer a TaskDependency. That was mostly
confusing, since the ProjectDependencies is satisfied when all its projects'
dependencies are satisfied, i.e. before the last project had been compiled.
This was not evident from the documentation.
* Documentation updates.
* Made Jdk6Javac's EntityFSFileManager work on DirectoryView:s instead of
Directory:s.
Release 0.5.1, 2007.06.24
================================================================================
* Made JdkUtil, the Findbugs task and ExtJavacTask use a platform-dependent
extension when searching for the command in the PATH.
* Made ArgumentInterpreter implementation configurable through the -i argument
* Fixed bug in prepare.js that made the include function fail if its argument
was not an EFile
* Added basic launch configuration validation to Launcher
* Merged TaskExecutor and AbstractTaskExecutor (to TaskExecutor). Redesigned
waiting logic somewhat.
* Fixed quoting of arguments in schmant.bat
* Made schmant.sh work on Solaris
* Made ArgumentInterpreter.getNamedReadableFileOrNull understand relative
java.io.File objects.
* Upgraded EntityFS to 1.0-beta5.
* Added the currently running JVM as fallback for JdkUtil methods.
* Upgraded JUnit from 4.2 to 4.3.1.