[yocto] [PATCHv3 08/10] plugins/sdk.ide: Renamed the NewYoctoProjectPostProcess

Atanas Gegov atanas.gegov.oss at gmail.com
Wed Apr 17 06:29:23 PDT 2013


From: Atanas Gegov <atanas.gegov at bmw-carit.de>

Renamed the NewYoctoProjectPostProcess to
NewYoctoAutotoolsProjectPostProcess as it is actually
relevant for Autotools-based projects. Added a check
for the apropriate project nature in the the "process"
method of NewYoctoAutotoolsProjectPostProcess.
---
 plugins/org.yocto.sdk.ide/plugin.xml               |    4 +-
 .../org/yocto/sdk/ide/YoctoSDKMessages.properties  |    2 +
 .../NewYoctoAutotoolsProjectPostProcess.java       |   77 ++++++++++++++++++++
 .../sdk/ide/wizard/NewYoctoProjectPostProcess.java |   73 -------------------
 .../HelloWorldCAutotoolsProject/template.xml       |    5 +-
 .../HelloWorldCGTKAutotoolsProject/template.xml    |    3 +-
 .../HelloWorldCPPAutotoolsProject/template.xml     |    5 +-
 7 files changed, 86 insertions(+), 83 deletions(-)
 create mode 100644 plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/wizard/NewYoctoAutotoolsProjectPostProcess.java
 delete mode 100644 plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/wizard/NewYoctoProjectPostProcess.java

diff --git a/plugins/org.yocto.sdk.ide/plugin.xml b/plugins/org.yocto.sdk.ide/plugin.xml
index 6e378bd..1b882a2 100644
--- a/plugins/org.yocto.sdk.ide/plugin.xml
+++ b/plugins/org.yocto.sdk.ide/plugin.xml
@@ -164,8 +164,8 @@
          </simple>
       </processType>
       <processType
-            name="NewYoctoProjectPostProcess"
-            processRunner="org.yocto.sdk.ide.wizard.NewYoctoProjectPostProcess">
+            name="NewYoctoAutotoolsProjectPostProcess"
+            processRunner="org.yocto.sdk.ide.wizard.NewYoctoAutotoolsProjectPostProcess">
          <simple
                name="projectName">
          </simple>
diff --git a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoSDKMessages.properties b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoSDKMessages.properties
index 780bc90..67087f0 100644
--- a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoSDKMessages.properties
+++ b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoSDKMessages.properties
@@ -98,3 +98,5 @@ LaunchConfig.BuildScope.Attr = org.eclipse.ui.externaltools.ATTR_LAUNCH_CONFIGUR
 LaunchConfig.BuildScope.Value = ${projects:}
 LaunchConfig.Location.Attr = org.eclipse.ui.externaltools.ATTR_LOCATION
 LaunchConfig.Arguments.Attr = org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS;
