Copyright (c) 2003, 2014 IBM Corporation and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
IBM Corporation - initial API and implementation
Julian Chen - fix for bug #92572, jclRM
/*******************************************************************************
* Copyright (c) 2003, 2014 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
* Julian Chen - fix for bug #92572, jclRM
*******************************************************************************/
package org.eclipse.core.internal.runtime;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.equinox.internal.app.CommandLineArgs;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
Activator for the Eclipse runtime.
/**
* Activator for the Eclipse runtime.
*/
public class PlatformActivator extends Plugin implements BundleActivator {
private static BundleContext context;
public static BundleContext getContext() {
return context;
}
@Override
public void start(BundleContext runtimeContext) throws Exception {
PlatformActivator.context = runtimeContext;
InternalPlatform.getDefault().start(runtimeContext);
startAppContainer();
InternalPlatform.getDefault().setRuntimeInstance(this);
super.start(runtimeContext);
}
@Override
public void stop(BundleContext runtimeContext) {
// Stop the platform orderly.
InternalPlatform.getDefault().stop(runtimeContext);
InternalPlatform.getDefault().setRuntimeInstance(null);
}
private void startAppContainer() {
// just using a class out of app admin to force it to lazy-start
CommandLineArgs.getApplicationArgs();
}
}