2012-04-25  Sami Wagiaalla  <swagiaal@redhat.com>

	* patches/eclipse-add-archs-net.patch:
	Add org.eclipse.core.net.linux.s390 and
	org.eclipse.core.net.linux.s390x fragments to
	org.eclipse.platform/feature.xml.

2012-04-18  Sami Wagiaalla  <swagiaal@redhat.com>

	* patches/fix-gnomeproxy-includes.patch:
	New patch.
	* build.xml: apply above patch.

2012-03-05  Sami Wagiaalla  <swagiaal@redhat.com>

	* patches/add-plugin-version-of-arm-net.patch:
	New patch.
	* build.xml: Apply the above patch.

2012-02-22  Sami Wagiaalla  <swagiaal@redhat.com>

	* patches/add-plugin-version-of-arm-launcher-fragment.patch:
	New patch.
	* build.xml: Apply the above patch.
	* eclipse-build-additionalArchs.tar.bz2: Update the arm fragments
	base on x86 fragments.

2012-01-24  Andrew Robinson  <arobinso@redhat.com>

	Bug #210014.

	* pdebuild/eclipse-copy-platform.sh: Make symlinking paths relative.

2012-01-20  Sami Wagiaalla  <swagiaal@redhat.com>

	* patches/eclipse-dont-link-in-orbit2.patch: New patch.
	* build.xml: Apply patch eclipse-dont-link-in-orbit2.patch.

2012-01-06  Roland Grunberg  <rgrunber@redhat.com>

	* build.xml: Create proper org.junit_3* and org.junit_4* jar files by
	merging the system jar classes with the manifest and other content.

2011-12-19  Roland Grunberg  <rgrunber@redhat.com>

	* jdtnonosgidependencies.properties:
		Use the junit 4 system jar for junit 3 dependencies.

2011-11-08  Roland Grunberg  <rgrunber@redhat.com>

	* build.xml : Add new patches, and modify conents of pre-generated
	build scripts.
	* patches/eclipse-equinox-http-jetty.patch:
	Update dependency versions.
	* patches/eclipse-equinox-http-servlet.patch:
	Update dependency versions, and API.
	* patches/eclipse-equinox-jsp-jasper.patch:
	Update depenency versions, and API.
	* patches/eclipse-help-feature.patch:
	Add/Update dependency versions for this feature.
	* patches/eclipse-ua.patch:
	Update API.
	* dependencies.properties: Update jar versions for Tomcat 7 Jasper
	and specify system location.
	* jasper7.sh : Make the following changes to the contents of
	eclipse-build-generatedScripts.tar.bz2.
	java.servlet_2.5.0.qualifier => javax.servlet_3.0.0
	java.servlet.jsp_2.0.0.qualifier => javax.servlet.jsp_2.2.0
	org.apache.jasper_5.5.17.qualifier => org.apache.jasper_7.0.21

	Rename.
	* dependencyManifests/javax.servlet.jsp_{2.0.0.v201101211617,2.2.0}.jar/META-INF/MANIFEST.MF
	* dependencyManifests/javax.servlet_{2.5.0.v201103041518,3.0.0}.jar/META-INF/MANIFEST.MF
	* dependencyManifests/org.apache.jasper_{5.5.17.v200903231320,7.0.21}.jar/META-INF/MANIFEST.MF

	New.
	* dependencyManifests/javax.el_2.2.0.jar/META-INF/MANIFEST.MF
	* dependencyManifests/org.apache.juli_7.0.21.jar/META-INF/MANIFEST.MF
	* dependencyManifests/org.apache.tomcat_7.0.21.jar/META-INF/MANIFEST.MF
	* dependencyManifests/org.apache.el_7.0.21.jar/META-INF/MANIFEST.MF

2011-10-31  Sami Wagiaalla  <swagiaal@redhat.com>

	* build.xml: Move running of the initializer to its own
	target, and add a property to prevent running it.

2011-10-03  Sami Wagiaalla  <swagiaal@redhat.com>

	* pdebuild.xml: Do not uninstall the initializer.
	Remove all empty metadata directories.

2011-08-23  Sami Wagiaalla  <swagiaal@redhat.com>

	* buildSDKSource.sh: Remove directory scmCache.

2011-08-23  Sami Wagiaalla  <swagiaal@redhat.com>

	* dependencies.properties: Remove org.apache.lucene entry.
	* build.xml: apply remove-lucene-dependency.patch patch.

2011-08-22  Sami Wagiaalla  <swagiaal@redhat.com> 

	* build.xml: Set buildDirectory relative to plugins directory.

2011-08-22  Sami Wagiaalla  <swagiaal@redhat.com>

	* buildSDKSource.sh: update build label to 3.8-M1.
	* build.properties: Ditto.
	* pdebuild.properties: Ditto.
	* regenerateBootstrapFiles.sh: Correct data path.

2011-08-18  Sami Wagiaalla  <swagiaal@redhat.com> 

	* pdebuild.xml: Remove CorrectJarPaths.
	* task-src/org/eclipse/linuxtools/eclipsebuild/CorrectJarPaths.java:
	Deleted.

2011-08-18  Sami Wagiaalla  <swagiaal@redhat.com>

	* pdebuild.xml: Created new target copyDeps.
	Pass property copyfiles to Symlink tasks.
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkJars.java: New.
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkInstalledOSGiJars.java:
	Extend SymlinkJars.
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkOSGiJars.java: Ditto.
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkNonOSGiJars.java: Ditto.

2011-08-16  Sami Wagiaalla  <swagiaal@redhat.com>

	* task-src/org/eclipse/linuxtools/eclipsebuild/CorrectJarPaths.java:
	Fix path correction.

2011-08-16  Sami Wagiaalla  <swagiaal@redhat.com> 

	* dependencies.properties: Remove incorrect path for org.apache.lucene.

2011-08-16  Sami Wagiaalla  <swagiaal@redhat.com>

	* build.properties: Update build tags and ID's.
	* pdebuild.properties: Ditto.
	* regenerateBootstrapFiles.sh: Correct data path.

2011-08-15  Sami Wagiaalla  <swagiaal@redhat.com> 

	* buildSDKSource.sh: update build label to 3.8.

2011-08-15  Sami Wagiaalla  <swagiaal@redhat.com>

	* buildSDKSource.sh: Use buildID for eclipseBuilderTag.

2011-08-15  Sami Wagiaalla  <swagiaal@redhat.com> 

	* pdebuild.xml: Remove org.apache.lucene from build list.

2011-08-15  Sami Wagiaalla  <swagiaal@redhat.com>

	* pdebuild.xml: Use new taks to correct jar paths.
	* task-src/org/eclipse/linuxtools/eclipsebuild/CorrectJarPaths.java:
	New.

2011-08-09  Niels Thykier  <niels@thykier.net>

	Bug #322271

	* pdebuild/eclipse-pdebuild.sh: Pass JVM arguments directly to the VM and
	pass -data to avoid using the user's real workspace.

2011-08-11  Sami Wagiaalla  <swagiaal@redhat.com>

	* build.xml: Apply addDontFetchBinaries-executable.patch and
	addDontFetchBinaries-launcher.patch.
	Pass dontFetchBinaries=true to build.

2011-08-11  Sami Wagiaalla  <swagiaal@redhat.com>

	* buildSDKSource.sh: Prevent 'find' statement from matching diretories.

2011-08-11  Sami Wagiaalla  <swagiaal@redhat.com>

	* regenerateBootstrapFiles.sh: Correct data path.
	Correct src path.

2011-08-11  Sami Wagiaalla  <swagiaal@redhat.com>
	Patch provided by Niels Thykier.
	* build.xml: Move org.eclipse.osgi.services up in the build order.
	Add a patch to build org.eclipse.osgi.services from source.
	* buildSDKSource.sh: Unzip org.eclipse.osgi.services src.zip.

2011-08-08  Sami Wagiaalla  <swagiaal@redhat.com>

	* buildSDKSource.sh: Update baseBuilderTag and eclipseBuilderTag.
	Prevent 'find' statements from matching diretories.

2011-08-05  Niels Thykier  <niels@thykier.net>

	* build.xml: Re-enabled four patches for adding extra architectures to eclipse.
	* patches/donotstorebuildlogsinfiles.patch: Refreshed to apply cleanly.
	* patches/eclipse-add-archs-executable.patch: Ditto
	* patches/eclipse-add-archs-filesystem.patch: Ditto
	* patches/eclipse-add-archs-swt.patch: Ditto
	* patches/eclipse-add-ppc64-sparc64-s390-s390x.patch: Ditto
	* patches/eclipse-addArchesAnd64bitSWT.patch: Ditto
	* patches/eclipse-buildswtnatives.patch: Ditto
	* patches/eclipse-no-jetty5.patch: Ditto
	* patches/eclipse-swt-buildagainstxulrunner.patch: Ditto, though this patch
	was not re-enabled.

2011-08-02  Sami Wagiaalla  <swagiaal@redhat.com>

	* build.xml: Check if eclipse-build-config and eclipse-build-feature are present
	before creating symlinks.

2011-07-22  Sami Wagiaalla  <swagiaal@redhat.com>

	* build.xml: Automatically create symbolic links in the build directory
	to  eclipse-build-config eclipse-build-feature

2011-07-18  Sami Wagiaalla  <swagiaal@redhat.com>

	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkInstalledOSGiJars.java (execute):
	Trim file names before constructing file objects.
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkOSGiJars.java (execute): Ditto.
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkNonOSGiJars.java (execute): Ditto.

2011-04-08  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/no-gnome-vfs.patch: Fix Program.launch(executable) when libswt-gnome is missing.

