- validate that generated md5sums and sha256 sums are valid before populating the fields - clear all previous commands output (like after source & bitbake -e) in order to limit output parsing
Signed-off-by: Ioana Grigoropol <ioanax.grigoro...@intel.com> --- .../org/yocto/bc/remote/utils/RemoteHelper.java | 3 -- .../remote/utils/YoctoHostShellProcessAdapter.java | 8 ++++-- .../ui/wizards/NewBitBakeFileRecipeWizardPage.java | 29 ++++++++++---------- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/RemoteHelper.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/RemoteHelper.java index 430dc6d..9c88ee7 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/RemoteHelper.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/RemoteHelper.java @@ -301,8 +301,6 @@ public class RemoteHelper { } public static void runBatchRemote(IHost connection, List<YoctoCommand> cmds, IProgressMonitor monitor, boolean waitForOutput) throws CoreException { - connection.getHostName(); - connection.getDefaultUserId(); try { String remoteCommand = ""; for (YoctoCommand cmd : cmds) { @@ -364,5 +362,4 @@ public class RemoteHelper { } return false; } - } diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java index a772dc4..b75401c 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java @@ -11,7 +11,6 @@ import org.eclipse.rse.services.shells.IHostOutput; import org.eclipse.rse.services.shells.IHostShell; import org.eclipse.rse.services.shells.IHostShellChangeEvent; import org.eclipse.rse.services.shells.IHostShellOutputReader; -import org.eclipse.swt.widgets.Display; public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter{ private ProcessStreamBuffer processStreamBuffer; @@ -75,7 +74,6 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter{ private void reportProgress(String info) { - if(calculator == null) { updateMonitor(1); } else { @@ -125,7 +123,6 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter{ this.commandResponseHandler.response(value, false); } } - AbstractHostShellOutputReader absReader = (AbstractHostShellOutputReader)reader; isAlive = absReader.isAlive(); isFinished = absReader.isFinished(); @@ -145,4 +142,9 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter{ public void setAlive(boolean isAlive) { this.isAlive = isAlive; } + + public void clearProcessBuffer() { + this.processStreamBuffer.outputLines.clear(); + this.processStreamBuffer.errorLines.clear(); + } } diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java index f45158f..eac1211 100644 --- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java +++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java @@ -18,6 +18,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.regex.Pattern; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IProject; @@ -95,6 +96,8 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage { private static final String CONFIGURE_IN = "configure.in"; private static final String CONFIGURE_AC = "configure.ac"; private static final String AUTOTOOLS = "autotools"; + private static final String md5Pattern = "^[0-9a-e]{32}$"; + protected static final String sha256Pattern = "^[0-9a-e]{64}$"; public NewBitBakeFileRecipeWizardPage(ISelection selection, IHost connection) { super("wizardPage"); @@ -302,14 +305,6 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage { } catch (Exception e) { e.printStackTrace(); } -// populateRecipeName(srcURI); -// populateSrcUriChecksum(srcURI, monitor); -// -// URI extractDir = extractPackage(srcURI, monitor); -// populateLicenseFileChecksum(extractDir, monitor); -// updateSrcUri(createMirrorLookupTable(monitor), srcURI); -// populateInheritance(extractDir, monitor); - } else { String packageName = getSrcFileName(false).replace("-", "_"); fileText.setText(packageName + BB_RECIPE_EXT); @@ -318,10 +313,7 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage { } } catch (URISyntaxException e) { e.printStackTrace(); - } /*catch (MalformedURLException e) { - e.printStackTrace(); - }*/ - + } } private void handleLocalPopulate(URI srcURI, IProgressMonitor monitor) { @@ -330,6 +322,7 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage { } private void handleRemotePopulate(URI srcURI, IProgressMonitor monitor) throws Exception { + RemoteHelper.clearProcessBuffer(connection); populateRecipeName(srcURI); List<YoctoCommand> commands = new ArrayList<YoctoCommand>(); @@ -363,9 +356,12 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage { updateSrcUri(createMirrorLookupTable(monitor), srcURI); populateInheritance(extractDir, monitor); - md5sumText.setText(retrieveSum(md5YCmd)); - sha256sumText.setText(retrieveSum(sha256YCmd)); - checksumText.setText(RemoteHelper.createNewURI(extractDir, COPYING_FILE).toString() + ";md5=" + retrieveSum(licenseChecksumCmd)); + String md5Val = retrieveSum(md5YCmd); + md5sumText.setText(Pattern.matches(md5Pattern, md5Val) ? md5Val : ""); + String sha256Val = retrieveSum(sha256YCmd); + sha256sumText.setText(Pattern.matches(sha256Pattern, sha256Val) ? sha256Val : ""); + String checkSumVal = retrieveSum(licenseChecksumCmd); + checksumText.setText(RemoteHelper.createNewURI(extractDir, COPYING_FILE).toString() + ";md5=" + (Pattern.matches(md5Pattern, checkSumVal) ? checkSumVal : "")); } private String retrieveSum(YoctoCommand cmd) { @@ -409,6 +405,9 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage { private void populateInheritance(URI extractDir, IProgressMonitor monitor) { IHostFile[] hostFiles = RemoteHelper.getRemoteDirContent(connection, metaDirLoc.getPath(), "", IFileService.FILE_TYPE_FILES, monitor); + if (hostFiles == null) + return; + for (IHostFile file: hostFiles) { String fileName = file.getName(); if (fileName.equalsIgnoreCase(CMAKE_LIST)){ -- 1.7.9.5 _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto