# General remarks:

# Try a top down approach where virtually unnecessary stuff is deleted in the top of the stack approximately
# in that order:
jdt.debug.internal
jdt.debug
jdt.internal
jdt
# From here try to remove all non-compiling classes
debug.internal
debug
core.runtime

# Use Buildpath -> Exclude on package/class level to easily see whether a removal has the desired effect.
# Such packages/classes can be easily being put back, if necessary.

IMPORTED:

from: org.eclipse.rcp.source_3.3.1\src\org.eclipse.osgi_3.3.1 src.zip complete (contains osgi)
from: org.eclipse.rcp.source_3.3.1\src\org.eclipse.core.runtime_3.3.1 src.zip complete
from: org.eclipse.rcp.source_3.3.1\src\org.eclipse.equinox.common_3.3.0.v20070426
from: org.eclipse.rcp.source_3.3.1\src\org.eclipse.equinox.registry_3.3.1
from: org.eclipse.rcp.source_3.3.1\src\org.eclipse.equinox.preferences_3.2.100
from: org.eclipse.platform.source_3.3.1\src\org.eclipse.debug.core_3.3.0 src.zip complete
from: org.eclipse.jdt.source_3.3.1\src\org.eclipse.jdt.core_3.3.1 src.zip
from: org.eclipse.jdt.source_3.3.1: jdimodelsrc.zip, jdisrc.zip complete
# Although this will be deleted finally one should import it at beginning, since many
# classes in jdt use it. One will get many compile errors, which are misleading when
# leaving it out.
from: com.ibm.icu.source_3.6.1.v20070417\src\com.ibm.icu_3.6.1

# org.eclipse.core.resources has been left out intentionally to prevent writing to the file system;
# it is empty anyway since the implementation is in platform specific fragments. We want to be platform
# independent.

!!copy the properties files from the original plugin jars!!

DELETED:

org.eclipse.jdt.internal.debug.core.breakpoints
org.eclipse.jdt.internal.debug.core.hcr
org.eclipse.jdt.internal.debug.core.logicalstructures but not JDIPlaceholderVariable
org.eclipse.jdt.internal.debug.eval*

org.eclipse.jdt.internal.debug.core.JavaDebugPropertyTester
org.eclipse.jdt.internal.debug.core.JDIDebugPluginPreferenceInitializer
org.eclipse.jdt.internal.debug.core.HeapWalkingManager

org.eclipse.jdt.debug.core.IJavaBreakpoint
org.eclipse.jdt.debug.core.IJavaBreakpointListener
org.eclipse.jdt.debug.core.IJavaClassPrepareBreakpoint
org.eclipse.jdt.debug.core.IJavaExceptionBreakpoint
org.eclipse.jdt.debug.core.IJavaLineBreakpoint
org.eclipse.jdt.debug.core.IJavaMethodBreakpoint
org.eclipse.jdt.debug.core.IJavaMethodEntryBreakpoint
org.eclipse.jdt.debug.core.IJavaPatternBreakpoint
org.eclipse.jdt.debug.core.IJavaStratumLineBreakpoint
org.eclipse.jdt.debug.core.IJavaTargetPatternBreakpoint
org.eclipse.jdt.debug.core.IJavaWatchpoint

org.eclipse.jdt.internal*, but not org.eclipse.jdt.internal.core.util.Util and org.eclipse.jdt.internal.debug*
org.eclipse.jdt.core.* (not org.eclipse.jdt.core.Signature and org.eclipse.jdt.core.compiler.CharOperation)

org.eclipse.debug.internal.core.sourcelookup*
org.eclipse.debug.internal.core.commands*

org.eclipse.debug.internal.core.BreakpointManager
org.eclipse.debug.internal.core.EnvironmentVariableResolver
org.eclipse.debug.internal.core.LaunchConfiguration
org.eclipse.debug.internal.core.LaunchConfigurationComparator
org.eclipse.debug.internal.core.LaunchConfigurationInfo
org.eclipse.debug.internal.core.LaunchConfigurationType
org.eclipse.debug.internal.core.LaunchConfigurationWorkingCopy
org.eclipse.debug.internal.core.LaunchDelegate
org.eclipse.debug.internal.core.LaunchManager
org.eclipse.debug.internal.core.LaunchMode
org.eclipse.debug.internal.core.StepFilterManager
org.eclipse.debug.internal.core.SystemPropertyResolver
org.eclipse.debug.internal.core.SystemVariableResolver
org.eclipse.debug.internal.core.DebugPreferenceInitializer
org.eclipse.debug.internal.core.ExpressionManager
org.eclipse.debug.internal.core.WatchExpression
org.eclipse.debug.internal.core.LogicalStructureManager
org.eclipse.debug.internal.core.LogicalStructureProvider
org.eclipse.debug.internal.core.LogicalStructureType
org.eclipse.debug.internal.core.MemoryBlockManager