+
+AutotoolsProjectPostProcess.WrongProjectNature = {0} is not an Autotools project
diff --git a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/wizard/NewYoctoAutotoolsProjectPostProcess.java b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/wizard/NewYoctoAutotoolsProjectPostProcess.java
new file mode 100644
index 0000000..9bc042a
--- /dev/null
+++ b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/wizard/NewYoctoAutotoolsProjectPostProcess.java
@@ -0,0 +1,77 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Intel Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Intel - initial API and implementation
+ *******************************************************************************/
+package org.yocto.sdk.ide.wizard;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import org.eclipse.cdt.core.templateengine.TemplateCore;
+import org.eclipse.cdt.core.templateengine.process.ProcessArgument;
+import org.eclipse.cdt.core.templateengine.process.ProcessFailureException;
+import org.eclipse.cdt.core.templateengine.process.ProcessRunner;
+import org.eclipse.cdt.core.templateengine.process.processes.Messages;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.yocto.sdk.ide.YoctoSDKMessages;
+import org.yocto.sdk.ide.natures.YoctoSDKAutotoolsProjectNature;
+
+public class NewYoctoAutotoolsProjectPostProcess extends ProcessRunner {
+
+	public NewYoctoAutotoolsProjectPostProcess() {}
+
+	public void process(TemplateCore template, ProcessArgument[] args, String processId, IProgressMonitor monitor) throws ProcessFailureException {
+
+		String projectName = args[0].getSimpleValue();
+
+		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+		try {
+			if (!project.exists()) {
+				throw new ProcessFailureException(Messages.getString("NewManagedProject.4") + projectName); //$NON-NLS-1$
+			} else if (!project.hasNature(YoctoSDKAutotoolsProjectNature.YoctoSDK_AUTOTOOLS_NATURE_ID)) {
+				throw new ProcessFailureException(Messages.getString("NewManagedProject.3") + //$NON-NLS-1$
+						YoctoSDKMessages.getFormattedString("AutotoolsProjectPostProcess.WrongProjectNature", //$NON-NLS-1$
+								projectName));
+			} else {
+				IPath path = project.getLocation();
+				String path_str = path.toString();
+				String autogen_cmd = "chmod +x " + path_str + "/autogen.sh";
+				try {
+					Runtime rt = Runtime.getRuntime();
+					Process proc = rt.exec(autogen_cmd);
+					InputStream stdin = proc.getInputStream();
+					InputStreamReader isr = new InputStreamReader(stdin);
+					BufferedReader br = new BufferedReader(isr);
+					String line = null;
+					String error_message = "";
+
+					while ( (line = br.readLine()) != null) {
+						error_message = error_message + line;
+					}
+
+					int exitVal = proc.waitFor();
+					if (exitVal != 0) {
+						throw new ProcessFailureException("Failed to make autogen.sh executable for project: " + projectName);
+					}
+				} catch (Throwable t) {
+					t.printStackTrace();
+
+				}
+			}
+		}
+		catch (Exception e)
+		{
+			throw new ProcessFailureException(Messages.getString("NewManagedProject.3") + e.getMessage(), e); //$NON-NLS-1$
+		}
+	}
+}
diff --git a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/wizard/NewYoctoProjectPostProcess.java b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/wizard/NewYoctoProjectPostProcess.java
deleted file mode 100644
index d028ee6..0000000
--- a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/wizard/NewYoctoProjectPostProcess.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Intel Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Intel - initial API and implementation
- *******************************************************************************/
-package org.yocto.sdk.ide.wizard;
-
-import java.io.BufferedReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-import org.eclipse.cdt.core.templateengine.TemplateCore;
-import org.eclipse.cdt.core.templateengine.process.ProcessArgument;
-import org.eclipse.cdt.core.templateengine.process.ProcessFailureException;
-import org.eclipse.cdt.core.templateengine.process.ProcessRunner;
-import org.eclipse.cdt.core.templateengine.process.processes.Messages;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-
- at SuppressWarnings("restriction")
-public class NewYoctoProjectPostProcess extends ProcessRunner {
-	
-	public NewYoctoProjectPostProcess() {}
-	
-	public void process(TemplateCore template, ProcessArgument[] args, String processId, IProgressMonitor monitor) throws ProcessFailureException {
-
-		String projectName = args[0].getSimpleValue();
-		
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		try {
-			if (!project.exists()) {
-					throw new ProcessFailureException(Messages.getString("NewManagedProject.4") + projectName); //$NON-NLS-1$
-				} else {
-					IPath path = project.getLocation();
-					String path_str = path.toString();
-					String autogen_cmd = "chmod +x " + path_str + "/autogen.sh";
-					try {
-						Runtime rt = Runtime.getRuntime();
-						Process proc = rt.exec(autogen_cmd);
-						InputStream stdin = proc.getInputStream();
-						InputStreamReader isr = new InputStreamReader(stdin);
-						BufferedReader br = new BufferedReader(isr);
-						String line = null;
-						String error_message = "";
-						
-						while ( (line = br.readLine()) != null) {
-							error_message = error_message + line;
-						}
-						
-						int exitVal = proc.waitFor();
-						if (exitVal != 0) {
-							throw new ProcessFailureException("Failed to make autogen.sh executable for project: " + projectName);
-						} 
-					} catch (Throwable t) {
-						t.printStackTrace();
-						
-					}
-				}
-		}
-		catch (Exception e)
-		{
-			throw new ProcessFailureException(Messages.getString("NewManagedProject.3") + e.getMessage(), e); //$NON-NLS-1$
-		} 
-	}
-}
diff --git a/plugins/org.yocto.sdk.ide/templates/projecttemplates/HelloWorldCAutotoolsProject/template.xml b/plugins/org.yocto.sdk.ide/templates/projecttemplates/HelloWorldCAutotoolsProject/template.xml
index 27dc2f2..33bffd5 100644
--- a/plugins/org.yocto.sdk.ide/templates/projecttemplates/HelloWorldCAutotoolsProject/template.xml
+++ b/plugins/org.yocto.sdk.ide/templates/projecttemplates/HelloWorldCAutotoolsProject/template.xml
@@ -135,9 +135,8 @@
 		</complex-array>
 	</process>
 
-	<process type="org.yocto.sdk.ide.NewYoctoProjectPostProcess">
-		<simple name="projectName" value="$(projectName)" /> 
+	<process type="org.yocto.sdk.ide.NewYoctoAutotoolsProjectPostProcess">
+		<simple name="projectName" value="$(projectName)" />
 	</process>
 
 </template>
-
diff --git a/plugins/org.yocto.sdk.ide/templates/projecttemplates/HelloWorldCGTKAutotoolsProject/template.xml b/plugins/org.yocto.sdk.ide/templates/projecttemplates/HelloWorldCGTKAutotoolsProject/template.xml
index 16bde16..8a4f43b 100644
--- a/plugins/org.yocto.sdk.ide/templates/projecttemplates/HelloWorldCGTKAutotoolsProject/template.xml
+++ b/plugins/org.yocto.sdk.ide/templates/projecttemplates/HelloWorldCGTKAutotoolsProject/template.xml
@@ -135,8 +135,7 @@
 		</complex-array>
 	</process>
 
-	<process type="org.yocto.sdk.ide.NewYoctoProjectPostProcess">
+	<process type="org.yocto.sdk.ide.NewYoctoAutotoolsProjectPostProcess">
 		<simple name="projectName" value="$(projectName)" />
 	</process>
 </template>
-
diff --git a/plugins/org.yocto.sdk.ide/templates/projecttemplates/HelloWorldCPPAutotoolsProject/template.xml b/plugins/org.yocto.sdk.ide/templates/projecttemplates/HelloWorldCPPAutotoolsProject/template.xml
index 105ce94..0b807d8 100644
--- a/plugins/org.yocto.sdk.ide/templates/projecttemplates/HelloWorldCPPAutotoolsProject/template.xml
+++ b/plugins/org.yocto.sdk.ide/templates/projecttemplates/HelloWorldCPPAutotoolsProject/template.xml
@@ -135,8 +135,7 @@
 		</complex-array>
 	</process>
 
-	<process type="org.yocto.sdk.ide.NewYoctoProjectPostProcess">
-		<simple name="projectName" value="$(projectName)" /> 
+	<process type="org.yocto.sdk.ide.NewYoctoAutotoolsProjectPostProcess">
+		<simple name="projectName" value="$(projectName)" />
 	</process>
 </template>
-
-- 
1.7.9.5




More information about the yocto mailing list