package org.eclipse.scout.sdk.compatibility.v35.internal; | |
import org.eclipse.core.resources.IFile; | |
import org.eclipse.core.runtime.CoreException; | |
import org.eclipse.core.runtime.IProgressMonitor; | |
import org.eclipse.pde.internal.core.PDECore; | |
import org.eclipse.pde.internal.core.target.provisional.ITargetDefinition; | |
import org.eclipse.pde.internal.core.target.provisional.ITargetHandle; | |
import org.eclipse.pde.internal.core.target.provisional.ITargetPlatformService; | |
import org.eclipse.pde.internal.core.target.provisional.LoadTargetDefinitionJob; | |
import org.eclipse.scout.sdk.compatibility.internal.service.ITargetPlatformCompatService; | |
@SuppressWarnings("restriction") | |
public class TargetPlatformCompatService implements ITargetPlatformCompatService { | |
@Override | |
public void resolveTargetPlatform(IFile targetFile, boolean loadPlatform, IProgressMonitor monitor) throws CoreException { | |
ITargetPlatformService targetService = (ITargetPlatformService) PDECore.getDefault().acquireService(ITargetPlatformService.class.getName()); | |
ITargetHandle handle = targetService.getTarget(targetFile); | |
ITargetDefinition def = handle.getTargetDefinition(); | |
def.resolve(monitor); | |
if (loadPlatform) { | |
LoadTargetDefinitionJob loadJob = new LoadTargetDefinitionJob(def); | |
loadJob.schedule(); | |
} | |
} | |
} |