Split up and expose API on TargetPlatformHelper
Change-Id: Ib44eacbadd27d606cd8eab29e587dcc53ac2d878
Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
diff --git a/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/p2/TargetPlatformHelper.java b/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/p2/TargetPlatformHelper.java
index 244dbde..615114e 100644
--- a/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/p2/TargetPlatformHelper.java
+++ b/org.eclipse.tea.library.build/src/org/eclipse/tea/library/build/p2/TargetPlatformHelper.java
@@ -38,6 +38,29 @@
throw new IllegalStateException("no target platform set, skipping");
}
+ ITargetDefinition definition = findTargetDefinition(log, tp, bep);
+
+ if (definition == null) {
+ throw new IllegalStateException("cannot resolve target definition");
+ }
+
+ log.debug("loading target definition");
+ final LoadTargetDefinitionJob job = new LoadTargetDefinitionJob(definition);
+ job.setUser(user);
+ job.addJobChangeListener(new JobChangeAdapter() {
+
+ @Override
+ public void done(IJobChangeEvent event) {
+ if (event.getResult() != Status.OK_STATUS) {
+ Activator.log(IStatus.ERROR, "failed to set the target platform: " + event.getResult(), null);
+ }
+ }
+ });
+ job.schedule();
+ return job;
+ }
+
+ public static ITargetDefinition findTargetDefinition(TaskingLog log, String tp, IProject bep) {
final ITargetPlatformService service = getTargetPlatformService();
ITargetDefinition definition = null;
try {
@@ -72,25 +95,7 @@
} catch (Exception e) {
throw new IllegalStateException("cannot resolve target definition", e);
}
-
- if (definition == null) {
- throw new IllegalStateException("cannot resolve target definition");
- }
-
- log.debug("loading target definition");
- final LoadTargetDefinitionJob job = new LoadTargetDefinitionJob(definition);
- job.setUser(user);
- job.addJobChangeListener(new JobChangeAdapter() {
-
- @Override
- public void done(IJobChangeEvent event) {
- if (event.getResult() != Status.OK_STATUS) {
- Activator.log(IStatus.ERROR, "failed to set the target platform: " + event.getResult(), null);
- }
- }
- });
- job.schedule();
- return job;
+ return definition;
}
private static ITargetDefinition createTargetFromLocation(final ITargetPlatformService service, File installLoc)