0.0.1: Initial release
0.0.2: Fixed wrong paths if default source/class dirs are used (clean target would purge project, oops!)
Fixed wrong classpath variable values (appeared only on Linux)
Support backslash as separator in variables
Updated documentation
0.0.3: Several source directories may have same class directory
Don't create duplicates in init/clean targets and properties
Create inclusion/exclusion childs instead of huge attribute
Confirms overwrite of build.xml which was not created by eclipse2ant
Add eclipse2ant item to export filters
Export run configuration (applications, applets, JUnit tests)
Add native environment variables (although it is not possible to access them in Java,
except for sub processes; and this is exactly what
LaunchManager.getNativeEnvironment() does)
Single file compile
0.0.4: NOT RELEASED
Refactored to resolve project dependencies
Fix absolute classpath locations (missing leading slash)
Check for cyclic project dependencies
Single file compile:
Read all (e.g. debug) options from IDE settings
Show errors summary and used classpath
0.1.0: Refactored to preserve classpath order (subproject support broke this feature)
Support classes directory references of workspace projects
Export User / System Libraries
Synchronize buildfiles with filesystem
0.1.1: Import IBM's source modifications (wizard project selection, i18n)
Prefixed package with "cvs.", so that it's possible to overwrite builtin 3.1M6 export source code
and also to make clear what has to be merged back into CVS
Remove duplicate popup messages (happens if project is selected explicitly and through dependency)
Commented in JUnit support (commented out because would cause dependency to internal component) 95297
Context menu item removed
Fix: Existing build files get silently overwritten if they contain empty lines 95296
Fix: JRE items are added to classpath (Java 1.5) 95298
Fix: build files are not indented (Java 1.5) 95300
0.1.2: Removed dependency to JUnit component 95297
Support Eclipse variables everywhere, not only in working directory 97051
This also considers Support Window -> Preferences -> Run/Debug -> String substitution
Fix: Support several variables in one command line argument 97051
Fix: Support double quoted command line arguments 97051
1.0.0: Fix: If different sources compile to same class directory it should create a javac task for each source,
otherwise their include/exclude filters have to get merged (how???)
Use Ant import instead of XML entity reference
This was the most requested feature ever, therefore some notes:
- Import: Requires Ant 1.6.2, therefore not used to support backwards compatibility (seems not an issue any more)
- Entity: Ant editor not usable for build-user.xml because of missing <project> root
- Entity: John Cook reported that build fails if working directory changes (can't reproduce this)
- Entity: I noticed that variables defined in build.xml are not available in build-user.xml (can't reproduce this any more?)
Only add imports for buildfiles in same directory, if these have a special comment
Confirms overwrite of generated applet html files (indented and filesystem sync)
Fix: Output class directories in classpath had wrong order
Fix: Clean target should delete classes if source directory is .
Copy resources in init target conform to Window -> Preferences -> Java -> Compiler
-> Build Path -> Filtered Resources (BTW: I do not like the default setting! Should be: *) 121052
Provide debug option for compiler target conform to Eclipse options
Refactor: Dependent projects are now inserted at correct classpath location (formerly at the end)
If existing buildfile is read-only or under version control, checkout first
If sub projects are not loaded in workspace, create buildfile, but write log
Support linked resources and path variables 104748 DUP-121175
Performance enhancements: Iterate only once over projects, reuse EclipseClasspath objects
Export runtime (boot)classpath (JavaLaunchDelegate.launch()) 96789
Export compiler boot classpath (i.e. User Libraries marked as System Libraries)
Put user and plugin libraries in separate classpath item PDE-99251
Support Eclipse variables on runtime classpath
Map Eclipse variable env_var to environment variable
If it's not possible to create working buildfile, report what user has
to change:
Determine cycle in source directories of same project
If a source directory references another source directory of same
project, check classpath order
Export javac attributes source and target JDK versions
Create JUnit Report target
Create build-eclipse-compiler target
Show progress bar while generating buildfiles
Use relative path in project.location and working dir when possible
Sort JUnit tests
Enhance wizard:
Add checkboxes for "Detect source cycle", "Eclipse compiler".
Add textboxes for "JUnit output directory", "buildfile name" 89751
Add buttons "(de)select all" (like WizardProjectsImportPage)
Split build target into build-subprojects, build-project
build-subprojects builds all required projects even implicit dependencies
This prevents superflouus Ant uptodate checks
Add target cleanall which cleans also subprojects
Eclipse 3.1M4: Move wizard from category "Other" to "Java"
Single file compile: Fix: classpath and target directory may be empty (-classpath -d null)
Fix javadoc warnings (the only useful report Maven produces ;-))
1.0.1: Removed unused parameters from various methods
Fix: ExportUtil.resolve() to support absolute paths (for Single File Compile, otherwise
source directory "." is not supported)
Create separate classpath for third party libraries instead of inlining them (UML, JBoss, ...)
1.0.2: Create relative paths in variables 108276 DUP-113652
Merged Darins' patch: replaced getRelativeLocation() with getRelativePath()
Use relative paths at some more locations (e.g. path variables)
Fixed NLS comments
Create target build-refprojects which compiles projects which reference current project
1.0.3: Check for NPE in find JUnit tests 120804
Use <arg line=""/> instead of <arg value=""/>. This fixes problems with spaces in Eclipse variables. 114085
1.0.4: Imported Darins' CVS checkin:
Add export arrow to Ant icon 117776
Added wizard help texts
Added mnemonics for wizard
Many code quality enhancements, i.e.
removed unused methods in EclipseClasspath
removed unnecessary throws declarations
args don't shadow members
Fix: mkdir/junitreport did not use ${junit.output.dir} 128103
Fix: remove obsolete @see tags in EclipseClasspath
Use Maven to generate reports for quality control
1.0.5: Fix: Confirm overwrite of buildfiles does not work correctly
if buildfile name was changed. Instead it prompts to confirm to overwrite default buildfiles,
although it will not overwrite these ones. 128512
1.1.0: Fix: Use automatically calculated project build order 128104
1.1.1: Imported Darins' CVS checkin
Use XML processing instruction for import 124210
1.1.2: Imported Darins' CVS checkin
Use build order specified by user 128104
(This may leed to buildfiles that do not compile if user specified wrong
dependency order. Eclipse silently fixes such problem.)
1.1.3: Imported Darins' CVS checkin
Fix: If referenced project contains absolute jar 138089
1.1.4: Imported Darins' CVS checkin
Remove deprecated code 177833
Fix: Append JRE to compiler bootclasspath 201180
Refactored so that JRE is inserted in EclipseClasspath instead of ignoring
NOTE: Nothing to do for java.endorsed.dirs: User needs to specify it as JVM argument (a property)
Fix: Append JRE to runtime bootclasspath (previously jre/lib was appended at the end)
Fix: NPE if runtime classpath contains variable string. (NPE was catched and logged.)
1.1.5: Don't ignore includes/excludes while resource copying 201143
1.1.6: Imported Darins' CVS checkin: NLS fixes, CoreException instead of JavaModelException (deprecated), bug 201180
Support JUnit4 222615
1.1.7: Fix: Add dir attribute to Ant calls 161354 DUP-205133
1.2.0: Find JUnit tests with new API 243294 222615 DUP-95819
Imported IBM CVS source updates
Fix: NPE when importing top level external jar 267459
Progress monitor is now in main wizard window, not sub-window
Removed success popup message which listed created build files
(I personally like this message, because it's possible that more buildfiles were created than requested)
1.2.1: User buildfiles named "*build.xml" were ignored 203522
Remove redundant directory in antfile attributes, it is already contained in the dir attribute
Single file compile: Fix: Dragging files into Eclipse was no longer possible
TODO:
DECISION: A runtime dependency must not refer other projects. A log entry is written.
(To support this, all loops have to check all runtime configurations...)
Support run configuration SWT application type
Add optional auto export mode: export new buildfile if project settings change 122787
Single file compile:
Sync created class file with file system
Update problem markers (esp. in Package Explorer)
Hot code replacement (if it fails, use standard dialog Continue/Terminate/Restart: see JavaHotCodeReplaceListener)
REJECTED: Compiler compiles selected and required classes in same source folder, but
do not find and compile required classes in other folders.
Would need to inspect class dependencies.
DECISION: The checkbox "export classpath" is not considered. Instead everything is exported.
Eclipse removes the jar only from the compiler classpath if unchecked,
the runtime classpath always contains the jars.
DECISION: If run configuration contains single JUnit methods, a target
for each method is created which runs the complete test case.
(Method name is stored in org.eclipse.jdt.junit.TESTNAME)
REJECTED: To support cyclic project dependencies, all source
directories would have to be added to all javac
tasks (in different buildfiles). This would compile
some files several times.
REJECTED: Export configured JREs
NOTE: Recording what source/target compliance level is used
is not enough. If wrong JDK is used, you would not get what you expect.
e.g. using Collections.EMPTY_LIST which was introduced in JDK 1.5,
and compiled with 1.5 does compile although if you use source level 1.4!
See http://www.heise.de/ct/faq/hotline/04/23/02.shtml)
REJECTED: Export JUnit plugin test, runtime workbench, external tools
REJECTED: Create javadoc target [Use instead Project -> Generate Javadoc]
DECISION: Updates are only build for current Eclipse release