org.eclipse.debug.core.sourcelookup*

org.eclipse.debug.core.IBreakpointListener
org.eclipse.debug.core.IBreakpointManager
org.eclipse.debug.core.IBreakpointManagerListener
org.eclipse.debug.core.IBreakpointsListener
org.eclipse.debug.core.ILaunchConfiguration
org.eclipse.debug.core.ILaunchConfigurationListener
org.eclipse.debug.core.ILaunchConfigurationMigrationDelegate
org.eclipse.debug.core.ILaunchConfigurationType
org.eclipse.debug.core.ILaunchConfigurationWorkingCopy
org.eclipse.debug.core.ILaunchManager
org.eclipse.debug.core.Launch

org.eclipse.debug.core.model.Breakpoint
org.eclipse.debug.core.model.IBreakpoint
org.eclipse.debug.core.model.ILaunchConfigurationDelegate
org.eclipse.debug.core.model.ILaunchConfigurationDelegate2
org.eclipse.debug.core.model.ILineBreakpoint
org.eclipse.debug.core.model.IWatchpoint
org.eclipse.debug.core.model.LaunchConfigurationDelegate
org.eclipse.debug.core.model.LineBreakpoint
org.eclipse.debug.core.model.RuntimeProcess

org.eclipse.core.internal*

org.eclipse.core.runtime.dynamichelpers
org.eclipse.core.runtime.preferences

org.eclipse.core.runtime.Assert
org.eclipse.core.runtime.AssertionFailedException
org.eclipse.core.runtime.ContributorFactoryOSGi
org.eclipse.core.runtime.ContributorFactorySimple
org.eclipse.core.runtime.PerformanceStats
org.eclipse.core.runtime.RegistryFactory
org.eclipse.core.runtime.Platform
org.eclipse.core.runtime.Plugin
org.eclipse.core.runtime.IPluginDescriptor
org.eclipse.core.runtime.IPluginPrerequisite
org.eclipse.core.runtime.IPluginRegistry

com.ibm.icu* //Delete this finally. Currently there are only references to com.ibm.icu.text.MessageFormat.format(String, Object[])
             //in that package. These can be replaced in jdt and jdi with java.text.MessageFormat.format(String, Object[]).
             //A simple Organize Imports on package level will do that job.
             //As we do not need sophisticated internationalization that seems to be ok.

CHANGED:
# Changes in the classes are generally marked with a leading //RB (at least where I did not forget it ;-))
# Some classes have a bunch of methods commented out, maybe not each being marked individually.
# However these should be recognizable easily.

org.eclipse.jdi.internal.VirtualMachineManagerImpl
org.eclipse.jdi.internal.connect.SocketLaunchingConnectorImpl
org.eclipse.jdi.Bootstrap

org.eclipse.jdt.internal.debug.core.JavaDebugUtils
org.eclipse.jdt.internal.debug.core.JDIDebugPlugin
org.eclipse.jdt.internal.debug.core.model.JDIThread
org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget
org.eclipse.jdt.internal.debug.core.model.JDIReferenceListValue
org.eclipse.jdt.internal.debug.core.EventDispatcher

org.eclipse.jdt.debug.core.JDIDebugModel

org.eclipse.jdt.internal.core.util.Util (removed all but scan* methods)

org.eclipse.jdt.core.Signature

org.eclipse.debug.internal.core.DebugOptions

org.eclipse.debug.core.DebugPlugin (leave only log methods)
org.eclipse.debug.core.ILaunch
org.eclipse.debug.core.ILaunchDelegate

org.eclipse.debug.core.model.DebugElement
org.eclipse.debug.core.model.IDebugTarget
org.eclipse.debug.core.model.IPersistableSourceLocator
org.eclipse.debug.core.model.IProcess
org.eclipse.debug.core.model.IThread

org.eclipse.core.runtime.IPlatformRunnable
org.eclipse.core.runtime.Status
org.eclipse.core.runtime.SafeRunner
org.eclipse.core.runtime.Preferences
org.eclipse.core.runtime.PluginVersionIdentifier
org.eclipse.core.runtime.PlatformObject (!!Excludes Adaptermanager!!, if there are problems with adapting look here)
org.eclipse.core.runtime.FileLocator
org.eclipse.core.runtime.MultiStatus
org.eclipse.core.runtime.Path
org.eclipse.core.runtime.ProgressMonitorWrapper
org.eclipse.core.runtime.QualifiedName

org.eclipse.jdi.internal.StackFrameImpl
org.eclipse.jdt.internal.debug.core.model.JDIStackFrame
