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)