[eclipse-jbosstools] Initial import (#837726)

Gerard Ryan galileo at fedoraproject.org
Thu Aug 2 13:34:08 UTC 2012


commit 7ebaef43440d8e82c37610edffcaf6a764eedc34
Author: Gerard Ryan <gerard at ryan.lt>
Date:   Thu Aug 2 14:33:24 2012 +0100

    Initial import (#837726)

 .gitignore                                         |    1 +
 LICENSE-2.0.txt                                    |  202 +++++++
 ...ls-archives-core-ArchivesUnmarshallerImpl.patch |   57 ++
 ...-jbosstools-archives-core-archivesbuilder.patch |   29 +
 ...-jbosstools-archives-core-buildproperties.patch |   25 +
 eclipse-jbosstools-archives-core-manifest.patch    |   29 +
 ...osstools-archives-core-modeltruezipbridge.patch |  186 ++++++
 eclipse-jbosstools-archives-core-trueziputil.patch |  163 ++++++
 eclipse-jbosstools-archives.patch                  |   32 +
 eclipse-jbosstools-as-archives.webtools.patch      |  533 +++++++++++++++++
 eclipse-jbosstools-as-methodVisibility.patch       |   11 +
 eclipse-jbosstools-as.core.patch                   |   49 ++
 eclipse-jbosstools-as.dmr.patch                    |   33 ++
 eclipse-jbosstools-as.mgmt.as71.patch              |   86 +++
 eclipse-jbosstools-as.patch                        |   27 +
 eclipse-jbosstools-cdi.patch                       |   30 +
 eclipse-jbosstools-common.patch                    |   46 ++
 eclipse-jbosstools-freemarker.patch                |   62 ++
 eclipse-jbosstools-jmx.patch                       |   25 +
 eclipse-jbosstools-jst.patch                       |   27 +
 eclipse-jbosstools-parent-pom.patch                |  133 +++++
 eclipse-jbosstools-target-platform.patch           |   87 +++
 eclipse-jbosstools-usage.patch                     |   27 +
 eclipse-jbosstools-ws.patch                        |   43 ++
 eclipse-jbosstools-x86.patch                       |   58 ++
 eclipse-jbosstools-x86_64.patch                    |   34 ++
 eclipse-jbosstools.spec                            |  601 ++++++++++++++++++++
 lgpl-2.1.txt                                       |  502 ++++++++++++++++
 sources                                            |    1 +
 29 files changed, 3139 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..974b74d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/eclipse-jbosstools-3.3.1.Final-CLEAN.tar.xz
diff --git a/LICENSE-2.0.txt b/LICENSE-2.0.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE-2.0.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/eclipse-jbosstools-archives-core-ArchivesUnmarshallerImpl.patch b/eclipse-jbosstools-archives-core-ArchivesUnmarshallerImpl.patch
new file mode 100644
index 0000000..28fff09
--- /dev/null
+++ b/eclipse-jbosstools-archives-core-ArchivesUnmarshallerImpl.patch
@@ -0,0 +1,57 @@
+--- archives/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/xb/ArchivesUnmarshallerImpl.java.orig	2012-07-03 13:31:38.230243435 +0100
++++ archives/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/xb/ArchivesUnmarshallerImpl.java	2012-07-03 00:44:10.000000000 +0100
+@@ -25,6 +25,7 @@
+ import org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler;
+ import org.xml.sax.EntityResolver;
+ import org.xml.sax.ErrorHandler;
++import org.xml.sax.InputSource;
+ 
+ /**
+  * Unmarshaller implementation.
+@@ -168,6 +169,30 @@
+ 		return builder.getRoot();
+ 	}
+ 
++	public Object unmarshal(InputSource is, ObjectModelFactory factory,
++				Object root) throws JBossXBException {
++		if(builder == null) {
++			builder = new ObjectModelBuilder();
++		}
++		builder.init(factory, root);
++		parser.parse(is, builder);
++		return builder.getRoot();
++	}
++
++
++	public Object unmarshal(InputSource source, SchemaBinding schemaBinding) throws JBossXBException {
++		JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaBinding);
++		parser.parse(source, cHandler);
++		return cHandler.getRoot();
++	}
++
++	public Object unmarshal(InputSource source,
++				SchemaBindingResolver schemaResolver) throws JBossXBException {
++		JBossXBParser.ContentHandler cHandler = new SundayContentHandler(schemaResolver);
++		parser.parse(source, cHandler);
++		return cHandler.getRoot();
++	}
++
+ 	public Object unmarshal(String systemId, ObjectModelFactory factory,
+ 			Object root) throws JBossXBException {
+ 		if (builder == null) {
+@@ -199,4 +224,15 @@
+ 	public JBossXBParser getParser() {
+ 		return parser;
+ 	}
++
++	public void setWarnOnParserErrors(boolean value)
++	{
++		parser.setWarnOnParserErrors(value);
++	}
++
++	public boolean isWarnOnParserErrors()
++	{
++		return parser.getWarnOnParserErrors();
++	}
++
+ }
diff --git a/eclipse-jbosstools-archives-core-archivesbuilder.patch b/eclipse-jbosstools-archives-core-archivesbuilder.patch
new file mode 100644
index 0000000..e0d2ace
--- /dev/null
+++ b/eclipse-jbosstools-archives-core-archivesbuilder.patch
@@ -0,0 +1,29 @@
+--- archives/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/project/ArchivesBuilder.java.orig	2012-07-03 00:49:54.000000000 +0100
++++ archives/plugins/org.jboss.ide.eclipse.archives.core/src/eclipse/org/jboss/ide/eclipse/archives/core/project/ArchivesBuilder.java	2012-07-03 00:53:18.000000000 +0100
+@@ -10,6 +10,8 @@
+  ******************************************************************************/
+ package org.jboss.ide.eclipse.archives.core.project;
+ 
++import java.io.IOException;
++
+ import java.util.Comparator;
+ import java.util.Map;
+ import java.util.TreeSet;
+@@ -87,7 +89,9 @@
+ 			IArchiveNode[] nodes = root.getChildren(IArchiveNode.TYPE_ARCHIVE);
+ 			for( int i = 0; i < nodes.length; i++ ) {
+ 				IPath path = ((IArchive)nodes[i]).getArchiveFilePath();
+-				TrueZipUtil.deleteAll(path);
++				try {
++				    TrueZipUtil.deleteAll(path);
++				} catch (IOException e) { /* I don't know */ }
+ 			}
+ 		}
+ 	}
+@@ -183,4 +187,4 @@
+ 			}
+ 		});
+ 	}
+-}
+\ No newline at end of file
++}
diff --git a/eclipse-jbosstools-archives-core-buildproperties.patch b/eclipse-jbosstools-archives-core-buildproperties.patch
new file mode 100644
index 0000000..87dc3bc
--- /dev/null
+++ b/eclipse-jbosstools-archives-core-buildproperties.patch
@@ -0,0 +1,25 @@
+--- archives/plugins/org.jboss.ide.eclipse.archives.core/build.properties.orig	2012-07-03 03:38:34.568411630 +0100
++++ archives/plugins/org.jboss.ide.eclipse.archives.core/build.properties	2012-07-03 03:32:35.142156994 +0100
+@@ -5,13 +5,15 @@
+                LICENSE-truezip.txt,\
+                log4j.xml,\
+                archivescore-eclipse.jar,\
+-               lib/jboss-xml-binding.jar,\
+-               lib/concurrent-1.3.4.jar,\
+-               lib/xercesImpl-2.9.1.jar,\
+-               lib/jboss-common-logging-log4j-2.0.4.GA.jar,\
+-               lib/jboss-common-logging-spi-2.0.4.GA.jar,\
+-               lib/jboss-common-core-2.2.1.GA.jar,\
+-               lib/truezip-6.6.jar,\
++               lib/jbossxb.jar,\
++               lib/concurrent.jar,\
++               lib/xerces-j2.jar,\
++               lib/jboss-logging.jar,\
++               lib/truezip-kernel.jar,\
++               lib/jboss-common-core.jar,\
++               lib/truezip-file.jar,\
++	       lib/truezip-driver-file.jar,\
++	       lib/truezip-driver-zip.jar,\
+                plugin.properties,\
+                about.html
+ source.archivescore.jar = src/main/,\
diff --git a/eclipse-jbosstools-archives-core-manifest.patch b/eclipse-jbosstools-archives-core-manifest.patch
new file mode 100644
index 0000000..d9eb49c
--- /dev/null
+++ b/eclipse-jbosstools-archives-core-manifest.patch
@@ -0,0 +1,29 @@
+--- archives/plugins/org.jboss.ide.eclipse.archives.core/META-INF/MANIFEST.MF.orig	2012-06-24 12:22:54.000000000 +0100
++++ archives/plugins/org.jboss.ide.eclipse.archives.core/META-INF/MANIFEST.MF	2012-07-03 03:04:42.000000000 +0100
+@@ -17,15 +17,17 @@
+ Eclipse-BundleShape: dir
+ Bundle-ClassPath: archivescore.jar,
+  archivescore-eclipse.jar,
+- lib/concurrent-1.3.4.jar,
+- lib/jboss-xml-binding.jar,
+- lib/xercesImpl-2.9.1.jar,
+- lib/jboss-common-logging-log4j-2.0.4.GA.jar,
+- lib/jboss-common-logging-spi-2.0.4.GA.jar,
+- lib/jboss-common-core-2.2.1.GA.jar,
+- lib/truezip-6.6.jar
+-Export-Package: de.schlichtherle.io;x-friends:="org.jboss.ide.eclipse.archives.test",
+- de.schlichtherle.io.archive.spi,
++ lib/concurrent.jar,
++ lib/jbossxb.jar,
++ lib/xerces-j2.jar,
++ lib/jboss-logging.jar,
++ lib/jboss-common-core.jar,
++ lib/truezip-file.jar,
++ lib/truezip-kernel.jar,
++ lib/truezip-driver-file.jar,
++ lib/truezip-driver-zip.jar
++Export-Package: de.schlichtherle.truezip.file;x-friends:="org.jboss.ide.eclipse.archives.test",
++ de.schlichtherle.fs.archive,
+  org.jboss.ide.eclipse.archives.core,
+  org.jboss.ide.eclipse.archives.core.ant,
+  org.jboss.ide.eclipse.archives.core.asf,
diff --git a/eclipse-jbosstools-archives-core-modeltruezipbridge.patch b/eclipse-jbosstools-archives-core-modeltruezipbridge.patch
new file mode 100644
index 0000000..988f282
--- /dev/null
+++ b/eclipse-jbosstools-archives-core-modeltruezipbridge.patch
@@ -0,0 +1,186 @@
+--- archives/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/internal/ModelTruezipBridge.java.orig	2012-07-01 17:29:05.000000000 +0100
++++ archives/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/internal/ModelTruezipBridge.java	2012-07-03 00:48:11.000000000 +0100
+@@ -10,6 +10,8 @@
+  ******************************************************************************/
+ package org.jboss.ide.eclipse.archives.core.util.internal;
+ 
++import java.io.IOException;
++
+ import java.util.ArrayList;
+ import java.util.Arrays;
+ 
+@@ -32,8 +34,8 @@
+ import org.jboss.ide.eclipse.archives.core.util.ModelUtil;
+ import org.jboss.ide.eclipse.archives.core.util.PathUtils;
+ 
+-import de.schlichtherle.io.ArchiveDetector;
+-import de.schlichtherle.io.File;
++import de.schlichtherle.truezip.file.TArchiveDetector;
++import de.schlichtherle.truezip.file.TFile;
+ 
+ /**
+  * This class is meant to bridge between the model
+@@ -41,8 +43,8 @@
+  * API which deals with filesets and packages instead of
+  * raw Strings and paths.
+  *
+- * It will also make sure that a de.schlichtherle.io.File is
+- * created with the proper ArchiveDetector for each and every
++ * It will also make sure that a de.schlichtherle.truezip.TFile is
++ * created with the proper TArchiveDetector for each and every
+  * level, rather than the TrueZipUtil class, which not accurately
+  * create the proper File type for exploded archives.
+  *
+@@ -94,7 +96,7 @@
+ 		filesMonitor.done();
+ 
+ 		// kinda ugly here.   delete all empty folders beneath
+-		File folder = getFile(fileset);
++		TFile folder = getFile(fileset);
+ 		if( !cleanFolder(folder, false) ) {
+ 			IStatus e = new Status(IStatus.ERROR, ArchivesCore.PLUGIN_ID,
+ 					ArchivesCore.bind(ArchivesCoreMessages.ErrorEmptyingFolder,folder.toString()));
+@@ -135,9 +137,13 @@
+ 				new Integer(files.length).toString()), files.length * 100);
+ 		boolean b = true;
+ 		ArrayList<IStatus> list = new ArrayList<IStatus>();
+-		final File[] destFiles = getFiles(files, fileset);
++		final TFile[] destFiles = getFiles(files, fileset);
+ 		for( int i = 0; i < files.length; i++ ) {
++		    try {
+ 			b = TrueZipUtil.copyFile(files[i].getAbsolutePath(), destFiles[i], updateTimestamps);
++		    } catch (IOException e) {
++			b = false;
++		    }
+ 			if( b == false ) {
+ 				list.add(new Status(IStatus.ERROR, ArchivesCore.PLUGIN_ID,
+ 						ArchivesCore.bind(ArchivesCoreMessages.FileCopyFailed,
+@@ -157,10 +163,12 @@
+ 	public static IStatus[] deleteFiles(IArchiveFileSet fileset, final FileWrapper[] files, IProgressMonitor monitor, boolean sync ) {
+ 		monitor.beginTask(ArchivesCore.bind(ArchivesCoreMessages.DeletingCountFiles,
+ 				new Integer(files.length).toString()), files.length * 100);
+-		final File[] destFiles = getFiles(files, fileset);
++		final TFile[] destFiles = getFiles(files, fileset);
+ 		ArrayList<IStatus> list = new ArrayList<IStatus>();
+ 		for( int i = 0; i < files.length; i++ ) {
+-			if( !TrueZipUtil.deleteAll(destFiles[i]) ) {
++		    try { //want to do this if rm_r fails - rm_r will return a TFile
++			if( TrueZipUtil.deleteAll(destFiles[i]).exists() ) { /* nothing special */ }
++			} catch (IOException ioexception) {
+ 				IStatus e = new Status(IStatus.ERROR, ArchivesCore.PLUGIN_ID,
+ 						ArchivesCore.bind(ArchivesCoreMessages.FileDeleteFailed, destFiles[i].toString()));
+ 				list.add(e);
+@@ -175,8 +183,17 @@
+ 
+ 
+ 	public static boolean deleteArchive(IArchive archive) {
+-		final File file = getFile(archive);
+-		boolean b = file.deleteAll();
++		final TFile file = getFile(archive);
++		
++		boolean b = true;
++		try{
++		    TFile tf = file.rm_r();
++		    if (!tf.exists())
++			b = false;
++		} catch (IOException e) {
++		    b = false;
++		}
++		
+ 		TrueZipUtil.sync();
+ 		return b;
+ 	}
+@@ -201,7 +218,7 @@
+ 		return createFile(node, true);
+ 	}
+ 	public static boolean createFile(final IArchiveNode node, boolean sync) {
+-		File f = getFile(node);
++		TFile f = getFile(node);
+ 		if( f == null ) return false;
+ 		if( f.exists() ) return true;
+ 		boolean b = f.mkdirs();
+@@ -218,13 +235,13 @@
+ 	 * @param fs
+ 	 * @return
+ 	 */
+-	private static File[] getFiles(FileWrapper[] inputFiles, IArchiveFileSet fs ) {
++	private static TFile[] getFiles(FileWrapper[] inputFiles, IArchiveFileSet fs ) {
+ 		String filesetRelative;
+-		File fsFile = getFile(fs);
++		TFile fsFile = getFile(fs);
+ 		if( fs == null || fsFile == null )
+-			return new File[]{};
++			return new TFile[]{};
+ 
+-		ArrayList<File> returnFiles = new ArrayList<File>();
++		ArrayList<TFile> returnFiles = new ArrayList<TFile>();
+ 		for( int i = 0; i < inputFiles.length; i++ ) {
+ 			if( inputFiles[i] == null )
+ 				continue;
+@@ -234,18 +251,18 @@
+ 			else
+ 				filesetRelative = inputFiles[i].getFilesetRelative();
+ 
+-			File parentFile;
++			TFile parentFile;
+ 			if(new Path(filesetRelative).segmentCount() > 1 ) {
+ 				String tmp = new Path(filesetRelative).removeLastSegments(1).toString();
+-				parentFile = new File(fsFile, tmp, ArchiveDetector.NULL);
++				parentFile = new TFile(fsFile, tmp, TArchiveDetector.NULL);
+ 				if( parentFile.getEnclArchive() != null )
+-					parentFile = new File(fsFile, tmp, ArchiveDetector.DEFAULT);
++					parentFile = new TFile(fsFile, tmp, TArchiveDetector.ALL);
+ 			} else {
+ 				parentFile = fsFile;
+ 			}
+-			returnFiles.add(new File(parentFile, new Path(filesetRelative).lastSegment(), ArchiveDetector.NULL));
++			returnFiles.add(new TFile(parentFile, new Path(filesetRelative).lastSegment(), TArchiveDetector.NULL));
+ 		}
+-		return (File[]) returnFiles.toArray(new File[returnFiles.size()]);
++		return (TFile[]) returnFiles.toArray(new TFile[returnFiles.size()]);
+ 	}
+ 
+ 
+@@ -259,7 +276,7 @@
+ 	 * @param node
+ 	 * @return
+ 	 */
+-	private static File getFile(IArchiveNode node) {
++	private static TFile getFile(IArchiveNode node) {
+ 		if( node == null ) return null;
+ 
+ 		if( node.getNodeType() == IArchiveNode.TYPE_MODEL_ROOT ) return null;
+@@ -267,27 +284,27 @@
+ 		if( node.getNodeType() == IArchiveNode.TYPE_ARCHIVE_FILESET)
+ 			return getFile(node.getParent());
+ 
+-		File parentFile = getFile(node.getParent());
++		TFile parentFile = getFile(node.getParent());
+ 		if( node.getNodeType() == IArchiveNode.TYPE_ARCHIVE ) {
+ 			IArchive node2 = ((IArchive)node);
+ 			boolean exploded = ((IArchive)node).isExploded();
+-			ArchiveDetector detector = exploded ? ArchiveDetector.NULL : TrueZipUtil.getJarArchiveDetector();
++			TArchiveDetector detector = exploded ? TArchiveDetector.NULL : TrueZipUtil.getJarArchiveDetector();
+ 			if( parentFile == null ) {
+ 				// we're a root archive, and so the destination folder must be a real folder
+ 				IPath p = PathUtils.getGlobalLocation(node2);
+ 				if( p == null ) return null;
+-				parentFile = new File(p.toOSString(), ArchiveDetector.NULL);
++				parentFile = new TFile(p.toOSString(), TArchiveDetector.NULL);
+ 			}
+-			return new File(parentFile, node2.getName(), detector);
++			return new TFile(parentFile, node2.getName(), detector);
+ 		}
+ 		if( node.getNodeType() == IArchiveNode.TYPE_ARCHIVE_FOLDER ) {
+-			return new File(parentFile, ((IArchiveFolder)node).getName(), ArchiveDetector.NULL);
++			return new TFile(parentFile, ((IArchiveFolder)node).getName(), TArchiveDetector.NULL);
+ 		}
+ 		return null;
+ 	}
+ 
+ 	public static String getFilePath(IArchiveNode node) {
+-		File f = getFile(node);
++		TFile f = getFile(node);
+ 		return f == null ? null : f.getAbsolutePath();
+ 	}
+ }
diff --git a/eclipse-jbosstools-archives-core-trueziputil.patch b/eclipse-jbosstools-archives-core-trueziputil.patch
new file mode 100644
index 0000000..07fadb9
--- /dev/null
+++ b/eclipse-jbosstools-archives-core-trueziputil.patch
@@ -0,0 +1,163 @@
+--- archives/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/internal/TrueZipUtil.java.orig	2012-07-01 17:29:12.000000000 +0100
++++ archives/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/internal/TrueZipUtil.java	2012-07-03 00:47:15.000000000 +0100
+@@ -14,11 +14,12 @@
+ 
+ import org.eclipse.core.runtime.IPath;
+ 
+-import de.schlichtherle.io.AbstractArchiveDetector;
+-import de.schlichtherle.io.ArchiveDetector;
+-import de.schlichtherle.io.ArchiveException;
+-import de.schlichtherle.io.archive.spi.ArchiveDriver;
+-import de.schlichtherle.io.archive.zip.Zip32Driver;
++//import de.schlichtherle.truezip.file.AbstractArchiveDetector;
++import de.schlichtherle.truezip.file.TFile;
++import de.schlichtherle.truezip.file.TArchiveDetector;
++import de.schlichtherle.truezip.fs.FsSyncException;
++import de.schlichtherle.truezip.fs.archive.FsArchiveDriver;
++import de.schlichtherle.truezip.fs.archive.zip.ZipDriver;
+ 
+ /**
+  * Accesses raw files with the truezip filesystem
+@@ -27,17 +28,17 @@
+  */
+ public class TrueZipUtil {
+ 
+-	public static de.schlichtherle.io.File getFile(IPath path) {
+-		return getFile(path, ArchiveDetector.DEFAULT);
++	public static de.schlichtherle.truezip.file.TFile getFile(IPath path) {
++		return getFile(path, TArchiveDetector.ALL);
+ 	}
+-	public static de.schlichtherle.io.File getFile(IPath path, ArchiveDetector detector) {
+-		return new de.schlichtherle.io.File(path.toOSString(), detector);
++	public static de.schlichtherle.truezip.file.TFile getFile(IPath path, TArchiveDetector detector) {
++		return new de.schlichtherle.truezip.file.TFile(path.toOSString(), detector);
+ 	}
+ 
+ 	public static boolean pathExists(IPath path) {
+ 		return pathExists( getFile(path));
+ 	}
+-	public static boolean pathExists( de.schlichtherle.io.File file) {
++	public static boolean pathExists( de.schlichtherle.truezip.file.TFile file) {
+ 		return file.exists();
+ 	}
+ 
+@@ -46,7 +47,7 @@
+ 		return getTimestamp( getFile(path));
+ 	}
+ 
+-	public static long getTimestamp(de.schlichtherle.io.File file) {
++	public static long getTimestamp(de.schlichtherle.truezip.file.TFile file) {
+ 		return file.lastModified();
+ 	}
+ 
+@@ -55,28 +56,33 @@
+ 		return copyFile(source, getFile(dest), true);
+ 	}
+ 
+-	public static boolean copyFile(String source, de.schlichtherle.io.File file, boolean updateTimestamps) {
++	public static boolean copyFile(String source, de.schlichtherle.truezip.file.TFile file, boolean updateTimestamps) throws IOException {
+ 		file.getParentFile().mkdirs();
+-		boolean b = new de.schlichtherle.io.File(source, ArchiveDetector.NULL).archiveCopyAllTo(file);
++		de.schlichtherle.truezip.file.TFile tf = new de.schlichtherle.truezip.file.TFile(source, TArchiveDetector.NULL).cp_rp(file);
++
++		boolean b = false;
++		if (tf.exists())
++		    b = true;
++
+ 		return  b && (updateTimestamps ? updateParentTimestamps(file) : true);
+ 	}
+ 
+ 	public static boolean touchFile(IPath path) {
+-		de.schlichtherle.io.File f = getFile(path);
++		de.schlichtherle.truezip.file.TFile f = getFile(path);
+ 		boolean b = f.setLastModified(System.currentTimeMillis());
+ 	    return b && updateParentTimestamps(path);
+ 	}
+ 
+ 
+ 	// Delete methods
+-	public static boolean deleteAll(IPath path, String fileName) {
++	public static TFile deleteAll(IPath path, String fileName) throws IOException {
+ 		return deleteAll(path.append(fileName));
+ 	}
+-	public static boolean deleteAll(IPath path) {
++	public static TFile deleteAll(IPath path) throws IOException {
+ 		return deleteAll(getFile(path));
+ 	}
+-	public static boolean deleteAll(de.schlichtherle.io.File file) {
+-		return file.deleteAll();
++	public static TFile deleteAll(TFile file) throws IOException {
++		return file.rm_r();
+ 	}
+ 
+ 	public static boolean deleteEmptyChildren(java.io.File file) {
+@@ -102,14 +108,14 @@
+ 
+ 
+ 	public static boolean createFolder(IPath parent, String folderName) {
+-		boolean b = new de.schlichtherle.io.File(getFile(parent, ArchiveDetector.DEFAULT), folderName, ArchiveDetector.NULL).mkdirs();
++		boolean b = new de.schlichtherle.truezip.file.TFile(getFile(parent, TArchiveDetector.ALL), folderName, TArchiveDetector.NULL).mkdirs();
+ 		return b && updateParentTimestamps(parent.append(folderName));
+ 	}
+ 	public static boolean createFolder(IPath path) {
+ 		return createFolder(path.removeLastSegments(1), path.lastSegment());
+ 	}
+ 	public static boolean createArchive(IPath parent, String folderName) {
+-		boolean b = new de.schlichtherle.io.File(getFile(parent, ArchiveDetector.DEFAULT), folderName, getJarArchiveDetector()).mkdirs();
++		boolean b = new de.schlichtherle.truezip.file.TFile(getFile(parent, TArchiveDetector.ALL), folderName, getJarArchiveDetector()).mkdirs();
+ 	    return b && updateParentTimestamps(parent.append(folderName));
+ 	}
+ 	public static boolean createArchive(IPath path) {
+@@ -117,8 +123,8 @@
+ 	}
+ 	public static void umount() {
+ 		try {
+-			de.schlichtherle.io.File.umount();
+-		} catch( ArchiveException ae ) {
++			de.schlichtherle.truezip.file.TFile.umount();
++		} catch( FsSyncException ae ) {
+ 		}
+ 	}
+ 
+@@ -141,9 +147,9 @@
+ 	public static boolean updateParentTimestamps(IPath path) {
+ 		return updateParentTimestamps(getFile(path));
+ 	}
+-	public static boolean updateParentTimestamps(de.schlichtherle.io.File file) {
++	public static boolean updateParentTimestamps(de.schlichtherle.truezip.file.TFile file) {
+ 		long time = System.currentTimeMillis();
+-		de.schlichtherle.io.File parent = file;
++		de.schlichtherle.truezip.file.TFile parent = file;
+ 		boolean b = true;
+ 		while( parent != null ) {
+ 			b &= parent.setLastModified(time);
+@@ -153,21 +159,22 @@
+ 	}
+ 
+ 
+-	private static ArchiveDetector JAR_ARCHIVE_DETECTOR;
+-	public static ArchiveDetector getJarArchiveDetector() {
++	private static TArchiveDetector JAR_ARCHIVE_DETECTOR;
++	public static TArchiveDetector getJarArchiveDetector() {
+ 		if( JAR_ARCHIVE_DETECTOR == null ) {
+-			JAR_ARCHIVE_DETECTOR = new JarArchiveDetector();
++			JAR_ARCHIVE_DETECTOR = new TArchiveDetector(null);
+ 		}
+ 		return JAR_ARCHIVE_DETECTOR;
+ 	}
+ 
+-	public static class JarArchiveDetector extends AbstractArchiveDetector {
+-		public ArchiveDriver getArchiveDriver(String arg0) {
+-			return new Zip32Driver();
++    /*
++	public static class JarArchiveDetector extends TArchiveDetector {
++		public FsArchiveDriver getArchiveDriver(String arg0) {
++		    return new ZipDriver(de.schlichtherle.truezip.socket.sl.IOPoolLocator.SINGLETON);
+ 		}
+ 
+ 	}
+-	
++    */	
+ 	
+ 	public static boolean javaIODeleteDir(java.io.File dir) {
+ 	    if (dir.isDirectory()) {
diff --git a/eclipse-jbosstools-archives.patch b/eclipse-jbosstools-archives.patch
new file mode 100644
index 0000000..64aca6a
--- /dev/null
+++ b/eclipse-jbosstools-archives.patch
@@ -0,0 +1,32 @@
+diff -Naur archives.orig/features/org.jboss.ide.eclipse.archives.feature/target/sources-feature/feature.xml archives/features/org.jboss.ide.eclipse.archives.feature/target/sources-feature/feature.xml
+--- archives.orig/features/org.jboss.ide.eclipse.archives.feature/target/sources-feature/feature.xml	1970-01-01 01:00:00.000000000 +0100
++++ archives/features/org.jboss.ide.eclipse.archives.feature/target/sources-feature/feature.xml	2012-06-23 23:51:18.595062894 +0100
+@@ -0,0 +1 @@
++<feature id="org.jboss.ide.eclipse.archives.feature.source" version="3.2.1.qualifier"/>
+\ No newline at end of file
+diff -Naur archives.orig/features/pom.xml archives/features/pom.xml
+--- archives.orig/features/pom.xml	2012-06-23 23:37:38.292680386 +0100
++++ archives/features/pom.xml	2012-06-23 23:15:42.539963009 +0100
+@@ -12,7 +12,7 @@
+ 	<packaging>pom</packaging>
+ 	<modules>
+ 		<module>org.jboss.ide.eclipse.archives.feature</module>
+-		<module>org.jboss.ide.eclipse.archives.test.feature</module>
++		<!--<module>org.jboss.ide.eclipse.archives.test.feature</module>-->
+ 	</modules>
+ </project>
+ 	
+diff -Naur archives.orig/pom.xml archives/pom.xml
+--- archives.orig/pom.xml	2012-06-23 23:37:38.285680519 +0100
++++ archives/pom.xml	2012-06-23 23:51:56.068324062 +0100
+@@ -15,8 +15,8 @@
+ 	<modules>
+ 		<module>features</module>
+ 		<module>plugins</module>
+-		<module>tests</module>
+-        	<module>site</module>
++		<!--<module>tests</module>-->
++        	<!--<module>site</module>-->
+     	</modules>
+ </project>
+ 	
diff --git a/eclipse-jbosstools-as-archives.webtools.patch b/eclipse-jbosstools-as-archives.webtools.patch
new file mode 100644
index 0000000..0f12f4f
--- /dev/null
+++ b/eclipse-jbosstools-as-archives.webtools.patch
@@ -0,0 +1,533 @@
+diff -Naur as/plugins/org.jboss.ide.eclipse.archives.webtools.orig/src/org/jboss/ide/eclipse/archives/webtools/modules/#LocalZippedPublisherUtil.java# as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/#LocalZippedPublisherUtil.java#
+--- as/plugins/org.jboss.ide.eclipse.archives.webtools.orig/src/org/jboss/ide/eclipse/archives/webtools/modules/#LocalZippedPublisherUtil.java#	1970-01-01 01:00:00.000000000 +0100
++++ as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/#LocalZippedPublisherUtil.java#	2012-07-03 16:54:28.537556216 +0100
+@@ -0,0 +1,410 @@
++/******************************************************************************* 
++ * Copyright (c) 2011 Red Hat, Inc. 
++ * Distributed under license by Red Hat, Inc. All rights reserved. 
++ * This program is made available under the terms of the 
++ * Eclipse Public License v1.0 which accompanies this distribution, 
++ * and is available at http://www.eclipse.org/legal/epl-v10.html 
++ * 
++ * Contributors: 
++ * Red Hat, Inc. - initial API and implementation 
++ * 
++ ******************************************************************************/ 
++package org.jboss.ide.eclipse.archives.webtools.modules;
++
++
++
++import java.io.File;
++import java.util.ArrayList;
++import java.util.Arrays;
++import java.util.Iterator;
++import java.util.List;
++
++import org.eclipse.core.runtime.CoreException;
++import org.eclipse.core.runtime.IPath;
++import org.eclipse.core.runtime.IProgressMonitor;
++import org.eclipse.core.runtime.IStatus;
++import org.eclipse.core.runtime.MultiStatus;
++import org.eclipse.core.runtime.NullProgressMonitor;
++import org.eclipse.core.runtime.Status;
++import org.eclipse.osgi.util.NLS;
++import org.eclipse.wst.server.core.IModule;
++import org.eclipse.wst.server.core.IServer;
++import org.eclipse.wst.server.core.internal.Server;
++import org.eclipse.wst.server.core.model.IModuleFile;
++import org.eclipse.wst.server.core.model.IModuleFolder;
++import org.eclipse.wst.server.core.model.IModuleResource;
++import org.eclipse.wst.server.core.model.IModuleResourceDelta;
++import org.jboss.ide.eclipse.archives.core.util.internal.TrueZipUtil;
++import org.jboss.ide.eclipse.archives.webtools.IntegrationPlugin;
++import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
++import org.jboss.ide.eclipse.as.core.Messages;
++import org.jboss.ide.eclipse.as.core.extensions.events.IEventCodes;
++import org.jboss.ide.eclipse.as.core.publishers.PublishUtil;
++import org.jboss.ide.eclipse.as.core.publishers.patterns.IModulePathFilter;
++import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
++import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
++import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
++import org.jboss.ide.eclipse.as.core.util.FileUtil;
++import org.jboss.ide.eclipse.as.core.util.FileUtil.IFileUtilListener;
++import org.jboss.ide.eclipse.as.core.util.ServerConverter;
++import org.jboss.ide.eclipse.as.wtp.core.util.ServerModelUtilities;
++
++import de.schlichtherle.truezip.file.TArchiveDetector;
++
++public class LocalZippedPublisherUtil extends PublishUtil {
++	
++	private String deployRoot;
++	private boolean hasBeenChanged = false;
++	private IModule[] module;
++	private IServer server;
++	public IStatus publishModule(IServer server, String deployRoot, IModule[] module,
++			int publishType, IModuleResourceDelta[] delta,
++			IProgressMonitor monitor) throws CoreException {
++		String name = "Compressing " + module[0].getName(); //$NON-NLS-1$
++		monitor.beginTask(name, 200);
++		monitor.setTaskName(name);
++		this.deployRoot = deployRoot;
++		this.module = module;
++		this.server = server;
++		IStatus[] operationStatus;
++		
++		
++		// Am I a removal? If yes, remove me, and return
++		if( publishType == IJBossServerPublisher.REMOVE_PUBLISH)
++			operationStatus = removeModule(server, deployRoot, module);
++		
++		// Am I a full publish? If yes, full publish me, and return
++		else if( publishType == IJBossServerPublisher.FULL_PUBLISH)
++			operationStatus = fullPublish(server, deployRoot, module); 
++		
++		else {
++			// Am I changed? If yes, handle my changes
++			ArrayList<IStatus> results = new ArrayList<IStatus>(); 
++			if( countChanges(delta) > 0) {
++				results.addAll(Arrays.asList(publishChanges(server, deployRoot, module)));
++			}
++			
++			IModule[] children = server.getChildModules(module, new NullProgressMonitor());
++			results.addAll(Arrays.asList(handleChildrenDeltas(server, deployRoot, module, children)));
++			
++			// Handle the removed children that are not returned by getChildModules
++			List<IModule[]> removed = getBehaviour(server).getRemovedModules();
++			Iterator<IModule[]> i = removed.iterator();
++			while(i.hasNext()) {
++				IModule[] removedArray = i.next();
++				if( removedArray[0].getId().equals(module[0].getId())) {
++					results.addAll(Arrays.asList(removeModule(server, deployRoot, removedArray)));
++				}
++			}
++			operationStatus = (IStatus[]) results.toArray(new IStatus[results.size()]);
++		}
++		TrueZipUtil.umount();
++		
++		IStatus finalStatus = createModuleStatus(module, operationStatus);
++
++		monitor.done();
++		return finalStatus;
++	}
++
++
++	private IStatus createModuleStatus(IModule[] module, IStatus[] operationStatus) {
++		IStatus finalStatus;
++		if( operationStatus.length > 0 ) {
++			MultiStatus ms = new MultiStatus(JBossServerCorePlugin.PLUGIN_ID, IEventCodes.JST_PUB_INC_FAIL, 
++					"Publish Failed for module " + module[0].getName(), null); //$NON-NLS-1$
++			for( int i = 0; i < operationStatus.length; i++ )
++				ms.add(operationStatus[i]);
++			finalStatus = ms;
++		}  else {
++			finalStatus = new Status(IStatus.OK, JBossServerCorePlugin.PLUGIN_ID, 
++					IEventCodes.JST_PUB_FULL_SUCCESS, 
++					NLS.bind(Messages.ModulePublished, module[0].getName()), null);
++		}
++		return finalStatus;
++	}
++	
++
++	protected IDeployableServer getDeployableServer(IServer server) {
++		return (IDeployableServer)server.loadAdapter(IDeployableServer.class, new NullProgressMonitor());
++	}
++	protected DeployableServerBehavior getBehaviour(IServer server) {
++		return (DeployableServerBehavior)server.loadAdapter(DeployableServerBehavior.class, new NullProgressMonitor());
++	}
++	
++	protected List<IModule[]> getRemovedModules(IServer s) {
++		return getBehaviour(s).getRemovedModules();
++	}
++
++	public boolean anyChangesRecurse(IServer server, IModule[] module) {
++		// Since for zipped, incremental and full are identical, just return a result other than 'no publish'
++		if( !getBehaviour(server).hasBeenPublished(module)) 
++			return true;
++		
++		if( isRemoved(server, module))
++			return true;
++		
++		int modulePublishState = server.getModulePublishState(module);
++		if( modulePublishState != IServer.PUBLISH_STATE_NONE)
++			return true;
++		
++		IModuleResourceDelta[] deltas = ((Server)server).getPublishedResourceDelta(module);
++		if( deltas.length > 0)
++			return true;
++		
++		IModule[] children = server.getChildModules(module, new NullProgressMonitor());
++		for( int i = 0; i < children.length; i++ ) {
++			IModule[] tmp = combine(module, children[i]);
++			if(anyChangesRecurse(server, tmp))
++				return true; 
++		}
++		return false;
++	}
++
++	protected IStatus[] handleChildrenDeltas(IServer server, String deployRoot, IModule[] module, IModule[] children) {
++		// For each child:
++		ArrayList<IStatus> results = new ArrayList<IStatus>(); 
++		for( int i = 0; i < children.length; i++ ) {
++			IModule[] combinedChild = combine(module, children[i]);
++			// if it's new, full publish it
++			if( !getBehaviour(server).hasBeenPublished(combinedChild)) {
++				results.addAll(Arrays.asList(fullPublish(server, deployRoot, combinedChild)));
++			}
++			// else if it's removed, full remove it
++			else if( isRemoved(server, combinedChild)) {
++				results.addAll(Arrays.asList(removeModule(server, deployRoot, combinedChild)));
++			}
++			// else 
++			else {
++				// handle changed resources
++				results.addAll(Arrays.asList(publishChanges(server, deployRoot, combinedChild)));
++
++				// recurse
++				IModule[] children2 = server.getChildModules(combinedChild, new NullProgressMonitor());
++				results.addAll(Arrays.asList(handleChildrenDeltas(server, deployRoot, module, children2)));
++			}
++		}
++		return (IStatus[]) results.toArray(new IStatus[results.size()]);
++	}
++	
++	protected boolean isRemoved(IServer server, IModule[] child) {
++		List<IModule[]> removed = getBehaviour(server).getRemovedModules();
++		Iterator<IModule[]> i = removed.iterator();
++		while(i.hasNext()) {
++			IModule[] next = i.next();
++			if( next.length == child.length) {
++				for( int j = 0; j < next.length; j++ ) {
++					if( !next[j].getId().equals(child[j].getId())) {
++						continue;
++					}
++				}
++				return true;
++			}
++		}
++		return false;
++	}
++	
++	protected IStatus[] removeModule(IServer server, String deployRoot, IModule[] module) {
++		IPath deployPath = getOutputFilePath(module);
++        final ArrayList<IStatus> status = new ArrayList<IStatus>();
++		IFileUtilListener listener = new IFileUtilListener() {
++			public void fileCopied(File source, File dest, boolean result,Exception e) {}
++			public void fileDeleted(File file, boolean result, Exception e) {
++				if( result == false || e != null ) {
++					status.add(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID, IEventCodes.JST_PUB_FILE_DELETE_FAIL, 
++							"Attempt to delete " + file.getAbsolutePath() + " failed",e)); //$NON-NLS-1$ //$NON-NLS-2$
++				}
++			}
++			public void folderDeleted(File file, boolean result, Exception e) {
++				if( result == false || e != null ) {
++					status.add(new Status(IStatus.ERROR, JBossServerCorePlugin.PLUGIN_ID, IEventCodes.JST_PUB_FILE_DELETE_FAIL,
++							"Attempt to delete " + file.getAbsolutePath() + " failed",e)); //$NON-NLS-1$ //$NON-NLS-2$
++				}
++			} 
++		};
++		FileUtil.safeDelete(deployPath.toFile(), listener);
++		hasBeenChanged = true;
++		return (IStatus[]) status.toArray(new IStatus[status.size()]);
++	}
++	
++	protected IStatus[] fullBinaryPublish(IServer server, String deployRoot, IModule[] parent, IModule last) {
++		ArrayList<IStatus> results = new ArrayList<IStatus>();
++		try {
++			IPath path = getOutputFilePath(combine(parent, last));
++			path = path.removeLastSegments(1);
++			de.schlichtherle.truezip.file.TFile root = TrueZipUtil.getFile(path, TrueZipUtil.getJarArchiveDetector());
++			IModuleResource[] resources = getResources(last, new NullProgressMonitor());
++			results.addAll(Arrays.asList(copy(root, resources)));
++			TrueZipUtil.umount();
++			return (IStatus[]) results.toArray(new IStatus[results.size()]);
++		} catch( CoreException ce) {
++			results.add(generateCoreExceptionStatus(ce));
++			return (IStatus[]) results.toArray(new IStatus[results.size()]);
++		}
++	}
++	protected IStatus[] fullPublish(IServer server, String deployRoot, IModule[] module) {
++		ArrayList<IStatus> results = new ArrayList<IStatus>();
++		try {
++			IPath path = getOutputFilePath(module);
++			// Get rid of the old
++			FileUtil.safeDelete(path.toFile(), null);
++			
++			TrueZipUtil.createArchive(path);
++			de.schlichtherle.truezip.file.TFile root = TrueZipUtil.getFile(path, TrueZipUtil.getJarArchiveDetector());
++			IModuleResource[] resources = getResources(module);
++			DeployableServerBehavior beh = ServerConverter.getDeployableServerBehavior(server);
++			IModulePathFilter filter = beh.getPathFilter(module);
++			IModuleResource[] resources2 = filter == null ? resources : filter.getFilteredMembers();
++			IStatus[] copyResults = copy(root, resources2);
++			results.addAll(Arrays.asList(copyResults));
++			
++			IModule[] children = server.getChildModules(module, new NullProgressMonitor());
++			publishChildren(server, deployRoot, module, results, children);
++			TrueZipUtil.umount();
++			hasBeenChanged = true;
++			return (IStatus[]) results.toArray(new IStatus[results.size()]);
++		} catch( CoreException ce) {
++			results.add(generateCoreExceptionStatus(ce));
++			return (IStatus[]) results.toArray(new IStatus[results.size()]);
++		}
++	}
++
++
++	private void publishChildren(IServer server, String deployRoot, IModule[] module, ArrayList<IStatus> results,
++			IModule[] children) {
++		if( children == null )
++			return;
++		
++		for( int i = 0; i < children.length; i++ ) {
++			if( ServerModelUtilities.isBinaryModule(children[i]))
++				results.addAll(Arrays.asList(fullBinaryPublish(server, deployRoot, module, children[i])));
++			else
++				results.addAll(Arrays.asList(fullPublish(server, deployRoot, combine(module, children[i]))));
++		}
++	}
++	
++	protected IStatus[] publishChanges(IServer server, String deployRoot, IModule[] module) {
++		IPath path = getOutputFilePath(module);
++		de.schlichtherle.truezip.file.TFile root = TrueZipUtil.getFile(path, TrueZipUtil.getJarArchiveDetector());
++		IModuleResourceDelta[] deltas = ((Server)server).getPublishedResourceDelta(module);
++		DeployableServerBehavior beh = ServerConverter.getDeployableServerBehavior(server);
++		IModulePathFilter filter = beh.getPathFilter(module);
++
++		return publishChanges(server, deltas, root, filter);
++	}
++	
++	/**
++	 * @since 2.3
++	 */
++	protected IStatus[] publishChanges(IServer server, IModuleResourceDelta[] deltas, 
++			de.schlichtherle.truezip.file.TFile root, IModulePathFilter filter) {
++		ArrayList<IStatus> results = new ArrayList<IStatus>();
++		if( deltas == null || deltas.length == 0 )
++			return new IStatus[]{};
++		int dKind;
++		IModuleResource resource;
++		for( int i = 0; i < deltas.length; i++ ) {
++			dKind = deltas[i].getKind();
++			resource = deltas[i].getModuleResource();
++			if( dKind == IModuleResourceDelta.ADDED ) {
++				if( filter == null || filter.shouldInclude(resource)) {
++					results.addAll(Arrays.asList(copy(root, new IModuleResource[]{resource})));
++				}
++			} else if( dKind == IModuleResourceDelta.CHANGED ) {
++				if( filter == null || filter.shouldInclude(resource)) {
++					if( resource instanceof IModuleFile ) 
++						results.addAll(Arrays.asList(copy(root, new IModuleResource[]{resource})));
++					results.addAll(Arrays.asList(publishChanges(server, deltas[i].getAffectedChildren(), root, filter)));
++				}
++			} else if( dKind == IModuleResourceDelta.REMOVED) {
++				de.schlichtherle.truezip.file.TFile f = getFileInArchive(root, 
++						resource.getModuleRelativePath().append(
++								resource.getName()));
++
++				boolean b = true;
++				try {
++				    de.schlichtherle.truezip.file.TFile tf = f.rm_r();
++				    if (!tf.exists()) { b = false; }
++				} catch (IOException e) { b = false; }
++
++				if( !b )
++					results.add(generateDeleteFailedStatus(f));
++				hasBeenChanged = true;
++			} else if( dKind == IModuleResourceDelta.NO_CHANGE  ) {
++				results.addAll(Arrays.asList(publishChanges(server, deltas[i].getAffectedChildren(), root, filter)));
++			}
++		}
++		
++		return (IStatus[]) results.toArray(new IStatus[results.size()]);
++	}
++
++	
++	protected IStatus[] copy(de.schlichtherle.truezip.file.TFile root, IModuleResource[] children) {
++		ArrayList<IStatus> results = new ArrayList<IStatus>();
++		for( int i = 0; i < children.length; i++ ) {
++			if( children[i] instanceof IModuleFile ) {
++				IModuleFile mf = (IModuleFile)children[i];
++				java.io.File source = getFile(mf);
++				de.schlichtherle.truezip.file.TFile destination = getFileInArchive(root, mf.getModuleRelativePath().append(mf.getName()));
++
++				boolean b = true;
++				try {
++				    de.schlichtherle.truezip.file.TFile tf = new de.schlichtherle.truezip.file.TFile(source, TArchiveDetector.NULL).cp_rp(destination);
++				    if (!tf.exists()) { b = false; }
++				} catch (IOException e) { b = false; }
++
++				if( !b )
++					results.add(generateCopyFailStatus(source, destination));
++			} else if( children[i] instanceof IModuleFolder ) {
++				de.schlichtherle.truezip.file.TFile destination = getFileInArchive(root, children[i].getModuleRelativePath().append(children[i].getName()));
++				destination.mkdirs();
++				IModuleFolder mf = (IModuleFolder)children[i];
++				results.addAll(Arrays.asList(copy(root, mf.members())));
++			}
++		}
++		hasBeenChanged = true;
++		return (IStatus[]) results.toArray(new IStatus[results.size()]);
++	}
++	
++	protected IStatus generateDeleteFailedStatus(java.io.File file) {
++		return new Status(IStatus.ERROR, IntegrationPlugin.PLUGIN_ID, "Could not delete file " + file); //$NON-NLS-1$
++	}
++	protected IStatus generateCoreExceptionStatus(CoreException ce) {
++		return new Status(IStatus.ERROR, IntegrationPlugin.PLUGIN_ID, ce.getMessage(), ce);
++	}
++	protected IStatus generateCopyFailStatus(java.io.File source, java.io.File destination) {
++		return new Status(IStatus.ERROR, IntegrationPlugin.PLUGIN_ID, "Copy of " + source + " to " + destination + " has failed");//$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
++	}
++	
++	protected de.schlichtherle.truezip.file.TFile getFileInArchive(de.schlichtherle.truezip.file.TFile root, IPath relative) {
++		while(relative.segmentCount() > 0 ) {
++			root = new de.schlichtherle.truezip.file.TFile(root, 
++					relative.segment(0), TArchiveDetector.NULL);
++			relative = relative.removeFirstSegments(1);
++		}
++		return root;
++	}
++
++	public static IModule[] combine(IModule[] module, IModule newMod) {
++		return PublishUtil.combine(module, newMod);
++	}
++	
++	public IPath getOutputFilePath() {
++		return getOutputFilePath(module);
++	}
++	
++	public IPath getOutputFilePath(IModule[] module) {
++		return getOutputFilePath(server,module, deployRoot);
++	}
++	
++	public IPath getOutputFilePath(IServer server, IModule[] module, String deployRoot) {
++		IDeployableServer ds = ServerConverter.getDeployableServer(server);
++		return getDeployPath(module, deployRoot, ds);
++	}
++	
++	public boolean hasBeenChanged() {
++		return hasBeenChanged;
++	}
++	public IModule[] getModule() {
++		return module;
++	}
++}
+diff -Naur as/plugins/org.jboss.ide.eclipse.archives.webtools.orig/src/org/jboss/ide/eclipse/archives/webtools/modules/LocalZippedPublisherUtil.java as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/LocalZippedPublisherUtil.java
+--- as/plugins/org.jboss.ide.eclipse.archives.webtools.orig/src/org/jboss/ide/eclipse/archives/webtools/modules/LocalZippedPublisherUtil.java	2012-07-03 15:48:33.261087430 +0100
++++ as/plugins/org.jboss.ide.eclipse.archives.webtools/src/org/jboss/ide/eclipse/archives/webtools/modules/LocalZippedPublisherUtil.java	2012-07-03 16:55:37.327254729 +0100
+@@ -11,6 +11,8 @@
+  ******************************************************************************/ 
+ package org.jboss.ide.eclipse.archives.webtools.modules;
+ 
++import java.io.IOException;
++
+ import java.io.File;
+ import java.util.ArrayList;
+ import java.util.Arrays;
+@@ -47,7 +49,7 @@
+ import org.jboss.ide.eclipse.as.core.util.ServerConverter;
+ import org.jboss.ide.eclipse.as.wtp.core.util.ServerModelUtilities;
+ 
+-import de.schlichtherle.io.ArchiveDetector;
++import de.schlichtherle.truezip.file.TArchiveDetector;
+ 
+ public class LocalZippedPublisherUtil extends PublishUtil {
+ 	
+@@ -229,7 +231,7 @@
+ 		try {
+ 			IPath path = getOutputFilePath(combine(parent, last));
+ 			path = path.removeLastSegments(1);
+-			de.schlichtherle.io.File root = TrueZipUtil.getFile(path, TrueZipUtil.getJarArchiveDetector());
++			de.schlichtherle.truezip.file.TFile root = TrueZipUtil.getFile(path, TrueZipUtil.getJarArchiveDetector());
+ 			IModuleResource[] resources = getResources(last, new NullProgressMonitor());
+ 			results.addAll(Arrays.asList(copy(root, resources)));
+ 			TrueZipUtil.umount();
+@@ -247,7 +249,7 @@
+ 			FileUtil.safeDelete(path.toFile(), null);
+ 			
+ 			TrueZipUtil.createArchive(path);
+-			de.schlichtherle.io.File root = TrueZipUtil.getFile(path, TrueZipUtil.getJarArchiveDetector());
++			de.schlichtherle.truezip.file.TFile root = TrueZipUtil.getFile(path, TrueZipUtil.getJarArchiveDetector());
+ 			IModuleResource[] resources = getResources(module);
+ 			DeployableServerBehavior beh = ServerConverter.getDeployableServerBehavior(server);
+ 			IModulePathFilter filter = beh.getPathFilter(module);
+@@ -282,7 +284,7 @@
+ 	
+ 	protected IStatus[] publishChanges(IServer server, String deployRoot, IModule[] module) {
+ 		IPath path = getOutputFilePath(module);
+-		de.schlichtherle.io.File root = TrueZipUtil.getFile(path, TrueZipUtil.getJarArchiveDetector());
++		de.schlichtherle.truezip.file.TFile root = TrueZipUtil.getFile(path, TrueZipUtil.getJarArchiveDetector());
+ 		IModuleResourceDelta[] deltas = ((Server)server).getPublishedResourceDelta(module);
+ 		DeployableServerBehavior beh = ServerConverter.getDeployableServerBehavior(server);
+ 		IModulePathFilter filter = beh.getPathFilter(module);
+@@ -294,7 +296,7 @@
+ 	 * @since 2.3
+ 	 */
+ 	protected IStatus[] publishChanges(IServer server, IModuleResourceDelta[] deltas, 
+-			de.schlichtherle.io.File root, IModulePathFilter filter) {
++			de.schlichtherle.truezip.file.TFile root, IModulePathFilter filter) {
+ 		ArrayList<IStatus> results = new ArrayList<IStatus>();
+ 		if( deltas == null || deltas.length == 0 )
+ 			return new IStatus[]{};
+@@ -314,10 +316,16 @@
+ 					results.addAll(Arrays.asList(publishChanges(server, deltas[i].getAffectedChildren(), root, filter)));
+ 				}
+ 			} else if( dKind == IModuleResourceDelta.REMOVED) {
+-				de.schlichtherle.io.File f = getFileInArchive(root, 
++				de.schlichtherle.truezip.file.TFile f = getFileInArchive(root, 
+ 						resource.getModuleRelativePath().append(
+ 								resource.getName()));
+-				boolean b = f.deleteAll();
++
++				boolean b = true;
++				try {
++				    de.schlichtherle.truezip.file.TFile tf = f.rm_r();
++				    if (!tf.exists()) { b = false; }
++				} catch (IOException e) { b = false; }
++
+ 				if( !b )
+ 					results.add(generateDeleteFailedStatus(f));
+ 				hasBeenChanged = true;
+@@ -330,18 +338,24 @@
+ 	}
+ 
+ 	
+-	protected IStatus[] copy(de.schlichtherle.io.File root, IModuleResource[] children) {
++	protected IStatus[] copy(de.schlichtherle.truezip.file.TFile root, IModuleResource[] children) {
+ 		ArrayList<IStatus> results = new ArrayList<IStatus>();
+ 		for( int i = 0; i < children.length; i++ ) {
+ 			if( children[i] instanceof IModuleFile ) {
+ 				IModuleFile mf = (IModuleFile)children[i];
+ 				java.io.File source = getFile(mf);
+-				de.schlichtherle.io.File destination = getFileInArchive(root, mf.getModuleRelativePath().append(mf.getName()));
+-				boolean b = new de.schlichtherle.io.File(source, ArchiveDetector.NULL).archiveCopyAllTo(destination);
++				de.schlichtherle.truezip.file.TFile destination = getFileInArchive(root, mf.getModuleRelativePath().append(mf.getName()));
++
++				boolean b = true;
++				try {
++				    de.schlichtherle.truezip.file.TFile tf = new de.schlichtherle.truezip.file.TFile(source, TArchiveDetector.NULL).cp_rp(destination);
++				    if (!tf.exists()) { b = false; }
++				} catch (IOException e) { b = false; }
++
+ 				if( !b )
+ 					results.add(generateCopyFailStatus(source, destination));
+ 			} else if( children[i] instanceof IModuleFolder ) {
+-				de.schlichtherle.io.File destination = getFileInArchive(root, children[i].getModuleRelativePath().append(children[i].getName()));
++				de.schlichtherle.truezip.file.TFile destination = getFileInArchive(root, children[i].getModuleRelativePath().append(children[i].getName()));
+ 				destination.mkdirs();
+ 				IModuleFolder mf = (IModuleFolder)children[i];
+ 				results.addAll(Arrays.asList(copy(root, mf.members())));
+@@ -361,10 +375,10 @@
+ 		return new Status(IStatus.ERROR, IntegrationPlugin.PLUGIN_ID, "Copy of " + source + " to " + destination + " has failed");//$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
+ 	}
+ 	
+-	protected de.schlichtherle.io.File getFileInArchive(de.schlichtherle.io.File root, IPath relative) {
++	protected de.schlichtherle.truezip.file.TFile getFileInArchive(de.schlichtherle.truezip.file.TFile root, IPath relative) {
+ 		while(relative.segmentCount() > 0 ) {
+-			root = new de.schlichtherle.io.File(root, 
+-					relative.segment(0), ArchiveDetector.NULL);
++			root = new de.schlichtherle.truezip.file.TFile(root, 
++					relative.segment(0), TArchiveDetector.NULL);
+ 			relative = relative.removeFirstSegments(1);
+ 		}
+ 		return root;
diff --git a/eclipse-jbosstools-as-methodVisibility.patch b/eclipse-jbosstools-as-methodVisibility.patch
new file mode 100644
index 0000000..6090444
--- /dev/null
+++ b/eclipse-jbosstools-as-methodVisibility.patch
@@ -0,0 +1,11 @@
+--- as/plugins/org.jboss.ide.eclipse.as.ui.mbeans/src/org/jboss/ide/eclipse/as/ui/mbeans/project/JBossSARModuleDelegate.java.orig	2012-06-24 00:04:35.842601733 +0100
++++ as/plugins/org.jboss.ide.eclipse.as.ui.mbeans/src/org/jboss/ide/eclipse/as/ui/mbeans/project/JBossSARModuleDelegate.java	2012-06-24 00:05:02.289094405 +0100
+@@ -37,7 +37,7 @@
+ 	}
+ 	
+ 	@Override
+-	protected IFlattenParticipant[] getParticipants() {
++	public IFlattenParticipant[] getParticipants() {
+ 		List<IFlattenParticipant> participants = new ArrayList<IFlattenParticipant>();
+ 		participants.add(new JEEHeirarchyExportParticipant());
+ 		participants.add(new AddMappedOutputFoldersParticipant());
diff --git a/eclipse-jbosstools-as.core.patch b/eclipse-jbosstools-as.core.patch
new file mode 100644
index 0000000..f2d918a
--- /dev/null
+++ b/eclipse-jbosstools-as.core.patch
@@ -0,0 +1,49 @@
+diff -Naur as/plugins/org.jboss.ide.eclipse.as.core.orig/build.properties as/plugins/org.jboss.ide.eclipse.as.core/build.properties
+--- as/plugins/org.jboss.ide.eclipse.as.core.orig/build.properties	2012-07-03 15:15:13.120007605 +0100
++++ as/plugins/org.jboss.ide.eclipse.as.core/build.properties	2012-07-03 15:17:55.357657862 +0100
+@@ -2,11 +2,11 @@
+ bin.includes = META-INF/,\
+                plugin.xml,\
+                License.txt,\
+-               jaxen-1.1-beta-6.jar,\
+-               dom4j-1.6.1.jar,\
++               jaxen.jar,\
++               dom4j.jar,\
+                plugin.properties,\
+                schema/,\
+-               getopt.jar,\
++               gnu-getopt.jar,\
+                properties/,\
+                dtd/,\
+                .,\
+diff -Naur as/plugins/org.jboss.ide.eclipse.as.core.orig/.classpath as/plugins/org.jboss.ide.eclipse.as.core/.classpath
+--- as/plugins/org.jboss.ide.eclipse.as.core.orig/.classpath	2012-07-03 15:15:12.827013865 +0100
++++ as/plugins/org.jboss.ide.eclipse.as.core/.classpath	2012-07-03 15:17:36.785031518 +0100
+@@ -3,8 +3,8 @@
+ 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ 	<classpathentry kind="src" path="jbosscore"/>
+-	<classpathentry exported="true" kind="lib" path="dom4j-1.6.1.jar"/>
+-	<classpathentry exported="true" kind="lib" path="jaxen-1.1-beta-6.jar"/>
+-	<classpathentry exported="true" kind="lib" path="getopt.jar"/>
++	<classpathentry exported="true" kind="lib" path="dom4j.jar"/>
++	<classpathentry exported="true" kind="lib" path="jaxen.jar"/>
++	<classpathentry exported="true" kind="lib" path="gnu-getopt.jar"/>
+ 	<classpathentry kind="output" path="bin"/>
+ </classpath>
+diff -Naur as/plugins/org.jboss.ide.eclipse.as.core.orig/META-INF/MANIFEST.MF as/plugins/org.jboss.ide.eclipse.as.core/META-INF/MANIFEST.MF
+--- as/plugins/org.jboss.ide.eclipse.as.core.orig/META-INF/MANIFEST.MF	2012-07-03 15:15:13.121007584 +0100
++++ as/plugins/org.jboss.ide.eclipse.as.core/META-INF/MANIFEST.MF	2012-07-03 15:19:20.998958886 +0100
+@@ -46,9 +46,9 @@
+  org.jboss.ide.eclipse.as.core.server.v7.management,
+  org.jboss.ide.eclipse.as.core.server.xpl,
+  org.jboss.ide.eclipse.as.core.util
+-Bundle-ClassPath: dom4j-1.6.1.jar,
+- jaxen-1.1-beta-6.jar,
+- getopt.jar,
++Bundle-ClassPath: dom4j.jar,
++ jaxen.jar,
++ gnu-getopt.jar,
+  .
+ Bundle-Vendor: %Bundle-Vendor.0
+ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/eclipse-jbosstools-as.dmr.patch b/eclipse-jbosstools-as.dmr.patch
new file mode 100644
index 0000000..af0dbb4
--- /dev/null
+++ b/eclipse-jbosstools-as.dmr.patch
@@ -0,0 +1,33 @@
+diff -Naur as/plugins/org.jboss.ide.eclipse.as.dmr.orig/build.properties as/plugins/org.jboss.ide.eclipse.as.dmr/build.properties
+--- as/plugins/org.jboss.ide.eclipse.as.dmr.orig/build.properties	2012-07-03 15:26:46.943448598 +0100
++++ as/plugins/org.jboss.ide.eclipse.as.dmr/build.properties	2012-07-03 15:05:28.000000000 +0100
+@@ -2,5 +2,5 @@
+ output.. = bin/
+ bin.includes = META-INF/,\
+               .,\
+-               jboss-dmr-1.1.1.Final.jar,\
++               jboss-dmr.jar,\
+                build.properties
+diff -Naur as/plugins/org.jboss.ide.eclipse.as.dmr.orig/.classpath as/plugins/org.jboss.ide.eclipse.as.dmr/.classpath
+--- as/plugins/org.jboss.ide.eclipse.as.dmr.orig/.classpath	2012-07-03 15:26:46.924448956 +0100
++++ as/plugins/org.jboss.ide.eclipse.as.dmr/.classpath	2012-07-03 15:05:28.471970914 +0100
+@@ -1,6 +1,6 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <classpath>
+-	<classpathentry exported="true" kind="lib" path="jboss-dmr-1.1.1.Final.jar"/>
++	<classpathentry exported="true" kind="lib" path="jboss-dmr.jar"/>
+ 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ 	<classpathentry kind="src" path="src"/>
+diff -Naur as/plugins/org.jboss.ide.eclipse.as.dmr.orig/META-INF/MANIFEST.MF as/plugins/org.jboss.ide.eclipse.as.dmr/META-INF/MANIFEST.MF
+--- as/plugins/org.jboss.ide.eclipse.as.dmr.orig/META-INF/MANIFEST.MF	2012-07-03 15:26:46.944448579 +0100
++++ as/plugins/org.jboss.ide.eclipse.as.dmr/META-INF/MANIFEST.MF	2012-07-03 15:27:57.218131263 +0100
+@@ -7,7 +7,7 @@
+ Bundle-ActivationPolicy: lazy
+ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+ Bundle-Vendor: JBoss by Red Hat
+-Bundle-ClassPath: jboss-dmr-1.1.1.Final.jar,
++Bundle-ClassPath: jboss-dmr.jar,
+  .
+ Export-Package: org.jboss.dmr
+ Require-Bundle: org.eclipse.core.runtime
diff --git a/eclipse-jbosstools-as.mgmt.as71.patch b/eclipse-jbosstools-as.mgmt.as71.patch
new file mode 100644
index 0000000..afd9d24
--- /dev/null
+++ b/eclipse-jbosstools-as.mgmt.as71.patch
@@ -0,0 +1,86 @@
+diff -Naur as/plugins/org.jboss.ide.eclipse.as.management.as71.orig/build.properties as/plugins/org.jboss.ide.eclipse.as.management.as71/build.properties
+--- as/plugins/org.jboss.ide.eclipse.as.management.as71.orig/build.properties	2012-07-03 17:31:05.411064295 +0100
++++ as/plugins/org.jboss.ide.eclipse.as.management.as71/build.properties	2012-07-03 17:32:00.568036046 +0100
+@@ -7,13 +7,13 @@
+ output.. = bin/
+ bin.includes = META-INF/,\
+                .,\
+-               jboss-as-controller-client-7.1.0.Final.jar,\
+-               jboss-as-protocol-7.1.0.Final.jar,\
+-               jboss-dmr-1.1.1.Final.jar,\
+-               jboss-logging-3.1.0.GA.jar,\
+-               jboss-marshalling-1.3.9.GA.jar,\
+-               jboss-sasl-1.0.0.Final.jar,\
+-               jboss-threads-2.0.0.GA.jar,\
+-               xnio-api-3.0.3.GA.jar,\
+-               xnio-nio-3.0.3.GA.jar,\
+-               jboss-remoting-3.2.7.GA.jar
++               jboss-as-controller-client.jar,\
++               jboss-as-protocol.jar,\
++               jboss-dmr.jar,\
++               jboss-logging.jar,\
++               jboss-marshalling.jar,\
++               jboss-sasl.jar,\
++               jboss-threads.jar,\
++               xnio-api.jar,\
++               xnio-nio.jar,\
++               jboss-remoting.jar
+diff -Naur as/plugins/org.jboss.ide.eclipse.as.management.as71.orig/.classpath as/plugins/org.jboss.ide.eclipse.as.management.as71/.classpath
+--- as/plugins/org.jboss.ide.eclipse.as.management.as71.orig/.classpath	2012-07-03 17:31:05.371065045 +0100
++++ as/plugins/org.jboss.ide.eclipse.as.management.as71/.classpath	2012-07-03 17:33:41.942148031 +0100
+@@ -1,15 +1,15 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <classpath>
+-	<classpathentry exported="true" kind="lib" path="jboss-as-controller-client-7.1.0.Final.jar" sourcepath="/home/rob/code/jboss/as7/jboss-as/controller-client"/>
+-	<classpathentry exported="true" kind="lib" path="jboss-as-protocol-7.1.0.Final.jar" sourcepath="/home/rob/code/jboss/as7/jboss-as/protocol/src"/>
+-	<classpathentry exported="true" kind="lib" path="jboss-dmr-1.1.1.Final.jar"/>
+-	<classpathentry exported="true" kind="lib" path="jboss-logging-3.1.0.GA.jar"/>
+-	<classpathentry exported="true" kind="lib" path="jboss-marshalling-1.3.9.GA.jar"/>
+-	<classpathentry exported="true" kind="lib" path="jboss-sasl-1.0.0.Final.jar"/>
+-	<classpathentry exported="true" kind="lib" path="jboss-threads-2.0.0.GA.jar"/>
+-	<classpathentry exported="true" kind="lib" path="xnio-api-3.0.3.GA.jar"/>
+-	<classpathentry exported="true" kind="lib" path="xnio-nio-3.0.3.GA.jar"/>
+-	<classpathentry exported="true" kind="lib" path="jboss-remoting-3.2.7.GA.jar"/>
++	<classpathentry exported="true" kind="lib" path="jboss-as-controller-client.jar"/>
++	<classpathentry exported="true" kind="lib" path="jboss-as-protocol.jar"/>
++	<classpathentry exported="true" kind="lib" path="jboss-dmr.jar"/>
++	<classpathentry exported="true" kind="lib" path="jboss-logging.jar"/>
++	<classpathentry exported="true" kind="lib" path="jboss-marshalling.jar"/>
++	<classpathentry exported="true" kind="lib" path="jboss-sasl.jar"/>
++	<classpathentry exported="true" kind="lib" path="jboss-threads.jar"/>
++	<classpathentry exported="true" kind="lib" path="xnio-api.jar"/>
++	<classpathentry exported="true" kind="lib" path="xnio-nio.jar"/>
++	<classpathentry exported="true" kind="lib" path="jboss-remoting.jar"/>
+ 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ 	<classpathentry kind="src" path="src"/>
+diff -Naur as/plugins/org.jboss.ide.eclipse.as.management.as71.orig/META-INF/MANIFEST.MF as/plugins/org.jboss.ide.eclipse.as.management.as71/META-INF/MANIFEST.MF
+--- as/plugins/org.jboss.ide.eclipse.as.management.as71.orig/META-INF/MANIFEST.MF	2012-07-03 17:31:05.412064277 +0100
++++ as/plugins/org.jboss.ide.eclipse.as.management.as71/META-INF/MANIFEST.MF	2012-07-03 17:34:44.386984802 +0100
+@@ -10,16 +10,16 @@
+ Bundle-ActivationPolicy: lazy
+ Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+ Bundle-ClassPath: .,
+- jboss-as-controller-client-7.1.0.Final.jar,
+- jboss-as-protocol-7.1.0.Final.jar,
+- jboss-dmr-1.1.1.Final.jar,
+- jboss-logging-3.1.0.GA.jar,
+- jboss-marshalling-1.3.9.GA.jar,
+- jboss-sasl-1.0.0.Final.jar,
+- jboss-threads-2.0.0.GA.jar,
+- xnio-api-3.0.3.GA.jar,
+- xnio-nio-3.0.3.GA.jar,
+- jboss-remoting-3.2.7.GA.jar
++ jboss-as-controller-client.jar,
++ jboss-as-protocol.jar,
++ jboss-dmr.jar,
++ jboss-logging.jar,
++ jboss-marshalling.jar,
++ jboss-sasl.jar,
++ jboss-threads.jar,
++ xnio-api.jar,
++ xnio-nio.jar,
++ jboss-remoting.jar
+ Service-Component: META-INF/jboss-management-service.xml
+ Export-Package: org.jboss.ide.eclipse.as.internal.management.as71;x-friends:="org.jboss.ide.eclipse.as.management.as7.tests"
+ Bundle-Vendor: JBoss by Red Hat
diff --git a/eclipse-jbosstools-as.patch b/eclipse-jbosstools-as.patch
new file mode 100644
index 0000000..b9f22cf
--- /dev/null
+++ b/eclipse-jbosstools-as.patch
@@ -0,0 +1,27 @@
+diff -Naur as.orig/features/pom.xml as/features/pom.xml
+--- as.orig/features/pom.xml	2012-06-24 00:00:05.710796897 +0100
++++ as/features/pom.xml	2012-06-23 23:58:04.096146516 +0100
+@@ -18,7 +18,7 @@
+ 		<module>org.jboss.ide.eclipse.as.server.rse.integration.feature</module>
+ 
+ 		<module>org.jboss.ide.eclipse.as.feature</module>
+-		<module>org.jboss.ide.eclipse.as.test.feature</module>
++		<!--<module>org.jboss.ide.eclipse.as.test.feature</module>-->
+ 
+ 	</modules>
+ </project>
+diff -Naur as.orig/pom.xml as/pom.xml
+--- as.orig/pom.xml	2012-06-24 00:00:05.702797049 +0100
++++ as/pom.xml	2012-06-23 23:57:47.231473028 +0100
+@@ -14,9 +14,9 @@
+ 	<packaging>pom</packaging>
+ 	<modules>
+ 		<module>plugins</module>
+-		<module>tests</module>
++		<!--<module>tests</module>-->
+ 		<module>features</module>
+-		<module>site</module>
++		<!--<module>site</module>-->
+ 	</modules>
+ </project>
+ 	
diff --git a/eclipse-jbosstools-cdi.patch b/eclipse-jbosstools-cdi.patch
new file mode 100644
index 0000000..b6a0ede
--- /dev/null
+++ b/eclipse-jbosstools-cdi.patch
@@ -0,0 +1,30 @@
+--- cdi/pom.xml.orig	2012-07-21 21:19:34.554666802 +0100
++++ cdi/pom.xml	2012-07-21 21:20:06.142090919 +0100
+@@ -15,8 +15,8 @@
+ 	<modules>
+ 		<module>features</module>
+ 		<module>plugins</module>
+-		<module>tests</module>
+-		<module>site</module>
++		<!--<module>tests</module>-->
++		<!--<module>site</module>-->
+ 	</modules>
+ </project>
+ 	
+--- cdi/features/pom.xml.orig	2012-07-21 21:20:13.076964208 +0100
++++ cdi/features/pom.xml	2012-07-21 21:21:21.598625873 +0100
+@@ -13,11 +13,11 @@
+ 	<packaging>pom</packaging>
+ 	<modules>
+ 		<module>org.jboss.tools.cdi.feature</module>
+-		<module>org.jboss.tools.cdi.test.feature</module>
++		<!--<module>org.jboss.tools.cdi.test.feature</module>-->
+ 		<module>org.jboss.tools.cdi.seam.feature</module>
+-		<module>org.jboss.tools.cdi.seam.test.feature</module>
++		<!--<module>org.jboss.tools.cdi.seam.test.feature</module>-->
+ 		<module>org.jboss.tools.cdi.deltaspike.feature</module>
+-		<module>org.jboss.tools.cdi.deltaspike.test.feature</module>
++		<!--<module>org.jboss.tools.cdi.deltaspike.test.feature</module>-->
+ 	</modules>
+ </project>
+ 	
diff --git a/eclipse-jbosstools-common.patch b/eclipse-jbosstools-common.patch
new file mode 100644
index 0000000..1d5cc7d
--- /dev/null
+++ b/eclipse-jbosstools-common.patch
@@ -0,0 +1,46 @@
+diff -Naur common.orig/features/pom.xml common/features/pom.xml
+--- common.orig/features/pom.xml	2012-06-23 22:53:34.732197210 +0100
++++ common/features/pom.xml	2012-06-23 22:34:14.341255190 +0100
+@@ -13,14 +13,14 @@
+ 	<packaging>pom</packaging>
+ 	<modules>
+ 		<module>org.jboss.tools.common.all.feature</module>
+-		<module>org.jboss.tools.common.all.test.feature</module>
++		<!--<module>org.jboss.tools.common.all.test.feature</module>-->
+ 		<module>org.jboss.tools.common.core.feature</module>
+ 		<module>org.jboss.tools.common.feature</module>
+ 		<module>org.jboss.tools.common.text.ext.feature</module>
+ 		<module>org.jboss.tools.common.ui.feature</module>
+ 		<module>org.jboss.tools.common.verification.feature</module>
+ 		<module>org.jboss.tools.common.jdt.feature</module>
+-		<module>org.jboss.tools.common.mylyn.feature</module>
++		<!--<module>org.jboss.tools.common.mylyn.feature</module>-->
+ 	</modules>
+ </project>
+ 	
+diff -Naur common.orig/plugins/pom.xml common/plugins/pom.xml
+--- common.orig/plugins/pom.xml	2012-06-23 22:53:36.062171912 +0100
++++ common/plugins/pom.xml	2012-06-23 22:30:30.939490730 +0100
+@@ -33,7 +33,7 @@
+ 		<module>org.jboss.tools.common.jdt.debug.ui</module>
+ 		<module>org.jboss.tools.common.jdt</module>
+ 		<module>org.jboss.tools.common.jdt.ui</module>
+-		<module>org.jboss.tools.common.mylyn</module>
++		<!--<module>org.jboss.tools.common.mylyn</module>-->
+ 	</modules>
+ </project>
+ 	
+diff -Naur common.orig/pom.xml common/pom.xml
+--- common.orig/pom.xml	2012-06-23 22:53:34.725197343 +0100
++++ common/pom.xml	2012-06-23 22:41:40.332789621 +0100
+@@ -16,8 +16,8 @@
+ 	<modules>
+ 		<module>plugins</module>
+ 		<module>features</module>
+-		<module>site</module>
+-		<module>tests</module>
++		<!--<module>site</module>-->
++		<!--<module>tests</module>-->
+ 	</modules>
+ </project>
+ 	
diff --git a/eclipse-jbosstools-freemarker.patch b/eclipse-jbosstools-freemarker.patch
new file mode 100644
index 0000000..c224ac9
--- /dev/null
+++ b/eclipse-jbosstools-freemarker.patch
@@ -0,0 +1,62 @@
+--- freemarker/pom.xml.orig	2012-07-22 00:24:06.422186927 +0100
++++ freemarker/pom.xml	2012-07-22 00:24:27.870778637 +0100
+@@ -16,8 +16,8 @@
+ 	<modules>
+ 		<module>plugins</module>
+ 		<module>features</module>
+-		<module>site</module>
+-		<module>tests</module>
++		<!--<module>site</module>-->
++		<!--<module>tests</module>-->
+ 	</modules>
+ </project>
+ 	
+--- freemarker/features/pom.xml.orig	2012-07-22 00:24:33.714667375 +0100
++++ freemarker/features/pom.xml	2012-07-22 00:24:44.527461497 +0100
+@@ -13,6 +13,6 @@
+ 	<packaging>pom</packaging>
+ 	<modules>
+ 		<module>org.jboss.ide.eclipse.freemarker.feature</module>
+-		<module>org.jboss.ide.eclipse.freemarker.test.feature</module>
++		<!--<module>org.jboss.ide.eclipse.freemarker.test.feature</module>-->
+ 	</modules>
+ </project>
+--- freemarker/plugins/org.jboss.ide.eclipse.freemarker/.classpath.orig	2012-07-22 14:25:42.768119690 +0100
++++ freemarker/plugins/org.jboss.ide.eclipse.freemarker/.classpath	2012-07-22 14:26:03.125731591 +0100
+@@ -1,6 +1,6 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <classpath>
+-	<classpathentry exported="true" kind="lib" path="freemarker-2.3.18.jar"/>
++	<classpathentry exported="true" kind="lib" path="freemarker.jar"/>
+ 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ 	<classpathentry kind="src" path="src"/>
+--- freemarker/plugins/org.jboss.ide.eclipse.freemarker/build.properties.orig	2012-07-22 14:28:21.027101531 +0100
++++ freemarker/plugins/org.jboss.ide.eclipse.freemarker/build.properties	2012-07-22 14:28:44.958644928 +0100
+@@ -1,6 +1,6 @@
+ jars.compile.order = freemarker-ide.jar
+ bin.includes = plugin.*,\
+-               freemarker-2.3.18.jar,\
++               freemarker.jar,\
+                META-INF/,\
+                .,\
+                icons/,\
+@@ -13,6 +13,6 @@
+                icons/,\
+                META-INF/,\
+                License.txt,\
+-               freemarker-2.3.18.jar
++               freemarker.jar
+ source.freemarker-ide.jar = src/
+ output.freemarker-ide.jar = bin/
+--- freemarker/plugins/org.jboss.ide.eclipse.freemarker/META-INF/MANIFEST.MF.orig	2012-07-22 14:27:14.930362365 +0100
++++ freemarker/plugins/org.jboss.ide.eclipse.freemarker/META-INF/MANIFEST.MF	2012-07-22 14:27:33.120015436 +0100
+@@ -22,7 +22,7 @@
+  org.jboss.tools.usage;bundle-version="1.0.0";resolution:=optional;x-installation:=greedy
+ Bundle-ActivationPolicy: lazy
+ Bundle-ClassPath: freemarker-ide.jar,
+- freemarker-2.3.18.jar
++ freemarker.jar
+ Bundle-Vendor: %providerName
+ Export-Package: freemarker.core,
+  freemarker.template,
diff --git a/eclipse-jbosstools-jmx.patch b/eclipse-jbosstools-jmx.patch
new file mode 100644
index 0000000..26b6a2d
--- /dev/null
+++ b/eclipse-jbosstools-jmx.patch
@@ -0,0 +1,25 @@
+diff -Naur jmx.orig/features/pom.xml jmx/features/pom.xml
+--- jmx.orig/features/pom.xml	2012-06-23 23:55:17.102388771 +0100
++++ jmx/features/pom.xml	2012-06-23 23:54:28.367338739 +0100
+@@ -14,7 +14,7 @@
+ 	<packaging>pom</packaging>
+ 	<modules>
+ 		<module>org.jboss.tools.jmx.feature</module>
+-		<module>org.jboss.tools.jmx.test.feature</module>
++		<!--<module>org.jboss.tools.jmx.test.feature</module>-->
+ 	</modules>
+ </project>
+ 	
+diff -Naur jmx.orig/pom.xml jmx/pom.xml
+--- jmx.orig/pom.xml	2012-06-23 23:55:17.097388970 +0100
++++ jmx/pom.xml	2012-06-23 23:54:08.340729843 +0100
+@@ -16,7 +16,7 @@
+ 	<modules>
+ 		<module>plugins</module>
+ 		<module>features</module>
+-		<module>site</module>
+-		<module>tests</module>
++		<!--<module>site</module>-->
++		<!--<module>tests</module>-->
+ 	</modules>
+ </project>
diff --git a/eclipse-jbosstools-jst.patch b/eclipse-jbosstools-jst.patch
new file mode 100644
index 0000000..ef6415c
--- /dev/null
+++ b/eclipse-jbosstools-jst.patch
@@ -0,0 +1,27 @@
+diff -u -Naur jst.orig/features/pom.xml jst/features/pom.xml
+--- jst.orig/features/pom.xml	2012-07-04 23:58:54.845883246 +0100
++++ jst/features/pom.xml	2012-07-04 16:47:26.045777425 +0100
+@@ -13,7 +13,7 @@
+ 	<packaging>pom</packaging>
+ 	<modules>
+ 		<module>org.jboss.tools.jst.feature</module>
+-		<module>org.jboss.tools.jst.test.feature</module>
++		<!--<module>org.jboss.tools.jst.test.feature</module>-->
+ 		<module>org.jboss.tools.jst.web.tiles.feature</module>
+ 	</modules>
+ </project>
+diff -u -Naur jst.orig/pom.xml jst/pom.xml
+--- jst.orig/pom.xml	2012-07-04 23:58:54.844883265 +0100
++++ jst/pom.xml	2012-07-04 16:46:48.969499064 +0100
+@@ -13,9 +13,9 @@
+ 	<packaging>pom</packaging>
+ 	<modules>
+ 		<module>plugins</module>
+-		<module>tests</module>
++		<!--<module>tests</module>-->
+ 		<module>features</module>
+-		<module>site</module>
++		<!--<module>site</module>-->
+ 	</modules>
+ </project>
+ 
diff --git a/eclipse-jbosstools-parent-pom.patch b/eclipse-jbosstools-parent-pom.patch
new file mode 100644
index 0000000..81aee11
--- /dev/null
+++ b/eclipse-jbosstools-parent-pom.patch
@@ -0,0 +1,133 @@
+--- build/parent/pom.xml.orig	2012-07-28 16:41:37.796076799 +0100
++++ build/parent/pom.xml	2012-07-28 16:40:55.391914321 +0100
+@@ -23,7 +23,7 @@
+ 		<memoryOptions2>-XX:MaxPermSize=256m</memoryOptions2>
+ 		<systemProperties></systemProperties>
+ 		<platformSystemProperties></platformSystemProperties>
+-		<maven.antrun.plugin.version>1.3</maven.antrun.plugin.version>
++		<maven.antrun.plugin.version>1.7</maven.antrun.plugin.version>
+ 		<swtbot.test.skip>true</swtbot.test.skip>
+ 
+ 		<!-- target files available for building: multiple sites, 1 unified site, 
+@@ -34,7 +34,7 @@
+ 		</target.platform.classifier.local>
+ 
+ 		<!-- 1a. URL of latest JBT target platform site -->
+-		<jbosstools-target-site>http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/</jbosstools-target-site>
++		<!--<jbosstools-target-site>http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/</jbosstools-target-site>-->
+ 
+ 		<!-- 1b. or use -Plocal.site -Dlocal.site=file:///${HOME}/3.3.indigo/build/target-platform/REPO/ -->
+ 		<!-- TODO: don't forget to update JBDS .updatesite jobs when this value changes! -->
+@@ -44,9 +44,9 @@
+ 		<!-- 2a. URL of latest JBT nightly staging composite site (all the components 
+ 			in once place) -->
+ 		<!-- for trunk use _composite_/trunk; for 3.3_stable_branch, use _composite_/3.3.indigo -->
+-		<jbosstools-nightly-staging-composite>http://download.jboss.org/jbosstools/builds/staging/_composite_/core/3.3.indigo/</jbosstools-nightly-staging-composite>
++		<!--<jbosstools-nightly-staging-composite>http://download.jboss.org/jbosstools/builds/staging/_composite_/core/3.3.indigo/</jbosstools-nightly-staging-composite>-->
+ 		<!-- this site is not enabled by default as SOA Tooling is a downstream project (sorta). -->
+-		<jbosstools-nightly-staging-composite-soa-tooling>http://download.jboss.org/jbosstools/builds/staging/_composite_/soa-tooling/3.3.indigo/</jbosstools-nightly-staging-composite-soa-tooling>
++		<!--<jbosstools-nightly-staging-composite-soa-tooling>http://download.jboss.org/jbosstools/builds/staging/_composite_/soa-tooling/3.3.indigo/</jbosstools-nightly-staging-composite-soa-tooling>-->
+ 
+ 		<!-- 2b. or use -Plocal.composite -Dlocal.composite=file:///path/to/mirror/of/composite/staging/site/ -->
+ 		<!-- for trunk use _composite_/trunk; for 3.3_stable_branch, use _composite_/3.3.indigo -->
+@@ -55,22 +55,22 @@
+ 
+ 		<!-- 3a. URL of latest JBT requirements composite mirror -->
+ 		<!-- TODO: don't forget to update this in ../aggregate/*/associate.properties too (5 files)! -->
+-		<jboss-requirements-composite-mirror>http://download.jboss.org/jbosstools/updates/indigo/SR2/</jboss-requirements-composite-mirror>
+-		<jboss-requirements-composite-soa-tooling-mirror>http://download.jboss.org/jbosstools/updates/indigo/soa-tooling/SR2/</jboss-requirements-composite-soa-tooling-mirror>
++		<!--<jboss-requirements-composite-mirror>http://download.jboss.org/jbosstools/updates/indigo/SR2/</jboss-requirements-composite-mirror>-->
++		<!--<jboss-requirements-composite-soa-tooling-mirror>http://download.jboss.org/jbosstools/updates/indigo/soa-tooling/SR2/</jboss-requirements-composite-soa-tooling-mirror>-->
+ 
+ 		<!-- 3b., or use -Plocal.requirements -Dlocal.requirements=file:///path/to/mirror/of/composite/requirements/site -->
+ 		<local.requirements>file:///qa/services/http/binaries/RHDS/updates/indigo/</local.requirements>
+ 
+ 		<!-- 4. published aggregate update sites go here, for consumption by QE 
+ 			and downstream JBDS builds -->
+-		<jbosstools-nightly>http://download.jboss.org/jbosstools/updates/nightly/core/3.3.indigo/</jbosstools-nightly>
+-		<jbosstools-nightly-tests>http://download.jboss.org/jbosstools/updates/nightly/coretests/3.3.indigo/</jbosstools-nightly-tests>
++		<!--<jbosstools-nightly>http://download.jboss.org/jbosstools/updates/nightly/core/3.3.indigo/</jbosstools-nightly>-->
++		<!--<jbosstools-nightly-tests>http://download.jboss.org/jbosstools/updates/nightly/coretests/3.3.indigo/</jbosstools-nightly-tests>-->
+ 		<!-- these sites are not enabled by default as SOA Tooling is a downstream project (sorta). -->
+-		<jbosstools-nightly-soa-tooling>http://download.jboss.org/jbosstools/updates/nightly/soa-tooling/3.3.indigo/</jbosstools-nightly-soa-tooling>
+-		<jbosstools-nightly-soa-tooling-tests>http://download.jboss.org/jbosstools/updates/nightly/soatests/3.3.indigo/</jbosstools-nightly-soa-tooling-tests>
++		<!--<jbosstools-nightly-soa-tooling>http://download.jboss.org/jbosstools/updates/nightly/soa-tooling/3.3.indigo/</jbosstools-nightly-soa-tooling>-->
++		<!--<jbosstools-nightly-soa-tooling-tests>http://download.jboss.org/jbosstools/updates/nightly/soatests/3.3.indigo/</jbosstools-nightly-soa-tooling-tests>-->
+ 
+ 		<!-- 5. extra requirements (for 3rd party "Extras" site) -->
+-		<jboss-requirements-composite-extras-mirror>http://download.jboss.org/jbosstools/updates/indigo/extras/SR1a/</jboss-requirements-composite-extras-mirror>
++		<!--<jboss-requirements-composite-extras-mirror>http://download.jboss.org/jbosstools/updates/indigo/extras/SR1a/</jboss-requirements-composite-extras-mirror>-->
+ 		
+ 		<!-- Default coverage filter, to be overriden when necessary -->
+ 		<coverage.filter>org.jboss.tools.*</coverage.filter>
+@@ -78,7 +78,7 @@
+ 		<requirement.build.root>${requirements.root}/target</requirement.build.root>
+ 
+ 		<!-- JBIDE-11700, JBIDE-11865: latest stable build of m2e-apt for use with JBDS product builds -->		
+-		<m2e-apt>http://download.jboss.org/jbosstools/updates/requirements/m2eclipse/m2e-apt-1.0.0-2012-06-05_16-15-59-H16/</m2e-apt>
++		<!--<m2e-apt>http://download.jboss.org/jbosstools/updates/requirements/m2eclipse/m2e-apt-1.0.0-2012-06-05_16-15-59-H16/</m2e-apt>-->
+ 		
+ 	</properties>
+ 
+@@ -290,7 +290,7 @@
+ 					<dependency>
+ 						<groupId>ant-contrib</groupId>
+ 						<artifactId>ant-contrib</artifactId>
+-						<version>1.0b3</version>
++						<version>1.0</version>
+ 						<exclusions>
+ 							<exclusion>
+ 								<groupId>ant</groupId>
+@@ -298,6 +298,7 @@
+ 							</exclusion>
+ 						</exclusions>
+ 					</dependency>
++<!--
+ 					<dependency>
+ 							<groupId>ant</groupId>
+ 							<artifactId>ant-optional</artifactId>
+@@ -309,6 +310,7 @@
+ 								</exclusion>
+ 							</exclusions>
+ 					</dependency>
++-->
+ 				</dependencies>
+ 				<artifactId>maven-antrun-plugin</artifactId>
+ 				<version>${maven.antrun.plugin.version}</version>
+@@ -770,7 +772,7 @@
+ 							<dependency>
+ 								<groupId>ant-contrib</groupId>
+ 								<artifactId>ant-contrib</artifactId>
+-								<version>1.0b3</version>
++								<version>1.0</version>
+ 								<exclusions>
+ 									<exclusion>
+ 										<groupId>ant</groupId>
+@@ -884,6 +886,7 @@
+ 	</repositories>
+ 
+ 	<!-- Additional m2 repos to resolve things like org.eclipse.tycho:tycho-maven-plugin:0.13.0-SNAPSHOT -->
++<!--
+ 	<pluginRepositories>
+ 		<pluginRepository>
+ 			<id>sonatype-public-grid</id>
+@@ -896,10 +899,11 @@
+ 			<url>https://repository.sonatype.org/content/repositories/snapshots</url>
+ 		</pluginRepository>
+ 	</pluginRepositories>
+-
++-->
+ 	<!-- To deploy parent to Nexus -->
+ 	<!--  Don't change "id" since it should match credentials entry in $M2_REPO/settings.xml -->
+ 	<distributionManagement>
++<!--
+ 		<snapshotRepository>
+ 			<id>jboss-snapshots-repository</id>
+ 			<name>JBoss Snapshots Repository</name>
+@@ -912,5 +916,6 @@
+ 			<uniqueVersion>false</uniqueVersion>
+ 			<url>https://repository.jboss.org/nexus/content/groups/staging/</url> 
+ 		</repository>
++-->
+ 	</distributionManagement>
+ </project>
diff --git a/eclipse-jbosstools-target-platform.patch b/eclipse-jbosstools-target-platform.patch
new file mode 100644
index 0000000..720d444
--- /dev/null
+++ b/eclipse-jbosstools-target-platform.patch
@@ -0,0 +1,87 @@
+diff -Naur build/target-platform.orig/pom.xml build/target-platform/pom.xml
+--- build/target-platform.orig/pom.xml	2012-06-23 16:39:22.787992090 +0100
++++ build/target-platform/pom.xml	2012-06-23 16:40:37.371551577 +0100
+@@ -14,10 +14,10 @@
+ 		<target.platform.classifier.multiple.name>multiple</target.platform.classifier.multiple.name>
+ 		<target.platform.classifier.unified.name>unified</target.platform.classifier.unified.name>
+ 		<target.platform.classifier.local.name>local</target.platform.classifier.local.name>
+-		<unified.URL>http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/</unified.URL>
++		<!--<unified.URL>http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/</unified.URL>-->
+ 		<eclipse.version>3.7.2</eclipse.version>
+ 		<eclipse.type>platform</eclipse.type>
+-		<eclipse.URL>http://www.eclipse.org/downloads/download.php?r=1&amp;file=/eclipse/downloads/drops/R-3.7.2-201202080800/</eclipse.URL>
++		<!--<eclipse.URL>http://www.eclipse.org/downloads/download.php?r=1&amp;file=/eclipse/downloads/drops/R-3.7.2-201202080800/</eclipse.URL>-->
+ 	</properties>
+ 
+ 	<build>
+diff -Naur build/target-platform.orig/targetUpdateFromRepo.xml build/target-platform/targetUpdateFromRepo.xml
+--- build/target-platform.orig/targetUpdateFromRepo.xml	2012-06-23 16:39:22.837991125 +0100
++++ build/target-platform/targetUpdateFromRepo.xml	2012-06-23 16:42:14.789670036 +0100
+@@ -12,7 +12,7 @@
+ 	<!-- create a second .target file which replaces all URLs with a single unified (published) one
+ 		(eg., for jbosstools target platform site), set these properties too -->
+ 	<property name="unified.targetFile" value="unified.target" />
+-	<property name="unified.URL" value="http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/" />
++	<!--<property name="unified.URL" value="http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/" />-->
+ 	<property name="local.targetFile" value="local.target" />
+ 	<property name="local.URL" value="file://${repoDir}" />
+ 
+diff -Naur build/target-platform.orig/unified-junoM6.target build/target-platform/unified-junoM6.target
+--- build/target-platform.orig/unified-junoM6.target	2012-06-23 16:39:22.839991085 +0100
++++ build/target-platform/unified-junoM6.target	2012-06-23 16:42:50.047989056 +0100
+@@ -15,7 +15,7 @@
+ 		<location includeAllPlatforms="false" includeMode="planner" type="InstallableUnit">
+ 			<!-- don't forget to increment these files when moving up a version:
+ 				build.xml, *.target*, publish.sh, target2p2mirror.xml -->
+-			<repository location="http://download.jboss.org/jbosstools/updates/target-platform_3.3.juno.M6/latest/"/>
++			<!--<repository location="http://download.jboss.org/jbosstools/updates/target-platform_3.3.juno.M6/latest/"/>-->
+ 
+ 			<!-- m2e, m2e-wtp + deps -->
+ 			<unit id="org.eclipse.m2e.sdk.feature.feature.group" version="1.1.0.20120320-0058"/>
+diff -Naur build/target-platform.orig/unified-junoM6.target.p2mirror.xml build/target-platform/unified-junoM6.target.p2mirror.xml
+--- build/target-platform.orig/unified-junoM6.target.p2mirror.xml	2012-06-23 16:39:22.790992033 +0100
++++ build/target-platform/unified-junoM6.target.p2mirror.xml	2012-06-23 16:43:32.685165559 +0100
+@@ -28,7 +28,7 @@
+ <p2.mirror destination="file://${repoDir}" verbose="${verbose}">
+ <slicingOptions includeFeatures="true" followStrict="${followStrict}"/>
+ <source>
+-<repository location="http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/"/>
++<!--<repository location="http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/"/>-->
+ </source>
+ <iu id="org.eclipse.m2e.sdk.feature.feature.group" version=""/>
+ <iu id="org.eclipse.m2e.feature.feature.group" version=""/>
+diff -Naur build/target-platform.orig/unified.target build/target-platform/unified.target
+--- build/target-platform.orig/unified.target	2012-06-23 16:39:22.796991916 +0100
++++ build/target-platform/unified.target	2012-06-23 16:45:13.110225942 +0100
+@@ -9,13 +9,13 @@
+ 	<locations>
+ 		<location includeAllPlatforms="false" includeMode="planner" type="InstallableUnit">
+ 			<!-- for trunk use _composite_/trunk; for 3.3_stable_branch, use _composite_/3.3.indigo -->
+-			<repository location="http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/"/>
++			<!--<repository location="http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/"/>-->
+ 		</location>
+ 
+ 		<location includeAllPlatforms="false" includeMode="planner" type="InstallableUnit">
+ 			<!-- don't forget to increment these files when moving up a version:
+ 				build.xml, *.target*, publish.sh, target2p2mirror.xml -->
+-			<repository location="http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/"/>
++			<!--<repository location="http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/"/>-->
+ 
+ 			<!-- m2e, m2e-wtp + deps -->
+ 			<unit id="org.eclipse.m2e.sdk.feature.feature.group" version="1.0.100.20110804-1717"/>
+diff -Naur build/target-platform.orig/unified.target.p2mirror.xml build/target-platform/unified.target.p2mirror.xml
+--- build/target-platform.orig/unified.target.p2mirror.xml	2012-06-23 16:39:22.838991105 +0100
++++ build/target-platform/unified.target.p2mirror.xml	2012-06-23 16:46:06.791189144 +0100
+@@ -27,10 +27,10 @@
+ <echo level="info">Download features/plugins into ${repoDir}</echo>
+ <p2.mirror destination="file://${repoDir}" verbose="${verbose}">
+ <slicingOptions includeFeatures="true" followStrict="${followStrict}"/>
+-<source>
++<!--<source>
+ <repository location="http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/"/>
+ <repository location="http://download.jboss.org/jbosstools/updates/target-platform_3.3.indigo.SR2/latest/"/>
+-</source>
++</source>-->
+ <iu id="org.eclipse.m2e.sdk.feature.feature.group" version=""/>
+ <iu id="org.eclipse.m2e.feature.feature.group" version=""/>
+ <iu id="org.maven.ide.eclipse.wtp.feature.feature.group" version=""/>
diff --git a/eclipse-jbosstools-usage.patch b/eclipse-jbosstools-usage.patch
new file mode 100644
index 0000000..dc71ae4
--- /dev/null
+++ b/eclipse-jbosstools-usage.patch
@@ -0,0 +1,27 @@
+diff -Naur usage.orig/features/pom.xml usage/features/pom.xml
+--- usage.orig/features/pom.xml	2012-06-23 23:44:20.377090404 +0100
++++ usage/features/pom.xml	2012-06-23 23:40:20.205626677 +0100
+@@ -14,7 +14,7 @@
+ 	<packaging>pom</packaging>
+ 	<modules>
+ 		<module>org.jboss.tools.usage.feature</module>
+-		<module>org.jboss.tools.usage.test.feature</module>
++		<!--<module>org.jboss.tools.usage.test.feature</module>-->
+ 	</modules>
+ </project>
+ 	
+diff -Naur usage.orig/pom.xml usage/pom.xml
+--- usage.orig/pom.xml	2012-06-23 23:44:20.374090461 +0100
++++ usage/pom.xml	2012-06-23 23:43:05.625503049 +0100
+@@ -15,9 +15,9 @@
+ 	<packaging>pom</packaging>
+ 	<modules>
+ 		<module>plugins</module>
+-		<module>tests</module>
++		<!--<module>tests</module>-->
+ 		<module>features</module>
+-		<module>site</module>
++		<!--<module>site</module>-->
+ 	</modules>
+ </project>
+ 	
diff --git a/eclipse-jbosstools-ws.patch b/eclipse-jbosstools-ws.patch
new file mode 100644
index 0000000..ea82ec4
--- /dev/null
+++ b/eclipse-jbosstools-ws.patch
@@ -0,0 +1,43 @@
+--- ws/pom.xml.orig	2012-07-21 15:46:56.506038340 +0100
++++ ws/pom.xml	2012-07-21 15:47:16.996650325 +0100
+@@ -15,9 +15,9 @@
+ 	<packaging>pom</packaging>
+ 	<modules>
+ 		<module>plugins</module>
+-		<module>tests</module>
++		<!--<module>tests</module>-->
+ 		<module>features</module>
+-		<module>site</module>
++		<!--<module>site</module>-->
+ 	</modules>
+ </project>
+ 	
+--- ws/features/pom.xml.orig	2012-07-21 15:47:24.971499311 +0100
++++ ws/features/pom.xml	2012-07-21 15:47:35.669296735 +0100
+@@ -15,7 +15,7 @@
+ 	<modules>
+ 		<module>org.jboss.tools.ws.feature</module>
+ 		<module>org.jboss.tools.ws.jaxrs.feature</module>
+-		<module>org.jboss.tools.ws.test.feature</module>
++		<!--<module>org.jboss.tools.ws.test.feature</module>-->
+ 	</modules>
+ </project>
+ 	
+--- ws/features/org.jboss.tools.ws.feature/feature.xml~	2012-07-05 00:33:39.000000000 +0100
++++ ws/features/org.jboss.tools.ws.feature/feature.xml	2012-07-21 21:00:33.446844165 +0100
+@@ -18,6 +18,7 @@
+       %license
+    </license>
+ 
++<!--
+    <requires>
+       <import feature="org.eclipse.jst.enterprise_ui.feature" version="3.3.2" match="compatible"/>
+       <import feature="org.eclipse.jst.web_ui.feature" version="3.3.2" match="compatible"/>
+@@ -25,6 +26,7 @@
+       <import feature="org.eclipse.wst.ws_ui.feature" version="3.3.2" match="compatible"/>
+       <import feature="org.eclipse.wst.xml_ui.feature" version="3.3.2" match="compatible"/>
+    </requires>
++-->
+ 
+    <plugin
+          id="org.jboss.tools.ws.core"
diff --git a/eclipse-jbosstools-x86.patch b/eclipse-jbosstools-x86.patch
new file mode 100644
index 0000000..cd02565
--- /dev/null
+++ b/eclipse-jbosstools-x86.patch
@@ -0,0 +1,58 @@
+--- build/parent/pom.xml.orig	2012-07-28 16:47:44.942057161 +0100
++++ build/parent/pom.xml	2012-07-28 16:50:03.551436942 +0100
+@@ -93,6 +93,7 @@
+ 					<format>'v'yyyyMMdd-HHmm'-${BUILD_ALIAS}'</format>
+ 					<archiveSite>true</archiveSite>
+ 					<environments>
++<!--
+ 						<environment>
+ 							<os>macosx</os>
+ 							<ws>cocoa</ws>
+@@ -113,16 +114,19 @@
+ 							<ws>win32</ws>
+ 							<arch>x86_64</arch>
+ 						</environment>
++-->
+ 						<environment>
+ 							<os>linux</os>
+ 							<ws>gtk</ws>
+ 							<arch>x86</arch>
+ 						</environment>
++<!--
+ 						<environment>
+ 							<os>linux</os>
+ 							<ws>gtk</ws>
+ 							<arch>x86_64</arch>
+ 						</environment>
++-->
+ 					</environments>
+ 				</configuration>
+ 			</plugin>
+@@ -142,6 +146,7 @@
+ 					<resolver>p2</resolver>
+ 					<ignoreTychoRepositories>true</ignoreTychoRepositories>
+ 					<environments>
++<!--
+ 						<environment>
+ 							<os>macosx</os>
+ 							<ws>cocoa</ws>
+@@ -162,16 +167,19 @@
+ 							<ws>win32</ws>
+ 							<arch>x86_64</arch>
+ 						</environment>
++-->
+ 						<environment>
+ 							<os>linux</os>
+ 							<ws>gtk</ws>
+ 							<arch>x86</arch>
+ 						</environment>
++<!--
+ 						<environment>
+ 							<os>linux</os>
+ 							<ws>gtk</ws>
+ 							<arch>x86_64</arch>
+ 						</environment>
++-->
+ 					</environments>
+ 				</configuration>
+ 			</plugin>
diff --git a/eclipse-jbosstools-x86_64.patch b/eclipse-jbosstools-x86_64.patch
new file mode 100644
index 0000000..cada685
--- /dev/null
+++ b/eclipse-jbosstools-x86_64.patch
@@ -0,0 +1,34 @@
+--- build/parent/pom.xml.orig	2012-07-28 16:47:44.942057161 +0100
++++ build/parent/pom.xml	2012-07-28 16:55:43.205023173 +0100
+@@ -93,6 +93,7 @@
+ 					<format>'v'yyyyMMdd-HHmm'-${BUILD_ALIAS}'</format>
+ 					<archiveSite>true</archiveSite>
+ 					<environments>
++<!--
+ 						<environment>
+ 							<os>macosx</os>
+ 							<ws>cocoa</ws>
+@@ -118,6 +119,7 @@
+ 							<ws>gtk</ws>
+ 							<arch>x86</arch>
+ 						</environment>
++-->
+ 						<environment>
+ 							<os>linux</os>
+ 							<ws>gtk</ws>
+@@ -142,6 +144,7 @@
+ 					<resolver>p2</resolver>
+ 					<ignoreTychoRepositories>true</ignoreTychoRepositories>
+ 					<environments>
++<!--
+ 						<environment>
+ 							<os>macosx</os>
+ 							<ws>cocoa</ws>
+@@ -167,6 +170,7 @@
+ 							<ws>gtk</ws>
+ 							<arch>x86</arch>
+ 						</environment>
++-->
+ 						<environment>
+ 							<os>linux</os>
+ 							<ws>gtk</ws>
diff --git a/eclipse-jbosstools.spec b/eclipse-jbosstools.spec
new file mode 100644
index 0000000..af36a1d
--- /dev/null
+++ b/eclipse-jbosstools.spec
@@ -0,0 +1,601 @@
+%global eclipse_dropins %{_datadir}/eclipse/dropins
+%global build_base      build/.m2/org/jboss/tools/
+
+Name:           eclipse-jbosstools
+Version:        3.3.1
+Release:        2%{?dist}
+Summary:        A set of Eclipse plugins that supports JBoss and related technology
+
+Group:          Development/Tools
+
+# For mult. license info, see https://community.jboss.org/thread/158037
+License:        EPL and LGPLv2+ and ASL 2.0
+URL:            http://www.jboss.org/tools.html
+
+# svn export http://anonsvn.jboss.org/repos/jbosstools/tags/jbosstools-3.3.1.Final/ eclipse-jbosstools-3.3.1.Final
+# cp -r eclipse-jbosstools-3.3.1.Final eclipse-jbosstools-3.3.1.Final-CLEAN
+# pushd eclipse-jbosstools-3.3.1.Final-CLEAN
+# find -name *.jar -delete && find -name *.class -delete
+# rm -r birt/ bpel/ central/ deltacloud/ documentation/ drools/ esb/ flow/ forge/ gwt/ hibernatetools/ jbpm/ jsf/ maven/ modeshape/ module_template/ openshift/ portlet/ requirements/ runtime/ runtime-soa/ seam/ struts/ tests/ xulrunner/
+# popd
+# tar -cJf eclipse-jbosstools-3.3.1.Final-CLEAN.tar.xz eclipse-jbosstools-3.3.1.Final-CLEAN/
+Source0:        %{name}-%{version}.Final-CLEAN.tar.xz
+
+Source1:        LICENSE-2.0.txt
+Source2:        lgpl-2.1.txt
+
+# Comment out unsatisfiable dep: ant-optional
+# Comment out some external repositories (not sure if this is necessary...)
+# Change versions of some deps to match fedora packages
+Patch0:         %{name}-parent-pom.patch
+Patch1:         %{name}-target-platform.patch
+
+# Without one of the following patches, the following error prevents building:
+# [ERROR] Internal error: java.lang.RuntimeException: Could not determine SWT implementation fragment bundle
+Patch2:         %{name}-x86_64.patch
+Patch3:         %{name}-x86.patch
+
+# These patches all similarly comment out stuff that prevents building. It's
+# mainly stuff that we don't need immediately anyway (site,tests modules)
+Patch4:         %{name}-common.patch
+Patch5:         %{name}-usage.patch
+Patch6:         %{name}-archives.patch
+Patch7:         %{name}-jmx.patch
+Patch8:         %{name}-as.patch
+Patch9:         %{name}-jst.patch
+Patch10:        %{name}-ws.patch
+Patch11:        %{name}-cdi.patch
+Patch12:        %{name}-freemarker.patch
+
+# This patch seems to have been included in upstream trunk already
+# http://web.archiveorange.com/archive/v/yXYbUiLHbz40Q1bDwhSS
+Patch13:        %{name}-as-methodVisibility.patch
+
+# Update refs from old bundled deps in archives, to symlinked deps from Fedora
+Patch14:        %{name}-archives-core-manifest.patch
+Patch15:        %{name}-archives-core-buildproperties.patch
+
+# Migrate to from obselete to current version of TrueZip dependency
+Patch16:        %{name}-archives-core-trueziputil.patch
+Patch17:        %{name}-archives-core-modeltruezipbridge.patch
+Patch18:        %{name}-archives-core-archivesbuilder.patch
+Patch19:        %{name}-as-archives.webtools.patch
+
+# Add unimplemented methods from updated jbossxb dependency
+Patch20:        %{name}-archives-core-ArchivesUnmarshallerImpl.patch
+
+# Update refs from old bundled deps in AS, to symlinked deps from Fedora
+Patch21:        %{name}-as.dmr.patch
+Patch22:        %{name}-as.core.patch
+Patch23:        %{name}-as.mgmt.as71.patch
+
+BuildRequires:  ant >= 1.8.3
+BuildRequires:  ant-contrib >= 0.16.b3
+BuildRequires:  axis >= 1.4-16
+BuildRequires:  dom4j >= 1.6.1-8
+BuildRequires:  eclipse-dtp >= 1.10
+BuildRequires:  eclipse-emf-core >= 2.8.0
+BuildRequires:  eclipse-emf-sdk >= 2.8.0
+BuildRequires:  eclipse-gef >= 3.8.0
+BuildRequires:  eclipse-jdt >= 4.2.0
+BuildRequires:  eclipse-pde >= 4.2.0
+BuildRequires:  eclipse-platform >= 4.2.0
+BuildRequires:  eclipse-rcp >= 4.2.0
+BuildRequires:  eclipse-rse >= 3.3.1
+BuildRequires:  eclipse-swt >= 4.2.0
+BuildRequires:  eclipse-wtp-common >= 3.4.0
+BuildRequires:  eclipse-wtp-jeetools >= 3.4.0
+BuildRequires:  eclipse-wtp-jpa >= 3.4.0
+BuildRequires:  eclipse-wtp-jsf >= 3.4.0
+BuildRequires:  eclipse-wtp-jst-web >= 3.4.0
+BuildRequires:  eclipse-wtp-servertools >= 3.4.0
+BuildRequires:  eclipse-wtp-webservices >= 3.4.0
+BuildRequires:  eclipse-wtp-sourceediting >= 3.4.0
+BuildRequires:  gnu-getopt >= 1.0.13
+BuildRequires:  icu4j-eclipse >= 4.4.2.2
+BuildRequires:  jacoco-maven-plugin
+BuildRequires:  jakarta-commons-httpclient >= 3.1
+BuildRequires:  java-devel
+BuildRequires:  jaxen >= 1.1.3
+BuildRequires:  jboss-as >= 7.1.1-3
+BuildRequires:  jboss-dmr >= 1.1.1
+BuildRequires:  jbossxb >= 2.0.3
+BuildRequires:  jpackage-utils
+BuildRequires:  maven
+BuildRequires:  maven-jar-plugin
+BuildRequires:  maven-install-plugin
+BuildRequires:  maven-javadoc-plugin
+BuildRequires:  maven-release-plugin
+BuildRequires:  maven-compiler-plugin
+BuildRequires:  maven-surefire-plugin
+BuildRequires:  maven-resources-plugin
+BuildRequires:  resteasy >= 2.3.2-7
+BuildRequires:  truezip-driver-zip >= 7.5.5
+BuildRequires:  truezip-file >= 7.5.5
+BuildRequires:  tycho
+BuildRequires:  tycho-extras
+BuildRequires:  velocity >= 1.7-4
+BuildRequires:  xerces-j2 >= 2.11.0-7
+
+Requires:       java
+Requires:       jpackage-utils
+
+Requires:       %{name}-archives = %{version}-%{release}
+Requires:       %{name}-as = %{version}-%{release}
+Requires:       %{name}-cdi = %{version}-%{release}
+Requires:       %{name}-common = %{version}-%{release}
+Requires:       %{name}-freemarker = %{version}-%{release}
+Requires:       %{name}-jmx = %{version}-%{release}
+Requires:       %{name}-jst = %{version}-%{release}
+Requires:       %{name}-parent = %{version}-%{release}
+Requires:       %{name}-usage = %{version}-%{release}
+Requires:       %{name}-ws = %{version}-%{release}
+
+%description
+JBoss Tools is an umbrella project for a set of Eclipse plugins that supports
+JBoss and related technology; there is support for Hibernate, JBoss AS, Drools, 
+jBPM, JSF, (X)HTML, Seam, Maven, JBoss ESB, JBoss Portal and more...
+
+%package        parent
+Summary:        JBoss Tools Parent
+Requires:       jpackage-utils
+
+%description parent
+Parent and target-platform POM files for %{name} package.
+
+%package        common
+Summary:        JBoss Tools common Eclipse tools
+
+Requires:       %{name}-parent = %{version}-%{release}
+Requires:       eclipse-gef
+Requires:       eclipse-jdt
+Requires:       eclipse-platform
+Requires:       eclipse-pde
+Requires:       eclipse-rcp
+Requires:       eclipse-swt
+Requires:       eclipse-wtp-common
+Requires:       eclipse-wtp-jeetools
+Requires:       eclipse-wtp-jpa
+Requires:       eclipse-wtp-sourceediting
+Requires:       jakarta-commons-httpclient
+Requires:       java
+Requires:       jpackage-utils
+Requires:       xerces-j2
+
+%description common
+Common functionality on which other plugins and features from %{name} depend.
+
+%package        jmx
+Summary:        Eclipse tools for interacting with JMX connections
+
+Requires:       %{name}-parent = %{version}-%{release}
+Requires:       eclipse-platform
+Requires:       eclipse-swt
+Requires:       java
+Requires:       jpackage-utils
+
+%description jmx
+JBoss JMX Tools allows you to setup multiple JMX connections, and provides a
+view for exploring the JMX tree and execute operations directly from within
+Eclipse.
+
+%package        archives
+Summary:        JBoss Archives Tools
+
+Requires:       %{name}-as = %{version}-%{release}
+Requires:       %{name}-jmx = %{version}-%{release}
+Requires:       %{name}-parent = %{version}-%{release}
+Requires:       %{name}-usage = %{version}-%{release}
+Requires:       ant
+Requires:       eclipse-emf-core
+Requires:       eclipse-jdt
+Requires:       eclipse-pde
+Requires:       eclipse-platform
+Requires:       eclipse-rcp
+Requires:       eclipse-swt
+Requires:       eclipse-wtp-common
+Requires:       eclipse-wtp-servertools
+Requires:       java
+Requires:       jpackage-utils
+Requires:       truezip-driver-file
+Requires:       truezip-file
+
+%description archives
+Project Archives provides a way to define archives based on include/exclude
+filesets which then gets incrementally updated allowing for fluent
+deployment for any type of Eclipse project.
+
+%package        usage
+Summary:        JBoss Tools Usage Reporting
+
+Requires:       %{name}-parent = %{version}-%{release}
+Requires:       eclipse-rcp
+Requires:       eclipse-swt
+Requires:       java
+Requires:       jpackage-utils
+
+%description usage
+JBoss Tools Usage reporting provides an anonymous opt-in call-back mechanism
+that can be used to see how widely used plugins are, which plugin installations
+have been done, where in the world and what versions of operating system, java
+and other information that is available.
+
+%package        as
+Summary:        JBossAS Tools
+
+Requires:       %{name}-archives = %{version}-%{release}
+Requires:       %{name}-common = %{version}-%{release}
+Requires:       %{name}-jmx = %{version}-%{release}
+Requires:       %{name}-parent = %{version}-%{release}
+Requires:       %{name}-usage = %{version}-%{release}
+Requires:       ant
+Requires:       dom4j
+Requires:       eclipse-emf-core
+Requires:       eclipse-jdt
+Requires:       eclipse-pde
+Requires:       eclipse-platform
+Requires:       eclipse-rcp
+Requires:       eclipse-rse
+Requires:       eclipse-swt
+Requires:       eclipse-wtp-common
+Requires:       eclipse-wtp-jeetools
+Requires:       eclipse-wtp-servertools
+Requires:       gnu-getopt
+Requires:       icu4j-eclipse
+Requires:       java
+Requires:       jaxen
+Requires:       jboss-as
+Requires:       jboss-dmr
+Requires:       jpackage-utils
+
+%description as
+Provides WTP server adapters for JBoss installations. These adapters are 
+capable of deployment and providing classpaths for projects. Zipped or
+exploded deployments, JMX integration, and other extensions are included.
+
+%package        jst
+Summary:        JBoss Tools Java Standard Tools
+
+Requires:       %{name}-common = %{version}-%{release}
+Requires:       %{name}-parent = %{version}-%{release}
+Requires:       %{name}-usage = %{version}-%{release}
+Requires:       ant
+Requires:       eclipse-dtp
+Requires:       eclipse-gef
+Requires:       eclipse-jdt
+Requires:       eclipse-platform
+Requires:       eclipse-rcp
+Requires:       eclipse-swt
+Requires:       eclipse-wtp-jeetools
+Requires:       eclipse-wtp-jst-web
+Requires:       eclipse-wtp-sourceediting
+Requires:       java
+Requires:       jpackage-utils
+Requires:       velocity
+Requires:       xerces-j2
+
+%description jst
+JBoss Tools Java Standard Tools provides common tools for use in JBoss Tools
+other plugins, such as Knowledge Base builder and validators for use in JSF/Web
+projects.
+
+%package        ws
+Summary:        JBoss WebServices Tools and JBoss JAX-RS Tools
+
+Requires:       %{name}-as = %{version}-%{release}
+Requires:       %{name}-common = %{version}-%{release}
+Requires:       %{name}-parent = %{version}-%{release}
+Requires:       %{name}-usage = %{version}-%{release}
+Requires:       apache-commons-codec
+Requires:       axis
+Requires:       eclipse-emf-core
+Requires:       eclipse-emf-xsd
+Requires:       eclipse-jdt
+Requires:       eclipse-platform
+Requires:       eclipse-rcp
+Requires:       eclipse-swt
+Requires:       eclipse-wtp-common
+Requires:       eclipse-wtp-jeetools
+Requires:       eclipse-wtp-jsf
+Requires:       eclipse-wtp-webservices
+Requires:       icu4j-eclipse
+Requires:       java
+Requires:       jdom
+Requires:       jpackage-utils
+Requires:       resteasy
+Requires:       wsdl4j
+
+
+%description ws
+JBoss WebServices Tools provides wizards for working with webservices
+and a webservice tester view to test out both SOAP and REST services.
+
+JBoss JAX-RS Tools provides a common navigator to browse and introspect
+your JAX-RS endpoints and provide validation for JAX-RS annotations, such
+as checking that parameters referenced by name actually also are declared.
+
+%package        cdi
+Summary:        JBoss CDI Tools, Apache Deltasipke Tools, Seam 3 Tools
+
+Requires:       %{name}-common = %{version}-%{release}
+Requires:       %{name}-jst = %{version}-%{release}
+Requires:       %{name}-parent = %{version}-%{release}
+Requires:       %{name}-usage = %{version}-%{release}
+Requires:       ant
+Requires:       eclipse-gef
+Requires:       eclipse-jdt
+Requires:       eclipse-platform
+Requires:       eclipse-rcp
+Requires:       eclipse-swt
+Requires:       eclipse-wtp-common
+Requires:       eclipse-wtp-jeetools
+Requires:       eclipse-wtp-jsf
+Requires:       eclipse-wtp-sourceediting
+Requires:       java
+Requires:       jpackage-utils
+Requires:       xerces-j2
+
+%description cdi
+Context and Dependency Injection Tools provides support for JSR-299 also know
+as CDI. Adds wizards, code navigation, validation and quickfixes to work with
+projects that uses CDI.
+
+Apache Deltasipke Tools provides tooling for the CDI components released as
+part of Deltaspike modules.
+
+Seam 3 Tools provides tooling for the CDI components released as part of
+Seam 3 modules such as Solder and Config. Tooling covers recognizing
+these CDI components and editing the seam config xml.
+
+%package        freemarker
+Summary:        FreeMarker IDE
+
+Requires:       %{name}-parent = %{version}-%{release}
+Requires:       %{name}-usage = %{version}-%{release}
+Requires:       eclipse-jdt
+Requires:       eclipse-rcp
+Requires:       eclipse-swt
+Requires:       freemarker
+Requires:       java
+Requires:       jpackage-utils
+
+%description freemarker
+FreeMarkerIDE provides editor for FreeMarker templates
+
+
+%prep
+%setup -q -n %{name}-%{version}.Final-CLEAN
+
+cp %{SOURCE1} %{SOURCE2} .
+
+find -name '*.jar' -delete
+find -name '*.class' -delete
+
+# add symlinks to Fedora versions of removed jars
+pushd archives/plugins/org.jboss.ide.eclipse.archives.core/lib/
+ln -s %{_javadir}/concurrent.jar
+ln -s %{_javadir}/jboss-common-core.jar
+ln -s %{_javadir}/jboss-logging.jar
+ln -s %{_javadir}/jbossxb.jar
+ln -s %{_javadir}/truezip/truezip-driver-file.jar
+ln -s %{_javadir}/truezip/truezip-driver-zip.jar
+ln -s %{_javadir}/truezip/truezip-file.jar
+ln -s %{_javadir}/truezip/truezip-kernel.jar
+ln -s %{_javadir}/xerces-j2.jar
+popd
+pushd as/plugins/org.jboss.ide.eclipse.as.dmr/
+ln -s %{_javadir}/jboss-dmr.jar
+popd
+pushd as/plugins/org.jboss.ide.eclipse.as.core/
+ln -s %{_javadir}/dom4j.jar
+ln -s %{_javadir}/jaxen.jar
+ln -s %{_javadir}/gnu-getopt.jar
+popd
+pushd as/plugins/org.jboss.ide.eclipse.as.management.as71/
+ln -s %{_javadir}/jboss-as/jboss-as-controller-client.jar
+ln -s %{_javadir}/jboss-as/jboss-as-protocol.jar
+ln -s %{_javadir}/jboss-dmr.jar
+ln -s %{_javadir}/jboss-logging.jar
+ln -s %{_javadir}/jboss-marshalling.jar
+ln -s %{_javadir}/jboss-remoting.jar
+ln -s %{_javadir}/jboss-sasl.jar
+ln -s %{_javadir}/jboss-threads.jar
+ln -s %{_javadir}/xnio-api.jar
+ln -s %{_javadir}/xnio-nio.jar
+popd
+pushd ws/plugins/org.jboss.tools.ws.jaxrs.core/lib/
+ln -s %{_javadir}/resteasy/jaxrs-api.jar
+popd
+pushd ws/plugins/org.jboss.tools.ws.ui/lib/
+ln -s %{_javadir}/axis/axis.jar
+ln -s %{_javadir}/axis/jaxrpc.jar
+ln -s %{_javadir}/resteasy/jaxrs-api.jar
+popd
+pushd freemarker/plugins/org.jboss.ide.eclipse.freemarker/
+ln -s %{_javadir}/freemarker.jar
+popd
+
+%patch0
+%patch1
+
+%ifarch x86_64
+%patch2
+%else
+%patch3
+%endif
+
+%patch4
+%patch5
+%patch6
+%patch7
+%patch8
+%patch9
+%patch10
+%patch11
+%patch12
+%patch13
+%patch14
+%patch15
+%patch16
+%patch17
+%patch18
+%patch19
+%patch20
+%patch21
+%patch22
+%patch23
+
+
+%build
+# build the local repository for building with maven
+
+/bin/sh -x %{_eclipse_base}/buildscripts/copy-platform SDK %{_eclipse_base} \
+  wtp-jeetools wtp-webservices eclipse-wtp-common dtp-enablement wtp-jpa \
+  dtp-connectivity wtp-sourceediting org.eclipse.jst.server_ui.feature \
+  eclipse-wtp-jst-web eclipse-wtp-jsf dtp-modelbase emf emf-sdk gef xsd rse 
+
+SDK=$(cd SDK >/dev/null && pwd)
+
+mkdir repo
+repodir=$(cd repo >/dev/null && pwd)
+
+%{_eclipse_base}/eclipse -debug -consolelog -nosplash -verbose \
+  -data /tmp/workspace \
+  -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher \
+  -metadataRepository file:${repodir} \
+  -artifactRepository file:${repodir} \
+  -source ${SDK} -compress -publishArtifacts
+
+# Build everything from within build
+# Skipping tests because of missing dependency swtbot
+pushd build/
+for tool in parent common usage archives jmx as jst cdi ws freemarker; do
+  mvn-rpmbuild install -Plocal.site,${tool} -Dlocal.site=file://${repodir} \
+    -Dmaven.test.skip=true
+done
+popd
+
+
+%install
+install -d -m 755 %{buildroot}%{_mavenpomdir}
+install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom
+%add_maven_depmap JPP-%{name}.pom
+
+pushd %{build_base}
+
+# parent POM
+pushd parent/*-SNAPSHOT/
+  install -pm 644 parent-*.pom \
+    %{buildroot}%{_mavenpomdir}/JPP-%{name}-parent.pom
+  %add_maven_depmap JPP-%{name}-parent.pom -f parent
+popd
+
+for tool in common usage archives jmx as jst cdi ws freemarker; do
+  install -d -m 755 %{buildroot}%{eclipse_dropins}/%{name}-${tool}/eclipse/features
+  install -d -m 755 %{buildroot}%{eclipse_dropins}/%{name}-${tool}/eclipse/plugins
+
+  ## POM for each tool
+  pushd ${tool}/*-SNAPSHOT
+    install -pm 644 ${tool}-*.pom \
+      %{buildroot}%{_mavenpomdir}/JPP-%{name}-${tool}.pom
+    %add_maven_depmap JPP-%{name}-${tool}.pom -f ${tool}
+    popd
+
+  ## features
+  pushd ${tool}/features
+    for feat in `echo *.feature`; do
+      pushd ${feat}/*-SNAPSHOT
+        unzip ${feat}-*-SNAPSHOT.jar -d \
+         %{buildroot}%{eclipse_dropins}/%{name}-${tool}/eclipse/features/${feat}
+      popd;
+    done;
+  popd
+
+  ##plugins
+  pushd ${tool}/plugins
+    for plug in `echo org.jboss.*`; do
+      pushd ${plug}/*-SNAPSHOT
+        install -p ${plug}-*-SNAPSHOT.jar \
+          %{buildroot}%{eclipse_dropins}/%{name}-${tool}/eclipse/plugins
+      popd;
+    done;
+  popd;
+
+done;
+
+  # org.jboss.tools.jst.web.kb is in jst/tests, but we need it
+  install -p jst/tests/org.jboss.tools.jst.web.kb/*-SNAPSHOT/*-SNAPSHOT.jar \
+    %{buildroot}%{eclipse_dropins}/%{name}-jst/eclipse/plugins
+
+popd;
+
+%files
+%{_mavenpomdir}/JPP-%{name}.pom
+%{_mavendepmapfragdir}/%{name}
+
+%files parent
+%{_mavenpomdir}/JPP-%{name}-parent.pom
+%{_mavendepmapfragdir}/%{name}-parent
+ 
+%files common
+%doc lgpl-2.1.txt
+%doc common/features/org.jboss.tools.common.verification.feature/epl-v10.html
+%{eclipse_dropins}/%{name}-common
+%{_mavenpomdir}/JPP-%{name}-common.pom
+%{_mavendepmapfragdir}/%{name}-common
+
+%files usage
+%doc LICENSE-2.0.txt
+%doc common/features/org.jboss.tools.common.verification.feature/epl-v10.html
+%{eclipse_dropins}/%{name}-usage
+%{_mavenpomdir}/JPP-%{name}-usage.pom
+%{_mavendepmapfragdir}/%{name}-usage
+
+%files archives
+%doc lgpl-2.1.txt
+%{eclipse_dropins}/%{name}-archives
+%{_mavenpomdir}/JPP-%{name}-archives.pom
+%{_mavendepmapfragdir}/%{name}-archives
+
+%files jmx
+%doc common/features/org.jboss.tools.common.verification.feature/epl-v10.html
+%{eclipse_dropins}/%{name}-jmx
+%{_mavenpomdir}/JPP-%{name}-jmx.pom
+%{_mavendepmapfragdir}/%{name}-jmx
+
+%files as
+%{eclipse_dropins}/%{name}-as
+%{_mavenpomdir}/JPP-%{name}-as.pom
+%{_mavendepmapfragdir}/%{name}-as
+
+%files jst
+%{eclipse_dropins}/%{name}-jst
+%{_mavenpomdir}/JPP-%{name}-jst.pom
+%{_mavendepmapfragdir}/%{name}-jst
+
+%files cdi
+%{eclipse_dropins}/%{name}-cdi
+%{_mavenpomdir}/JPP-%{name}-cdi.pom
+%{_mavendepmapfragdir}/%{name}-cdi
+
+%files ws
+%doc lgpl-2.1.txt
+%{eclipse_dropins}/%{name}-ws
+%{_mavenpomdir}/JPP-%{name}-ws.pom
+%{_mavendepmapfragdir}/%{name}-ws
+
+%files freemarker
+%doc lgpl-2.1.txt
+%{eclipse_dropins}/%{name}-freemarker
+%{_mavenpomdir}/JPP-%{name}-freemarker.pom
+%{_mavendepmapfragdir}/%{name}-freemarker
+
+
+%changelog
+* Thu Jul 26 2012 Gerard Ryan <galileo at fedoraproject.org> - 3.3.1-2
+- Fix license field and install license files.
+- Use a clean tarball to reduce srpm size.
+- Use spaces consistently; add some necessary comments.
+
+* Thu Jul 26 2012 Gerard Ryan <galileo at fedoraproject.org> - 3.3.1-1
+- Initial packaging.
diff --git a/lgpl-2.1.txt b/lgpl-2.1.txt
new file mode 100644
index 0000000..4362b49
--- /dev/null
+++ b/lgpl-2.1.txt
@@ -0,0 +1,502 @@
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+                  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/sources b/sources
index e69de29..5c38562 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+06ddb810d8257b62221c2afa9ebfd3f0  eclipse-jbosstools-3.3.1.Final-CLEAN.tar.xz


More information about the scm-commits mailing list