2011-04-06  Chris Aniszczyk <zx@redhat.com>

        * patches/eclipse-relax-sat4j-deps.patch: New file.
        * build.xml: Apply patch to relax sat4j deps.

2011-04-06  Alexander Kurtakov  <akurtako@redhat.com>

	* buildEclipseBuildSource.sh: Make the tarball use xz compression.
    * patches/remove-old-ant-plugins.patch: New file.
	* build.xml: Apply patch to remove old ant plugins from ant bundle manifest.

2011-04-05  Alexander Kurtakov  <akurtako@redhat.com>
	Fix for webkit crash. Thanks to Sami Wagiaalla (bz#341640).
	* patches/webkit-missing-hearder.patch: New file.
	* build.xml: Apply new patch to fix webkit crash.

2011-04-04  Alexander Kurtakov  <akurtako@redhat.com>

	* dependencies.properties: Use jsp-api from tomcat6.
	* nonosgidependencies.properties: Drop ant-trax and ant-nodeps - they are gone since Ant 1.8.2.

2011-03-28  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/webkitgtk.patch: Change patch to use pkg-config instead of hardcoding options.
	
2011-03-28  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/no-gnome-vfs.patch: New file.
	* build.xml: Apply patch to fix working without gnome-vfs.

2011-03-16  Stephen Shaw <sshaw@decriptor.com>

	* build.properties:
	* pdebuild.properties: accounts for jvm being in
	/usr/lib64 on 64bit machines

2011-03-11  Alexander Kurtakov  <akurtako@redhat.com>

	* buildEclipseBuildSource.sh: Adapt for the move to git.

2011-03-09  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Override files when symlinking.

2011-03-07 Alexander Kurtakov  <akurtako@redhat.com>

	* buildSDKSource.sh: Cleanup temp resources.

2011-01-19  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Aggregate test results with proper JUNIT.XSL.

2011-01-18  Andrew Overholt  <overholt@redhat.com>

	Bug #334716

	* build.xml: Provision SDK and test framework for use by tests.
	* runtests.sh: Use SDK and test framework provisioned by build.xml.

2011-01-11  Andrew Overholt  <overholt@redhat.com>

	Bug #319476

	* patches/bz319476-compile-jar-in-jar-loader.patch: Backport patch to
	build jar-in-jar-loader in JDT UI (bz324794).
	* build.xml: Add patch to build jar-in-jar-loader.

2010-12-10  Severin Gehwolf <sgehwolf@redhat.com>

	* patches/eclipse-help-webapps-xss-BZ329582.patch: Backport patch for XSS vulnerability
	  of org.eclipse.help.webapp.
	* build.xml: Add backport patch to applyPatches target.

2010-10-26  Severin Gehwolf <sgehwolf@redhat.com>

	* patches/eclipse-pde.build-add-package-build.patch: Fix the
	  patch. Earlier version produced syntax errors such as:
	  'prepare-build-dir.sh: line 60: [: argument expected'

2010-10-02  Alexander Kurtakov  <akurtako@redhat.com>

	* build.properties: Update for 3.6.1.
	* build.xml: Better fail messages.
	* pdebuild.properties: Update for 3.6.1

2010-10-01  Alexander Kurtakov  <akurtako@redhat.com>
    Update buildSDKSource.sh for 3.6.1 release. (Chris Aniszczyk bz#326597)
	* patches/eclipse-removeSkipMapsCheck.patch: New file.
	* buildSDKSource.sh: Update to 3.6.1.

2010-08-23  Roland Grunberg  <rgrunber@redhat.com>

	* runtests.sh: Remove org.junit4/ and junit4.jar during the launch of the
	o.e.pde.ui.tests. They are recognized as plugins but not as bundles.
	This causes some failures.

2010-08-17  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Use ${label} instead of "3.5.2" for SWT JAR
	symlinks.  Pass in profile to use when installing.  Further
	clean installation of build path references.  Apply patch from
	Benjamin Drung to clean up some of these references (bug
	#322283).

2010-08-17  Andrew Overholt  <overholt@redhat.com>

	Bug #294114

	* build.xml: New target 'provisionSDKinDropins' which copies JDT
	and SDK into the dropins directory of the installation.  New
	target 'installPlatformAndCVS' which wraps provision.cvs and
	install.
	* jdtnonosgidependencies.properties: Re-name from
	sdknonosgidependencies.properties.
	* sdknonosgidependencies.properties: Renamed.
	* jdtdependencies.properties: New file.  OSGi dependencies
	present in the JDT but not the Platform.
	* sdkdependencies.properties: Move JDT bits to
	jdtdependencies.properties.

2010-08-11  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Make symlink to eclipse.ini absolute again to
	please our Debian friends.

2010-08-11  Andrew Overholt  <overholt@redhat.com>

	Bug #293731

	* build.xml: Add ability to provision just the platform or just the
	platform and the CVS feature (default is still entire SDK).  Parametrize
	JUnit4 JAR location.  Replace @qualifier@ also in platform.product since
	we're using it now.  No longer copy content.{xml,jar} over for debugging
	during publishing.  Extract publishing of SDK into a common target that
	can be used by other publishing tasks.  Extract provisioning of SDK into
	common target.  Add installPlatform/installPlatformAndCVS targets for
	installing just the platform/platform+CVS.
	* publishProduct.xml: Parametrize the product file to use.
	* sdknonosgidependencies.properties: New file.  Non-OSGi dependencies
	present in the SDK but not the platform.
	* sdkdependencies.properties: New file.  OSGi dependencies present in the
	SDK but not the platform.
	* nonosgidependencies.properties: Strip SDK-only dependencies.
	* dependencies.properties: Likewise.

2010-08-11  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Make symlink to eclipse.ini relative.
	* Xvnc.cfg: Add to svn:ignore.

2010-08-09  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Apply ant core and UI test patch to not be so strict with
	ant -version output.

2010-08-06  Andrew Overholt  <overholt@redhat.com>

	Bug #286825

	* patches/donotstorebuildlogsinfiles.patch: Output SWT build information
	to stdout and not a log file (Niels Thykier).

2010-08-04  Andrew Overholt  <overholt@redhat.com>

	Bug #321612

	* build.xml: Add ability to pass through -v and -d flags to runtests.sh.
	Use -DdebugTests=true or -DverboseTests=true.
	* runtests.sh: Add verbose option (-v).  Pass -data option to test runs.

2010-08-04  Andrew Overholt  <overholt@redhat.com>
 
	Bug #321660

	* build.xml: Remove sdk-tests.properties in clean-sdk task and tests_* in
	distclean task.  Clean up formatting a bit. 

2010-08-03  Andrew Overholt  <overholt@redhat.com>

	Bug #321284

	* build.xml: Set installation directory after resolving libdir.

2010-07-29  Andrew Overholt  <overholt@redhat.com>

	Bug #319479

	* patches/eclipse-swt-compile-xpt.patch: New file.  Patch from Benjamin
	Drung to build .xpt file for SWT.
	* build.xml: Apply above patch.

2010-07-28  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Use bootstrap JARs to build Equinox Initializer.

2010-07-28  Andrew Overholt  <overholt@redhat.com>

	* runtests.sh: Properly canonicalize test build and installation
	directories.

2010-07-28  Andrew Overholt  <overholt@redhat.com>

	* build.properties: Property-ify test framework.
	* build.xml: Use variables for provision and installation directories.
	Build Equinox Initializer application in build target and not in
	provision.sdk target.  Pass tests build directory and provisioned SDK
	directory to runtests.sh.
	* runtests.sh: Take passed-in tests build directory and provisioned SDK
	directory.  Pass testframework variable to runtests.sh.
	* junitHelper.xml: Use property of testframework.

2010-07-28  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Fix version of org.eclipse.test (3.2.0 -> 3.3.0).
	* junitHelper.xml: Likewise.
	* runtests.sh: Likewise.
	* sdk-tests.properties: Add to svn:ignore.
	* tests_*: Add to svn:ignore.

2010-07-23  Andrew Overholt  <overholt@redhat.com>

	* dependencies.properties: 
	* junitHelper.xml: 
	* runtests.sh: 
	* patches/tests-nop2discoverytests.patch: New file.  Don't build the p2
	discovery tests since that feature isn't part of the SDK.
	* patches/org.eclipse.pde.ui.tests-LocalTargetDefinitionTests.patch: Removed.
	* patches/tests-org.eclipse.pde.ui.tests-LocalTargetDefinitionTests.patch:
	Renamed to clarify that it's a patch for the tests. 
	* build.xml: Correct typo with LocationTargetDefinitionTests patch name.
	
2010-07-27  Andrew Overholt  <overholt@redhat.com>

	Bug #295098

	* patches/org.eclipse.pde.ui.tests-LocalTargetDefinitionTests.patch: New
	file.  Patch out checking for source bundles not likely to be present in
	distros.
	* build.xml: Apply above patch to tests.
	* symlinks-stamp: Add to svn:ignore.
	* task-bin: Likewise.

2010-07-27  Andrew Overholt  <overholt@redhat.com>

	Bug #320328

	* pdebuild.xml: Use ${label} instead of hard-coding "3.5.0".
	* build.xml: Use PDE Build of built SDK to build SDK tests.
	

2010-07-19  Andrew Overholt  <overholt@redhat.com>

	Bug #319110

	* build.xml: Apply patch from Benjamin Drung to rename some ant targets
	(distclean -> clean, clean -> clean-sdk).  "distclean" now removes *.log.

2010-07-19  Andrew Overholt  <overholt@redhat.com>

	Bug #319473

	* build.xml: Apply patch from Benjamin Drung to extract SWT .so files.
	* extract_patterns.txt: New file.  Filename patterns to extract
	("initialize") from bundle JARs. 

2010-07-14  Andrew Overholt  <overholt@redhat.com>

	* additionalArchs/rename.sh: Add svn:executable property.
	* pdebuild/eclipse-copy-platform.sh: Likewise.
	* regenerateBootstrapFiles.sh: Likewise.
	* runtests.sh: Likewise.
	* swt_bundle.sh: Likewise.

2010-07-14  Andrew Overholt  <overholt@redhat.com>
 
	Bug #319474

	* patches/eclipse-pde.build-add-package-build.patch: Apply patch from
	Adnan Hodzic to remove bash-isms from prepare-build-dir.sh.

2010-07-08  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/bz318912.patch: New file.
	* build.xml: Apply the new patch.

2010-07-07  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Fix strip of the patch.
	* patches/junit4-nochecksum.patch: Rediff patch.
	

2010-07-07  Alexander Kurtakov  <akurtako@redhat.com>
    Remove mediawiki pages which are outdated.
	* ABOUT.mediawiki: Removed.
	* README.mediawiki: Removed.
	* TODO.mediawiki: Removed.
	
2010-07-07  Alexander Kurtakov  <akurtako@redhat.com>

	* build.sh: Removed.
	* build.xml: Save output to log file.

2010-07-06  Alexander Kurtakov  <akurtako@redhat.com>
    Fix for bz#317391 (Benjamin Drung).
	* build.properties: Remove buildArch it's autoset by buildscript.
	* build.sh: Remove buildArch checking code.
	* build.xml: Determine buildArch by ant.
	
2010-07-06  Alexander Kurtakov  <akurtako@redhat.com>

	* regenerateBootstrapFiles.sh: Let launcher dir be a parameter.

2010-07-05  Alexander Kurtakov  <akurtako@redhat.com>

	* buildSDKSource.sh: Remove *.orig files. (Benjamin Drung bz#316525)
	
2010-07-05  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/java-home.patch: New file.
	* build.xml: Do not blindly override JAVA_HOME.
	* dependencies.properties:  Add icu4j for Debian (Benjamin Drung).
	
2010-07-05  Alexander Kurtakov  <akurtako@redhat.com>
    Refresh all patches. (Benjamin Drung)
	* build.xml: Make every patch applies in build directory.
	* dependencies.properties: Remove my testing leftovers.
	* patches/donotsetjavahomeandoptimizeliblocalfile.patch: Update patch for Helios. 
	* patches/donotstorebuildlogsinfiles.patch: Likewise.
	* patches/eclipse-add-archs-executable.patch: Likewise.
	* patches/eclipse-add-archs-filesystem.patch: Likewise.
	* patches/eclipse-add-archs-swt.patch: Likewise.
	* patches/eclipse-add-ppc64-sparc64-s390-s390x.patch: Likewise. 
	* patches/eclipse-addArchesAnd64bitSWT.patch: Likewise.
	* patches/eclipse-buildswtnatives.patch: Likewise.
	* patches/eclipse-no-jetty5.patch: Likewise.
	* patches/eclipse-nosourcebundlesfordependencies.patch: Likewise. 
	* patches/eclipse-pde.build-add-package-build.patch: Likewise.
	* patches/eclipse-swt-buildagainstxulrunner.patch: Likewise.
	* patches/eclipse-use-newer-commons-codec.patch: Likewise.
	* patches/gnomeproxy-makefile.patch: Likewise.
	* patches/junit4-nochecksum.patch: Likewise.
	* patches/osgi-util.patch: Likewise.

2010-06-23  Alexander Kurtakov  <akurtako@redhat.com>

	* dependencies.properties: Fix jetty and jetty utils lists.

2010-06-11  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/swt_webkit.patch: Removed. Applied upstream.
	* bootstrap/configuration/config.ini: Start o.e.e.event.
	* build.xml: Drop patch applied upstream. Don't unzip o.e.e.util/src.zip it's done by the buildSDKSource.sh now.

2010-06-10  Andrew Overholt  <overholt@redhat.com>

	* build.properties: Update release ID.
	* buildSDKSource.sh: Update release ID.  Unpack osgi.util src.zip into
	osgi.util/src.

2010-06-10  Andrew Overholt  <overholt@redhat.com>

	* dependencyManifests/org.apache.commons.codec_1.3.0.v20080530-1600.jar/META-INF/MANIFEST.MF:
	Update to latest SDK-included dependency manifest.
	* dependencyManifests/org.apache.commons.el_1.0.0.v200806031608.jar/META-INF/MANIFEST.MF:
	Likewise. 
	* dependencyManifests/org.apache.jasper_5.5.17.v200903231320.jar/META-INF/MANIFEST.MF:
	Likewise. 

2010-06-10  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Unzip o.e.equinox.osgi.util src.zip.
	* nonosgidependencies.properties: Fix junit names.
	
2010-06-10  Alexander Kurtakov  <akurtako@redhat.com>

	* dependencyManifests/com.ibm.icu_4.2.1.v20100212.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/org.apache.commons.httpclient_3.1.0.v20080605-1935.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/org.apache.commons.logging_1.0.4.v200904062259.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/org.apache.lucene.analysis_1.9.1.v20080530-1600.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/org.apache.lucene_1.9.1.v20080530-1600.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/org.mortbay.jetty.server_6.1.15.v200905151201.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/org.mortbay.jetty.util_6.1.15.v200905182336.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/org.sat4j.pb_2.2.0.v20100225.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/com.ibm.icu_4.2.1.v20100412.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.apache.commons.logging_1.0.4.v201005080501.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.apache.lucene.analysis_1.9.1.v20100518-1140.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.apache.lucene_1.9.1.v20100518-1140.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.mortbay.jetty.server_6.1.23.v201004211559.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.mortbay.jetty.util_6.1.23.v201004211559.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.sat4j.core_2.2.0.v20100429.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.sat4j.pb_2.2.0.v20100429.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.apache.commons.httpclient_3.1.0.v201005080502.jar/META-INF/MANIFEST.MF: New file.
	* build.xml: Fix source preparations.
	* dependencies.properties: Update to new deps.
	* nonosgidependencies.properties: Update to new deps.
	* eclipse-build-generatedScripts.tar.bz2: Regenerated.
	* patches/eclipse-use-newer-commons-codec.patch: Reset other deps versions too.
	* pdebuild.xml: Add apache commons to bootstrap.

2010-05-27 Alexander Kurtakov    <akurtako@redhat.com>

	* patches/osgi-util.patch: New patch fixing o.e.osgi.util build from source. (Author: Niels Thykier)
	* build.xml: Apply the patch.

2010-04-22  Alexander Kurtakov    <akurtako@redhat.com>

	* patches/swt_webkit.patch: New file.
	* build.xml: Apply webkit patch.
	* patches/eclipse-buildswtnatives.patch: Add webkit sources.

2010-04-21  Alexander Kurtakov    <akurtako@redhat.com>

	* build.xml: Adapt to the new source tarball structure. Ecf-src is where it belongs to.
	There is no need to trouble with bootstrap/p2 content. 
	
2010-04-21  Alexander Kurtakov    <akurtako@redhat.com>

	* buildSDKSource.sh: New I-build. Put ecf in the main plugins/features directories.

2010-04-21  Alexander Kurtakov    <akurtako@redhat.com>

	* patches/junit4-nochecksum.patch: New file.
	* build.xml: Apply junit4 checksum patch and remove all checksum files.

2010-04-20  Alexander Kurtakov    <akurtako@redhat.com>

	* bootstrap/configuration/config.ini: Add equinox.ds and deps. 
	* pdebuild.xml: Likewise.

2010-04-19  Alexander Kurtakov    <akurtako@redhat.com>

	* dependencyManifests/com.ibm.icu_4.0.1.v20090822.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/javax.servlet_2.5.0.v200806031605.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/org.objectweb.asm_3.1.0.v200803061910.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/org.sat4j.core_2.1.1.v20090825.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/org.sat4j.pb_2.1.1.v20090825.jar/META-INF/MANIFEST.MF: Removed.
	* dependencyManifests/com.ibm.icu_4.2.1.v20100212.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/javax.servlet_2.5.0.v200910301333.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.objectweb.asm_3.2.0.v200909071300.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.sat4j.core_2.2.0.v20100225.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.sat4j.pb_2.2.0.v20100225.jar/META-INF/MANIFEST.MF: New file.
	* bootstrap/configuration/config.ini: Add org.hamcrest.core to the list of bundles to load.
	* build.properties: Update for 3.6.
	* build.xml: Likewise.
	* dependencies.properties: Likewise.
	* eclipse-build-generatedScripts.tar.bz2: Regenerated.
	* nonosgidependencies.properties: Likewise.
	* patches/donotsetjavahomeandoptimizeliblocalfile.patch: Likewise.
	* patches/donotstorebuildlogsinfiles.patch: Likewise.
	* patches/eclipse-add-archs-executable.patch: Likewise.
	* patches/eclipse-add-ppc64-sparc64-s390-s390x.patch: Likewise.
	* patches/eclipse-addArchesAnd64bitSWT.patch: Likewise.
	* patches/eclipse-buildswtnatives.patch: Likewise.
	* patches/gnomeproxy-makefile.patch: Likewise.
	* pdebuild.properties: Likewise.
	* pdebuild.xml: Likewise.
	* regenerateBootstrapFiles.sh: Likewise. 

2010-04-13  Alexander Kurtakov  <akurtako@redhat.com>

	* buildSDKSource.sh: Make it generate 3.6 stream tarballs.

2010-03-18  Alexander Kurtakov  <akurtako@redhat.com>

	* buildEclipseBuildSource.sh: Produce bzipped tarballs.
	
2010-03-18  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/droppluginversions.patch: New file..
	* build.xml: Apply patch to match upstream 3.5.2 qualifiers.

2010-03-12  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Remove unnecessary copying of test result XML files.

2010-03-12  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Remove provision.tests task; do test provisioning in
	runtests.sh.
	* runtests.sh: Re-factor.  Clean test installation between runs of each
	test suite. (Roland Grunberg)

2010-03-10  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Create swt symlinks on install.

2010-03-10  Andrew Overholt  <overholt@redhat.com>

	Bug #305002

	* patches/addEcfQualifiers.patch: New file.  Make ECF plugins have
	qualifiers matching upstream.
	* build.xml: Apply above patch.

2010-03-08  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Fix multilib install.

2010-03-08  Andrew Overholt  <overholt@redhat.com>

	* buildSDKSource.sh: Revert to fetching from CVS ourselves to get
	featureVersions.properties and pluginVersions.properties. 

2010-03-08  Andrew Overholt  <overholt@redhat.com>

	* buildEclipseBuildSource.sh: Remove .settings and .project when creating
	eclipse-build tarball.

2010-03-05  Roland Grunberg  <rgrunber@redhat.com>

	* buildSDKSource.sh: Clean up script to build tarball of sdk tests
	for 3.5.2.

2010-03-04  Andrew Overholt  <overholt@redhat.com>

	* buildSDKSource.sh: Drop .cvsignore files.

2010-03-03  Andrew Overholt  <overholt@redhat.com>

	* Merge symlinkDependencies branch.

2010-03-02  Andrew Overholt  <overholt@redhat.com>

	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkInstalledOSGiJars.java
	(importantManifestEntries): Only compare Bundle-SymbolicName when
	symlinking at install time since we know it will be correct based on
	build time symlinks.

2010-03-02  Andrew Overholt  <overholt@redhat.com>

	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkOSGiJars.java
	(execute): Correct symlink location.

2010-03-02  Andrew Overholt  <overholt@redhat.com>
 
	* dependencies.properties: Fix up Debian jasper JAR location.

2010-03-02  Andrew Overholt  <overholt@redhat.com>

	* dependencies.properties: 
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkOSGiJars.java
	(execute): Continue to next potential system JAR instead of failing if the
	first one doesn't work.

2010-03-01  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Re-symlink to system JARs after p2 director installation.
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkInstalledOSGiJars.java: 
	New file.  Symlink OSGI bundles again after p2 installation step.
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkOSGiJars.java:
	Remove unused parts.

2010-02-26  Andrew Overholt  <overholt@redhat.com>

	* build.properties: Make buildID same as 3.5.2.
	* pdebuild.properties: Likewise.

2010-02-26  Andrew Overholt  <overholt@redhat.com>

	* buildSDKSource.sh: Clean up a bit (Benjamin Drung).

2010-02-26  Andrew Overholt  <overholt@redhat.com>

	* buildSDKSource.sh: Generate source tarball using upstream srcIncluded
	drop.

2010-02-26  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Use new source tarball name and directory structure (no more
	"-fetched").  Update version number and label.  For now, don't re-symlink
	in installation directory.
	* regenerateBootstrapFiles.sh: Likewise.
	* generateAdditionalPlatforms.xml: Likewise.
	* pdebuild.xml: Likewise.  Don't reference .source bundles.
	* build.properties: Set label to 3.5.2. 
	* pdebuild.properties: Likewise.

2010-02-26  Andrew Overholt  <overholt@redhat.com>

	* patches/eclipse-nosourcebundlesfordependencies.patch: Don't generate
	JUnit4 source bundle.

2010-02-26  Andrew Overholt  <overholt@redhat.com>

	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkOSGiJars.java
	(execute): Don't assume location of dependency manifests.  Create symlink
	filenames based on Bundle-SymbolicName_Bundle-Version when keepOrigNames
	is false (used at installation time).
	* build.xml: Remove old system JAR files before re-symlinking in
	installation.
	* buildSDKSource.sh: Remove more binaries (Benjamin Drung, bug #303447).

2010-02-26  Andrew Overholt  <overholt@redhat.com>

	Bug #280688

	* dependencies.properties: Update Debian/Ubuntu locations (Benjamin Drung).

2010-02-26  Andrew Overholt  <overholt@redhat.com>

	* patches/eclipse-nosourcebundlesfordependencies.patch: Remove references
	to dependency source bundles.
	* build.xml: Apply above patch.

2010-02-26  Andrew Overholt  <overholt@redhat.com>

	Bug #280688

	* dependencies.properties: Add Debian/Ubuntu locations (Benjamin Drung). 
	* nonosgidependencies.properties: Likewise.

2010-02-26  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/eclipse-use-newer-commons-codec.patch: New file.
	* build.xml: Apply patch to use whatever commons-codec version is available.
	* dependencies.properties: Add unversioned jetty jars (needed for Fedora 13).

2010-02-25  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Re-symlink in installation directory.

2010-02-25  Andrew Overholt  <overholt@redhat.com>

	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkOSGiJars.java
	(execute): Handle bundle versions with less than 4 components.

2010-02-25  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Add debuginfo to ant task .class files.


2010-02-25  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Only build symlink task and symlink deps once (stamp file).
	Remove JAR signatures from JUnit and Ant META-INF.
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkNonOSGiJars.java
	(execute): Delete symlink target before creating it.
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkOSGiJars.java
	(execute): Likewise.
	* dependencies.properties: Fix sat4j versions and qualifiers.

2010-02-25  Andrew Overholt  <overholt@redhat.com>

	Bug #303447

	* buildSDKSource.sh: Delete more unused files (Benjamin Drung).

2010-02-25  Alexander Kurtakov  <akurtako@redhat.com>

	* pdebuild/eclipse-pdebuild.sh: Add exit 1 on unknown option.

2010-02-24  Andrew Overholt  <overholt@redhat.com>

	* dependencyManifests/com.ibm.icu_4.0.1.v20090822.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/com.jcraft.jsch_0.1.41.v200903070017.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/javax.servlet.jsp_2.0.0.v200806031607.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/javax.servlet_2.5.0.v200806031605.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.apache.commons.codec_1.3.0.v20080530-1600.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.apache.commons.el_1.0.0.v200806031608.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.apache.commons.httpclient_3.1.0.v20080605-1935.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.apache.commons.logging_1.0.4.v200904062259.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.apache.jasper_5.5.17.v200903231320.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.apache.lucene.analysis_1.9.1.v20080530-1600.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.apache.lucene_1.9.1.v20080530-1600.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.hamcrest.core_1.1.0.v20090501071000.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.mortbay.jetty.server_6.1.15.v200905151201.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.mortbay.jetty.util_6.1.15.v200905182336.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.objectweb.asm_3.1.0.v200803061910.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.sat4j.core_2.1.1.v20090825.jar/META-INF/MANIFEST.MF: New file.
	* dependencyManifests/org.sat4j.pb_2.1.1.v20090825.jar/META-INF/MANIFEST.MF: New file.

2010-02-24  Andrew Overholt  <overholt@redhat.com>

	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkSystemJars.java:
	Removed.
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkOSGiJars.java:
	Renamed for clarity.
	* build.xml: Use new class name for ant task.

2010-02-24  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Build ant task and run it to symlink to dependencies.  
	* dependencies.properties: New file.  Map between Eclipse-included OSGi
	dependencies and potential system locations.
	* nonosgidependencies.properties: New file.  Map between Eclipse-included
	non-OSGi dependencies and potential system locations.
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkNonOSGiJars.java: New 
	file.  Ant task for symlinking to all non-OSGi JARs listed in
	nonosgidependencies.properties.  
	* task-src/org/eclipse/linuxtools/eclipsebuild/SymlinkSystemJars.java: New
	file.  Ant task for symlinking to all OSGi JARs listed in
	dependencies.properties.

2010-02-22  Andrew Overholt  <overholt@redhat.com>

	Bug #294557

	* pdebuild/eclipse-pdebuild.sh: Maintain Eclipse's exit code (Niels
	Thykier). 

2010-02-22  Alexander Kurtakov  <akurtako@redhat.com>

	* build.sh: Propagate the error code from ant and fix in a call to a
    dpkg-architecture (Niels Thykier).

2010-02-22  Alexander Kurtakov  <akurtako@redhat.com>
    Remove jetty5 dependency. (Niels Thykier)
	* patches/eclipse-no-jetty5.patch: New file.
	* build.xml: Apply no-jetty5.patch and remove jetty5 bundles.
	* eclipse-build-generatedScripts.tar.bz2: Regenerated.
	* pdebuild.xml: Don't build o.e.equinox.http.jetty_1.1.100.

2010-02-19  Alexander Kurtakov  <akurtako@redhat.com>

	* ecf-filetransfer-build.properties: Removed.
	* ecf-filetransfer-feature.xml: Removed.
	* build.xml: Reduce the ecf section.

2010-02-18  Alexander Kurtakov  <akurtako@redhat.com>

	* regenerateBootstrapFiles.sh: New file.(Fedora specific but let's at least keep it in the repo)
	* build.xml: Don't build ecf. It's done in pdebuild now.
	* eclipse-build-generatedScripts.tar.bz2: Regenerated.
	* pdebuild.xml: Build ecf.

2010-02-16  Andrew Overholt  <overholt@redhat.com>

	Bug #302256

	* build.xml: Add -Xmx to JVM arguments when forking separate java
	processes (Matt Whitlock).

2010-02-16  Alexander Kurtakov  <akurtako@redhat.com>

	* pdebuild.properties: Fix properties to match 3.5.2 M-build.
	* eclipse-build-generatedScripts.tar.bz2: Regenerated.

2010-02-11  Andrew Overholt  <overholt@redhat.com>

	* patches/eclipse-add-archs-executable.patch: Re-generate.
	* build.xml: Apply eclipse-add-arches-executable.patch in proper location.

2010-02-11  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Remove patches present in 3.5.2.
	* patches/eclipse-help-toolbar.patch: Removed.
	* patches/gtk2.18zorder.patch: Removed.
	* patches/swtbug290395-updatedialog.patch: Removed.
	* patches/swtbug291128.patch: Removed.
	* patches/swtbug296284-xulrunner192.patch: Removed.
	* patches/transformclipping.patch: Removed.
	* build.properties: Update for build towards 3.5.2.
	* buildSDKSource.sh: Likewise. 
	* patches/eclipse-add-archs-executable.patch: Likewise.

2010-01-14  Andrew Overholt  <overholt@redhat.com>

	* patches/swtbug290395-updatedialog.patch: Backport patch from 3.5
	maintenance branch.
	* patches/swtbug296284-xulrunner192.patch: Likewise.
	* build.xml: Add above 2 patches.

2009-12-22  Andrew Overholt  <overholt@redhat.com>

	* patches/swtbug291128.patch: Add back-ported patch from bug #291128.
	* build.xml: Add above patch.

2009-12-08  Roland Grunberg  <rgrunber@redhat.com>

	* patches/tests-BZ295666.patch: New file.
	* build.xml: Fix for bug #295666

2009-12-03  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Install eclipse.ini in etc/. (bug #295523 Benjamin Drung)

2009-12-03  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Fix dropins path in eclipse.ini. (bug #295525 Benjamin Drung)

2009-12-01  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Add patch for transform clipping with GTK 2.18 (bug #286687).
	* patches/transformclipping.patch: Likewise.

2009-11-17  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Remove version string from extracted eclipse tarball when running unpacked. (Benjamin Drung) 

2009-11-11  Alexander Kurtakov  <akurtako@redhat.com>

	* pdebuild/eclipse-pdebuild.sh: Do not escape $orbitDepsDir.

2009-11-05  Alexander Kurtakov  <akurtako@redhat.com>
	Fix for bug #294264.
	* build.xml: Use ${buildWorkspace} instead of $HOME/workspace.

2009-11-03  Andrew Overholt  <overholt@redhat.com>

	Bug #292706

	* buildSDKSource.sh: Apply patch from Benjamin Drung to remove binaries
	and CVS files from source tarball. 

2009-11-03  Andrew Overholt  <overholt@redhat.com>

	* patches/eclipse-jdt_launch-customBuild.patch: Correct offset.
	* patches/eclipse-addArchesAnd64bitSWT.patch: Fix end of file.
	* patches/eclipse-add-archs-executable.patch: Likewise.
	* build.xml: File strip level for above patch (5 -> 6).

2009-11-03  Andrew Overholt  <overholt@redhat.com>

	Bug #293952

	* build.xml: Only build for target (idea courtesy Matthias Klose).

2009-11-03  Matthias Klose  <doko@ubuntu.com>

	* eclipse-build-additionalArchs.tar.bz2:  Add files for arm, mips, mipsel,
	PA_RISC, alpha, ia64.  Fix existing files for 64-bit platforms (ppc64 and
	sparc64).  Copy over fix for bug #293974.

2009-11-03  Matthias Klose  <doko@ubuntu.com>

	Bug #293948

	* patches/eclipse-add-archs-filesystem.patch: Add MIPs, PA_RISC, alpha,
	arm, ia64.  Alphabetize platforms.
	* patches/eclipse-add-archs-executable.patch: Likewise.
	* patches/eclipse-add-archs-swt.patch: Likewise.
	* patches/eclipse-add-ppc64-sparc64-s390-s390x.patch: Add MIPS and arm.
	* build.xml: Set strip=0 for eclipse-add-pp64-sparc64-s390-s390x.patch.
	Add application of patches/eclipse-addArchesAnd64bitSWT.patch.
	* patches/eclipse-64bitSWT.patch: New file.  Add arm, PA_RISC, sparcv9,
	MIPS to SWT build.sh.  Make SWT 64-bit on alpha, too. 

2009-11-03  Matthias Klose  <doko@ubuntu.com>

	Bug #293951

	* build.sh: Add MIPS and PA_RISC.

2009-10-26  Matthias Klose  <doko@ubuntu.com>

	* additionalArchs/rename.sh: Remove bashism.

2009-11-02  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Re-name variable for clarity. 

2009-11-02  Andrew Overholt  <overholt@redhat.com>

	Bug #292475 (Benjamin Drung)

	* build.xml: Support build with extracted source (not just with tarball).

2009-10-30  Andrew Overholt  <overholt@redhat.com>

	Bug #292610 (Benjamin Drung)

	* build.xml: Apply patches from Benjamin Drung to maintain permissions upon
	installation.  Also give executable bit to package-build shell scripts.

2009-10-29  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/eclipse-pde.build-add-package-build.patch: Remove one shell script (done in ant now).

2009-10-22  Alexander Kurtakov  <akurtako@redhat.com>
    Fix #292078. (Niels Thykier)
	* patches/gnomeproxy-makefile.patch: New file.
	* build.xml: Build libgnomeproxy only on x86.

2009-10-21  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/eclipse-add-ppc64-filesystem.patch: Removed.
	* patches/eclipse-add-ppc64-swt.patch: Removed.
	* patches/eclipse-add-archs-executable.patch: New file.
	* patches/eclipse-add-archs-filesystem.patch: New file.
	* patches/eclipse-add-archs-swt.patch: New file.
	* build.xml: Apply new patches adding sparc support and launcher fragments.
	* eclipse-build-additionalArchs.tar.bz2: Regenerated.
	* generateAdditionalPlatforms.xml: Generated sparc* fragments.
	* build.sh: Add support for sparc* archs.

2009-10-20  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/eclipse-pde.build-add-package-build.patch: Execute with /bin/bash. (Niels Thykier)

2009-10-19  Alexander Kurtakov  <akurtako@redhat.com>

	* generateAdditionalPlatforms.xml: New file.

2009-10-19  Alexander Kurtakov  <akurtako@redhat.com>

	* eclipse-build-additionalArchs.tar.bz2: New file.
	* additionalArchs/rename.sh: New file.
	* patches/eclipse-add-ppc64-filesystem.patch: New file.
	* patches/eclipse-add-ppc64-swt.patch: New file.
	* build.xml: Add ppc64 support.

2009-10-15  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/eclipse-add-ppc64-sparc64-s390-s390x.patch: New file.
	* build.xml: Add patch with constants for additional args.

2009-10-12  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Create a symlink to o.e.equinox.launcher in the install. (Niels Thykier) 
	
2009-10-12  Alexander Kurtakov  <akurtako@redhat.com>

	* ecf-filetransfer-build.properties: New file.
	* ecf-filetransfer-feature.xml: New file.
	* build.xml: Compile ecf bundles.

2009-10-08  Andrew Overholt  <overholt@redhat.com>

	Bud #291681 - Patch courtesy Benjamin Drung

	* build.xml: Add patch to build Equinox initializer application.

2009-10-08  Alexander Kurtakov  <akurtako@redhat.com>
    Add pdebuild and companions.
	* pdebuild/eclipse-copy-platform.sh: New file.
	* pdebuild/eclipse-pdebuild.sh: Likewise.

2009-10-07  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/eclipse-pde.build-add-package-build.patch: New file.
	* build.xml: Apply pdebuild script patch.

2009-10-07  Andrew Overholt  <overholt@redhat.com>

	* runtests.sh: Add missing line continuation.

2009-10-07  Andrew Overholt  <overholt@redhat.com>

	Bug #291531 - Work courtesy Niels Thykier

	* swt_bundle.sh: Initial checkin (Niels Thykier).
	* build.xml: Add target to call script to extract SWT bundle for
	standalone packaging (Niels Thykier).

2009-10-07  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Install shared dropins folder.

2009-10-07  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Install icon in  /usr/share/pixmaps.

2009-10-07  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Fix patch applying to unbreak build.

2009-10-06  Andrew Overholt  <overholt@redhat.com>

	Bug #291504

	* build.xml: Apply patch from Benjamin Drung to add link to the
	launcher binary in the installation directory.

2009-10-06  Andrew Overholt  <overholt@redhat.com>

	* patches/gtk2.18zorder.patch: Initial check-in of 3.5.1 back-port for
	(https://bugs.eclipse.org/287307).
	* build.xml: Apply GTK 2.18 z-order patch.  Organize patch section a
	bit.

2009-10-05  Andrew Overholt  <overholt@redhat.com>

	* runtests.sh: Move option parsing out of function.
	* build.xml: Generate top-level test report HTML file.

2009-10-05  Alexander Kurtakov  <akurtako@redhat.com>

	* pdebuild.xml: Add macrodef for running the buildScripts generation.

2009-10-04  Andrew Overholt  <overholt@redhat.com>

	* runtests.sh: Ignore missing SDK test properties file if not present
	whem removing.

2009-10-02  Alexander Kurtakov  <akurtako@redhat.com>

	* buildSDKSource.sh: Update ecf tag to the one used for 3.5.1.

2009-10-01  Alexander Kurtakov  <akurtako@redhat.com>

	* pdebuild.xml: Use buildTag variable instead of hard-coded value.

2009-10-01  Alexander Kurtakov  <akurtako@redhat.com>

	* pdebuild.properties: Sync buildId and buildTag with build.properties.
	* pdebuild.xml: Likewise.

2009-09-30  Alexander Kurtakov  <akurtako@redhat.com>

	* build.properties: Separate buildId and buildTag.
	* build.xml: Likewise.

2009-09-30  Alexander Kurtakov  <akurtako@redhat.com>

	* eclipse-build-generatedScripts.tar.bz2: Regenerate for 3.5.1.

2009-09-30  Andrew Overholt  <overholt@redhat.com>

	* buildSDKSource.sh: Don't use "v" prefix for tag of tests.

2009-09-29  Andrew Overholt  <overholt@redhat.com>

	* buildSDKSource.sh: Update for 3.5.1.  Use local Orbit and ECF dumps if
	present.  Check out a version of eclipsebuilder (not HEAD).  Don't generate
	bootstrap build.xml files as part of source fetching.  Fetch ECF sources.
	* build.xml: Use testsBuildLabel and p2.director.version properties from
	build.properties.
	* build.properties: Move testsBuildLabel and p2.director.version here.
	Update default buildId.
	* patches/eclipse-useLocalECFBundles.patch: Initial check-in. Use local ECF
	bundles instead of hitting eclipse.org where possible.
	* patches/eclipse-dontusefullmoonformaster.patch: Initial check-in. Don't use
	internal IBM mirror.

2009-09-25  Andrew Overholt  <overholt@redhat.com>

	* eclipse.desktop: Remove Encoding
	(see http://standards.freedesktop.org/desktop-entry-spec/1.0/apc.html).

2009-09-25  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/tests-nostyletask.patch: New file.
	* build.xml: Apply patch to not use deprecated ant task.
	* junitHelper.xml: Likewise.

2009-09-25  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Delete testBuild folder in clean.

2009-09-24  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Add message requesting posting of results.
	Update URL for downloading (use mirrors).
	* runtests.sh: Add wiki page for posting results.

2009-09-24  Andrew Overholt  <overholt@redhat.com>

	* runtests.sh: Define "plugin-path" for SWT tests.

2009-09-24  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Use ant tasks instead of execs.

2009-09-23  Andrew Overholt  <overholt@redhat.com>

	* runtests.sh: Add some information about failing tests.  Run with
	os/ws/arch specified (at least os is needed for SWT tests).

2009-09-23  Andrew Overholt  <overholt@redhat.com>

	* runtests.sh: Try to clean up between runs of each suite.

2009-09-23  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/eclipse-jdt_launch-customBuild.patch: New file.
	* build.xml: Fix o.e.jdt.launching custombuild.

2009-09-23  Andrew Overholt  <overholt@redhat.com>

	* runtests.sh: Enable all test suites.
	* build.xml: Copy re-named junitHelper.xml instead of genReport.xml

2009-09-23  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Make building of tests depend upon building of SDK.

2009-09-23  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Pass in a timestamp when running the tests.  Copy final test
	results to ${basedir}/testResults-${timestamp}.  Copy vncpwd file for use.
	* runtests.sh: Rename genReport function to genHtml.  Handle test suites
	with multiple XML output files.  Add ability to pass in timestamp.
	Document VNC password.
	* junitHelper.xml: Rename from genReport.xml.
	* eclipse-tests-vncpwd: Initial checkin.  Default VNC password of
	VNCpassword1.

2009-09-22  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Copy the test installation into a sub-directory.  Copy
	genReport.xml and runtests.sh into test installation parent directory.
	Add runTests target.
	* runtests.sh: Add all test suites back (don't know if they all work,
	but ...).  Add FIXME to remember to deal with plugins that have multiple
	suites.

2009-09-22  Andrew Overholt  <overholt@redhat.com>

	* genReport.xml: Initial checkin.  Generate HTML from the JUnit XML output.
	* runtests.sh: Initial checkin.  Run the SDK tests after a build (will be
	in build.xml in the near future).
	* build.properties: Add testsBuildID.
	* build.xml: Add multilib property to allow use of /usr/lib64.  Add
	getInstallationDir target to test for multilib and 64-bit architecture.
	Add provisioning of tests into test installation directory.

2009-09-22  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/eclipse-help-toolbar.patch: New file.
	* build.xml: Appy the help toolbar patch.

2009-09-21  Andrew Overholt  <overholt@redhat.com>

	* buildEclipseBuildSource.sh: Make default tag 0.3.1.

2009-09-21  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Add stamp for inserting the build ID.

2009-09-21  Andrew Overholt  <overholt@redhat.com>

	Bug #289938

	* build.xml: Add install target to install provisioned SDK (courtesy
	Benjamin Drung).
	* eclipse.desktop: Initial checking (courtesy Benjamin Drung).

2009-09-21  Andrew Overholt  <overholt@redhat.com>

	Bug #289939

	* build.xml: Apply patch from Benjamin Drung to add stamp files for
	provisioning SDK and other targets.

2009-09-15  Andrew Overholt  <overholt@redhat.com>

	* patches/tests-noapttests.patch: New file.  Patch for eclipse bug #244178.
	* build.xml: Fix "scriptsPreset" typo.  Build test framework and SDK tests.
	* buildSDKSource.sh: Add fetching of test scripts not included elsewhere.

2009-08-27  Andrew Overholt  <overholt@redhat.com>

	Bug #286824

	* build.xml: Re-name "init" target to "unpack".  Add stamp files to
	allow skipping previously-done targets.  Comment out some JVM args
	for director call that caused issues on Debian.  All courtesy
	Niels Thykier.

2009-08-27  Andrew Overholt  <overholt@redhat.com>

	Bug # 287758

	* build.properties: Add default-java JVM path for Debian (courtesy
	Benjamin Drung).
	* pdebuild.properties: Likewise.

2009-08-27  Andrew Overholt  <overholt@redhat.com>

	Bug #287753

	* build.xml: Add patch to not modify JAVA_HOME and to optimize compilation
	of liblocalfile.so (from Benjamin Drung).
	* patches/donotsetjavahomeandoptimizeliblocalfile.patch: New patch.

2009-08-27  Andrew Overholt  <overholt@redhat.com>

	Bug #287752

	* build.xml: Add patch to not store build logs in separate files (from
	Benjamin Drung).
	* patches/donotstorebuildlogsinfiles.patch: New patch.

2009-08-26  Andrew Overholt  <overholt@redhat.com>

	Bug #287719

	* build.xml: Add distclean target (from Benjamin Drung).

2009-08-24  Andrew Overholt  <overholt@redhat.com>

	Bug #286826

	* build.sh: Apply patch to tee to a log file from Niels Thykier.

2009-08-14  Andrew Overholt  <overholt@redhat.com>

	Bug #286571

	* buildEclipseBuildSource.sh: Apply fixes from nthykier for bash-isms.
	* buildSDKSource.sh: Likewise.

2009-08-11  Alexander Kurtakov  <akurtako@redhat.com>

	* buildEclipseBuildSource.sh: Create 0.3.0 by default.
	* build.sh: Remove test output.

2009-08-06  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/eclipse-buildswtnatives.patch: Remove ia64 part.

2009-08-01  Alexander Kurtakov  <akurtako@redhat.com>

	* build.sh: Add ppc64 support to build.sh.

2009-07-31  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Move properties definition to a place where all task can use them.
	             Disable libgnomeproxy build for now.

2009-07-23  Alexander Kurtakov  <akurtako@redhat.com>

	* build.sh: Remove not needed part.
	* build.xml: Enable native parts compilation.

2009-07-22  Andrew Overholt  <overholt@redhat.com>

	Bug #280686

	* build.sh: Wrap ant call with arch-finding logic.

2009-07-22  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Don't pass buildConfig to buildConfiguration.xml.

2009-07-22  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Remove erroneous depends= between run.director and p2prep.

2009-07-21  Andrew Overholt  <overholt@redhat.com>

	* publishProduct.xml: Initial commit.

2009-07-20  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Add some debugging of content.{xml,jar}.

2009-07-20  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Use new org.eclipse.equinox.p2.director app.  Split p2prep
	into multiple targets to ease debugging.

2009-07-20  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Use antrunner from bootstrap to run targets that need Eclipse
	extension points.  Add target to generate build.xml files for PDE Build
	boostrapping.  Extract pre-generated build.xml files before building.
	Don't fail if basebuilder (bootstrap)'s p2 folder doesn't exist and we try
	to move it.

2009-07-20  Andrew Overholt  <overholt@redhat.com>

	* pdebuild.properties: Hard-code build ID.  Don't use ecj for
	bootstrapping since we don't necessarily have it around.
	* build.xml: Default to bootstrapping. Use bootstrapped launcher jar by
	default.
	* pdebuild.xml: Add bundles required by director app to list of bundles to
	bootstrap. Zip and symlink base framework plugins.  Add target for
	generating bootstrapping build scripts.
	* bootstrap/configuration/config.ini: Add bundles required by director app
	to osgi.bundles. Remove unnecessary osgi.framework properties. Add eof
	property.
	* eclipse-build-generatedScripts.tar.bz2: Initial checkin of generated
	build scripts for bootstrapping.

2009-07-15  Alexander Kurtakov  <akurtako@redhat.com>

	* buildSDKSource.sh: Fix source tarball generation to include build.xml files for bootstrap.

2009-07-08  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Use untar instead of shell command.
	* pdebuild.xml: Exclude source bundles from orbit deps.
	* generatebuild.xml: Remove old commented code.

2009-07-08  Andrew Overholt  <overholt@redhat.com>

	* pdebuild.xml: Work around duplicate org.eclipse.equinox.http.jetty.
	* pdebuild.properties: Copy some properties over from build.properties.

2009-07-07  Alexander Kurtakov  <akurtako@redhat.com>

	* pdebuild.xml: Add second bootstrap stage.
	* bootstrap/configuration/config.ini: Make paths more sane.

2009-06-30  Alexander Kurtakov  <akurtako@redhat.com>

	* bootstrap/configuration/config.ini: Point to the bootstrap folder.
	* pdebuild.properties: New file.
	* pdebuild.xml: Fix build of pde.build with the new sources.

2009-06-25  Alexander Kurtakov  <akurtako@redhat.com>

	* build.properties: Remove hardcoded sdkSource property.
	* pdebuild.xml: Add target for generating scripts.

2009-06-23  Andrew Overholt  <overholt@redhat.com>

	* README.mediawiki: Assume tarball usage.

2009-06-23  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Fail if source tarball not present.  Copy build config and
	feature instead of untarring (bug #281135).
	* build.properties: Don't set buildDirectory here.  Do it in build.xml
	instead.  Define featureToBuild here.
	* buildSource.sh: Run both SDK source fetching and eclipse-build fetching.
	* buildSDKSource.sh: Re-name buildSource.sh to indicate just fetching of
	SDK sources.  Default to $(pwd) instead of /tmp/eclipseSDKBuild.  Don't
	fetch tests by default.
	* buildEclipseBuildSource.sh: New file.  Create tarball of eclipse-build
	source.
	* README.mediawiki: Update a bit.

2009-06-23  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Remove unused targets.

2009-06-23  Alexander Kurtakov  <akurtako@redhat.com>

	* directory.txt: Removed; no longer necessary.

2009-06-23  Alexander Kurtakov  <akurtako@redhat.com>

	* retrieve_map.sh: Removed; no longer necessary.

2009-06-23  Alexander Kurtakov  <akurtako@redhat.com>

	* assemble.xml: Removed; no longer necessary.
	* fetch.xml: Likewise.
	* build.xml: Remove old targets.

2009-06-22  Andrew Overholt  <overholt@redhat.com>

	Bug #280684

	* ABOUT.mediawiki: Add some bug links and a bit more documentation.
	* build.xml: Default to 3.5 final build ID.
	* README.mediawiki: Update a bit with how to test.

2009-06-22  Andrew Overholt  <overholt@redhat.com>

	* build.properties: Don't set p2.{metadata,artifact}.repo.name.

2009-06-22  Andrew Overholt  <overholt@redhat.com>

	Bug #280681

	* build.xml: Explicitly set eclipse.p2.data.area as a JVM argument when
	running director.

2009-06-22  Andrew Overholt  <overholt@redhat.com>

	Bug #280679

	* build.xml: Define productFiles globally.  Generate feature for root
	files.  To use this, ensure eclipse-build-config is up to date --
	especially the generated tarball of it.

2009-06-18  Andrew Overholt  <overholt@redhat.com>

	* buildSource.sh: Set workspace and user.home during fetching. Make 3.5
	build ID the default. Add -noTests flag to not fetch the tests' source.
	* build.xml: Make default target build and provision.

2009-06-17  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Fix path for builtZip.  Remove extraneous "mkdir
	${buildRepo}".

2009-06-17  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Build directly from build config. Do p2 director installation.
	* generatebuild.xml: Explicitly enable flattenDependencies and
	parallelCompilation.

2009-06-15  Andrew Overholt  <overholt@redhat.com>

	* buildSource.sh: Replace example build ID with probably 3.5 one.

2009-06-10  Alexander Kurtakov  <akurtako@redhat.com>

	* buildSource.sh: Fix builder and feature path.

2009-06-09  Andrew Overholt  <overholt@redhat.com>

	* buildSource.sh: Generate tarballs for builder and feature.

2009-06-09  Andrew Overholt  <overholt@redhat.com>

	* patches/cleanupMaster.patch: Remove.
	* build.xml: Set eclipse.pdebuild.scripts property.  Use
	"eclipse-build-feature" feature and builder.  Use a fake home directory
	for the builds.  Change buildID to buildId everywhere.  Remove unnecessary
	cleanupMaster patch.  Pass property file to antRunner calls.  Build with
	antRunner and not plain ant.  Temporarily make assemble not depend upon
	compilelibs (for testing).
	* build.properties: Change buildID to buildId.  Remove parallel compilation
	and flattenDependencies for now.  Don't generate API descriptions.
	Fully-expand bootclasspath (need to be more generic here).  Add
	OSGi/Minimum-1.2 BREE.  Full expand BREEs for use with antRunner (somehow
	it doesn't expand in-file properties).

2009-06-02  Andrew Overholt  <overholt@redhat.com>

	* build.xml: Make bootstrap stuff default but allow over-riding.  Add
	init target to do extraction of buildSource.sh-generated tarball.  Move
	insertBuildId and applyPatches targets here.  Add package target for
	debugging use.  Add full paths everywhere.
	* generatebuild.xml: Use a fetched feature instead of generating one.
	Pass buildDirectory property.
	* patches/cleanupMaster.patch: Initial checkin.  Don't include some SWT
	fragments.
	* build.properties: Don't hard-code plugin or feature ID.  Set other
	BREEs.  Update buildDirectory to reflect buildSource.sh output.
	* patches/eclipse-swt-buildagainstxulrunner.patch: Update to use unstable
	XULRunner headers (dom/ files).
	* assemble.xml: Call assemble and package files for feature we're building.

2009-05-26  Andrew Overholt  <overholt@redhat.com>

	* buildSource.sh: Name tarballs and contained directories better.

2009-05-26  Andrew Overholt  <overholt@redhat.com>

	* patches/eclipse-addFetchMasterAndTestsTargets.patch: Initial commit.
	Adds targets to org.eclipse.releng.eclipsebuilder/buildAll.xml
	* buildSource.sh: Cleanups.  Fetch both the master feature and the SDK
	tests feature.  Build .tar.bz2 files for both fetches.

2009-05-25  Andrew Overholt  <overholt@redhat.com>

	* buildSource.sh: Simple testing script to follow upstream procedures. *Very*
	preliminary.

2009-05-20  Alexander Kurtakov  <akurtako@redhat.com>

	* build.properties: Newer I-build.

2009-05-15  Andrew Overholt  <overholt@redhat.com>

	* README.mediawiki: Fix some typos.
	* ABOUT.mediawiki: Some cleanups.  Make lines < 80 characters.
	* build.sh: Fix typo.

2009-05-14  Alexander Kurtakov  <akurtako@redhat.com>

	* build.properties: Next I-build.
	* build.sh: Delete ecj.jar before copying.

2009-05-13  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Remove pdebuildClasspath - not needed anymore.

2009-05-13  Alexander Kurtakov  <akurtako@redhat.com>

	* build.sh: New file.
	* build.properties: New I-build. Add properties needed to build with ecj.

2009-05-12  Alexander Kurtakov  <akurtako@redhat.com>

	* productize.xml: Removed. Left over from before enabling p2.gathering.
	* build.properties: New I-build.

2009-05-11  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Simplify ant call for devBuilds. Patch by Marvin Schmidt.

2009-05-11  Alexander Kurtakov  <akurtako@redhat.com>

	* assemble.xml: Simplify.
	* bootstrap/configuration/config.ini: Add o.e.pde.api.tools.
	* build.properties: generateAPIDescription=true
	* pdebuild.xml: Add o.e.pde.api.tools.

2009-05-11  Alexander Kurtakov  <akurtako@redhat.com>

	* assemble.xml: Use properties from the properties file.
	* build.properties: Extract some properties here and switch to neweer build.

2009-05-06  Alexander Kurtakov  <akurtako@redhat.com>

	* assemble.xml: Changes to make the build finish with p2.gathering=true.
	* bootstrap/configuration/config.ini: Likewise.
	* build.properties: Likewise.
	* build.xml: Likewise.
	* pdebuild.xml: Likewise.

2009-04-29  Alexander Kurtakov  <akurtako@redhat.com>
	Make p2.gathering=true by default.
	* assemble-p2.xml: Removed.
	* build-p2.xml: Removed.
	* generatebuild-p2.xml: Removed.
	* p2.properties: Removed.
	* assemble.xml: New file.
	* productize.xml: New file.
	* bootstrap/configuration/config.ini: Latest p2 test.
	* build.properties: Likewise.
	* build.xml: Likewise.
	* pdebuild.xml: Likewise.

2009-04-22  Alexander Kurtakov  <akurtako@redhat.com>
	Apply patch from #272820 and update to newer I-build.
	* build-p2.xml: Remove unneede parts.
	* build.properties: Externalize sdkSource.
	* build.xml: Remove unneeded parts.
	* fetch.xml: Move distSrc here and modify it to create a patche sources tar.bz2.
	* pdebuild.xml: Remove unneeded parts.

2009-04-18  Alexander Kurtakov  <akurtako@redhat.com>

	* assemble-p2.xml: New file.
	* build-p2.xml: Sync with main build.
	* generatebuild-p2.xml: Likewise.
	* build.properties: Externalise some properties here.
	* build.xml: Fix buildArch usage and remove not needed props.
	* fetch.xml: Fix buildId in the sources.
	* p2.properties: Keep only p2 specific properties.

2009-04-16  Alexander Kurtakov  <akurtako@redhat.com>

	* build.properties: Switch to latest I-build.

2009-04-14  Alexander Kurtakov  <akurtako@redhat.com>

	* build.properties: Switch to latest I-build.

2009-04-09  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Add distSrc target.

2009-04-09  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/eclipse-swt-buildagainstxulrunner.patch: New file.
	* build.xml: Compile native parts.
	* fetch.xml: Apply one more patch.

2009-04-09  Alexander Kurtakov  <akurtako@redhat.com>
	Switch docs to mediawiki format.
	* .settings: New file.
	* ABOUT.mediawiki: New file.
	* README.mediawiki: New file.
	* TODO.mediawiki: New file.
	* ABOUT: Removed.
	* README: Removed.
	* TODO: Removed.
	* build.xml: Manually insert ecf bundles in the resulting zip.

2009-04-08  Alexander Kurtakov  <akurtako@redhat.com>
	Apply modified patch from #271657 and add a playground for p2 based build.
	* build-p2.xml: New file.
	* generatebuild-p2.xml: New file.
	* p2.properties: New file.
	* build.xml: Make sdkSource property configurable.
	* fetch.xml: Likewise.
	* pdebuild.xml: Likewise.

2009-04-08  Alexander Kurtakov  <akurtako@redhat.com>

	* fetch.xml: Fix icu.source to be fetched only once. Add property to control fetch.

2009-04-08  Alexander Kurtakov  <akurtako@redhat.com>

	* build.properties: New I-build.
	* build.xml: Invoke packake.* to finish build.
	* fetch.xml: Fetch com.ibm.icu.source bundle due to problem in srcIncluded.

2009-04-02  Alexander Kurtakov  <akurtako@redhat.com>

	* bootstrap/configuration/config.ini: Fix director run.
	* build.properties: Switch to latest I-build.
	* pdebuild.xml: Fix director run.

2009-04-01  Alexander Kurtakov  <akurtako@redhat.com>

	* bootstrap/configuration/config.ini: Add new p2.repository to the classpath.
	* build.properties: Switch to new I-build.
	* patches/eclipse-buildswtnatives.patch: Update patch.
	* pdebuild.xml: Add new p2.repository to the classpath.

2009-03-31  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Move apply-patches to fetch.xml.
	* fetch.xml: Likewise.

2009-03-27  Alexander Kurtakov  <akurtako@redhat.com>

	* build.properties: Put buildID here.
	* fetch.xml: Move buildId to build.properties.

2009-03-27  Alexander Kurtakov  <akurtako@redhat.com>
	Use symlinks to ease switching to new builds. Thanks to Marvin Schmidt.
	* bootstrap/configuration/config.ini: Use symlink instead of versioned dir.
	* build.xml: Likewise. Add cleanAll target.
	* fetch.xml: Add clean target.
	* pdebuild.xml: Enhance clean target. Create symlinks for o.e.osgi and o.e.equinox.launcher.

2009-03-26  Alexander Kurtakov  <akurtako@redhat.com>

	* build.properties: Define javacSource and javacTarget here.
	* build.xml: Build hack again.
	* fetch.xml: New I-build.

2009-03-25  Alexander Kurtakov  <akurtako@redhat.com>

	* prepare_elements.sh: Removed.
	* generatebuild.xml: Preparing elements done in ant instead of sh. Patch by Marvin Schmidt.

2009-03-25  Alexander Kurtakov  <akurtako@redhat.com>

	* pdebuild.xml: New file.
	* bootstrap/configuration/config.ini: Adapt to latest I-build.
	* build.properties: Add buildArch.
	* build.xml: Pde-build bootstrap in new file.
	* fetch.xml:  Adapt to latest I-build.
	* generatebuild.xml: Format.

2009-03-22  Alexander Kurtakov  <akurtako@redhat.com>

	* bootstrap/configuration/config.ini: Adapt to pdebuild changes.
	* build.properties: Flatten dependencies.
	* build.xml: Simplify build step.
	* fetch.xml: Simplify srcBuild definition.

2009-03-03  Alexander Kurtakov  <akurtako@redhat.com>

	* fetch.xml: Remove so files after unzipping.

2009-02-24  Alexander Kurtakov  <akurtako@redhat.com>

	* patches/eclipse-buildswtnatives.patch: New file.
	* build.xml: Add patch for building swt native parts.

2009-02-23  Alexander Kurtakov  <akurtako@redhat.com>

	* generatebuild.xml: Allow passing buildArch as a parameter.
	* README: Add info about the -DbuildArch parameter needed.
	* build.properties: Remove buildArch it needs to be passed as a parameter.
	* build.xml: Allow passing buildArch as a parameter.

2009-02-20  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Invoke jarIn by default.

2009-02-20  Alexander Kurtakov  <akurtako@redhat.com>

	* fetch-sources.sh: Removed.
	* build.xml: Set archivePrefix.
	* README: Remove not needed step for running fetch-sources.

2009-02-20  Alexander Kurtakov  <akurtako@redhat.com>

	* bootstrap/configuration/config.ini: Add o.e.equinox.launcher to the osgi.bundles.
	* test.properties: Removed.
	* build.properties: New file. Renamed from test.properties.
	* build.xml: Build with arch set and start of jaring task.
	* generatebuild.xml: Generate only for the specified arch.

2009-02-11  Alexander Kurtakov  <akurtako@redhat.com>

	* build.xml: Ugly hack to fix build with 3.5 M5.

2009-02-04  Alexander Kurtakov  <akurtako@redhat.com>

	* bootstrap/configuration/config.ini: Update to 3.5 M5.
	* build.xml: Likewise.
	* fetch.xml: Likewise.

2009-01-06  Alexander Kurtakov  <akurtakov@gmail.com>

	* build.xml: Hook in fetch.xml to download the needed zips directly from ant.
	* fetch.xml: Rename fileName to not conflict with build.xml.

2009-01-05  Alexander Kurtakov  <akurtakov@gmail.com>

	* fetch.xml: Rewrite fetching as ant task to be able to embed it in the main build.xml.

2008-12-18  Alexander Kurtakov  <akurtakov@gmail.com>

	* build.xml: org.eclipse.update.core is not needed for bootstraping.

2008-12-17  Alexander Kurtakov  <akurtakov@gmail.com>

	* build.xml: Simplify delete.
	* generatebuild.xml: Build scripts should be regenerated with recursive call and only for linux, gtk.

2008-12-17  Alexander Kurtakov  <akurtakov@gmail.com>

	* bootstrap/configuration/config.ini: Fix osgi bundles.
	* build.xml: Correctly ignore source bundles when coping.
	* prepare_elements.sh: Ignore the correct jetty.

2008-12-17  Alexander Kurtakov  <akurtakov@gmail.com>

	* bootstrap/configuration/config.ini: Update with 3.5M4 needed plugins.
	* build.xml: fix bootstrap plugins for 3.5M4. Fix launcher path. Include ecf to orbitDeps.
	* fetch-sources.sh: Jump to 3.5M4.
	* ABOUT: New file.
	* TODO: Add some overall plan.

2008-12-15  Alexander Kurtakov  <akurtakov@gmail.com>

	* build.xml: Set ws and os properties to build only linux-gtk. Set arch too.

2008-12-12  Alexander Kurtakov  <akurtakov@gmail.com>

	* build.xml: Build sdk feature not rcp.
	* generatebuild.xml: Add some echo.

2008-12-11  Alexander Kurtakov  <akurtakov@gmail.com>

	* TODO: More tod entries.

2008-12-11  Alexander Kurtakov  <akurtakov@gmail.com>

	* build.xml: Enable buildAll invocation by default now that it is working.
	* README: Update to the current state.
	* TODO: Fix todo entries.

2008-12-09  Alexander Kurtakov  <akurtakov@gmail.com>

	* README: Update to the current state.

2008-12-08  Alexander Kurtakov  <akurtakov@gmail.com>

	* build.xml: Don't copy source features, generate them. Add temp task for clean.
	* generatebuild.xml: Generate source features.
	* test.properties: Remove not needed properties.

2008-12-03  Alexander Kurtakov  <akurtakov@gmail.com>

	* TODO: Add todo about equinox.http.jetty bundle name.
	* build.xml: Switch default task to one step further generateBuildScripts.
	* prepare_elements.sh: Skip equinox.http.jetty bundle.
	* test.properties: Add properties needed for compilation.

2008-11-26  Alexander Kurtakov  <akurtakov@gmail.com>

	* TODO: Update todo items.
	* prepare_elements.sh: New file.
	* build.xml: Copy all plugins to be build, rename wherever needed.
	* generatebuild.xml: Regenerate build.xml files for all the plugins.


2008-11-20  Alexander Kurtakov  <akurtakov@gmail.com>

	* pdebuild.xml: Renamed to build.xml.
	* build.xml: New file.
	* README: Update with the latest locations and info.
	* TODO: Remove the sample build.xml generation which is done.

2008-11-20  Alexander Kurtakov  <akurtakov@gmail.com>

	* pdebuild.xml: Fix plugin order in depsDir. Make collectBootstrapPlugins depend on zipPlugins.

2008-11-19  Andrew Overholt  <overholt@redhat.com>

	* test.properties: New file.
	* bootstrap/configuration/config.ini: Add com.ibm.icu, org.apache.ant,
	org.eclipse.update.configurator and org.junit to osgi.bundles. Could perhaps be
	trimmed.
	* generatebuild.xml: Refactor a bit. Generate a feature before generating plugin
	build.xml files.
	* pdebuild.xml: Organize and clean up depsDirs. Add Orbit deps like JUnit and
	ICU4J. Build in a 'build' directory and clean it beforehand.

2008-11-19  Andrew Overholt  <overholt@redhat.com>

	* bootstrap/configuration/config.ini: Remove runtime.compatibility.registry.  Remove ignoreApp.
	* generatebuild.xml: Remove osgi from bundles list.

2008-11-19  Andrew Overholt  <overholt@redhat.com>

	* generatebuild.xml: Fix path to include bootstrap/plugins.
	* pdebuild.xml: Move things to SDK directory.
	* fetch-sources.sh: Likewise.
	* bootstrap: New directory.
	* bootstrap/configuration/config.ini: Fix up osgi.bundles and set osgi.install.area.
	* eclipse.ini: Remove for now (we don't need it).
