diff options
Diffstat (limited to 'rpm/org.eclipse.linuxtools.rpm.core')
4 files changed, 11 insertions, 1 deletions
diff --git a/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/Messages.java b/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/Messages.java index cd15668433..e6215ee79f 100644 --- a/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/Messages.java +++ b/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/Messages.java @@ -19,6 +19,8 @@ public class Messages extends NLS { private static final String BUNDLE_NAME = "org.eclipse.linuxtools.internal.rpm.core.utils.messages"; //$NON-NLS-1$ /** Download + name message */ public static String DownloadJob_0; + /** Message shown when trying to export a RPM project that doesn't have a specfile*/ + public static String Specfile_not_found; static { // initialize resource bundle NLS.initializeMessages(BUNDLE_NAME, Messages.class); diff --git a/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/RPMBuild.java b/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/RPMBuild.java index 971f460dfe..cbd858454c 100644 --- a/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/RPMBuild.java +++ b/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/RPMBuild.java @@ -150,6 +150,11 @@ public class RPMBuild { */ public IStatus build(IResource specFile, OutputStream outStream, String buildParameter) throws CoreException { + if(specFile == null){ + throw new CoreException(new Status(IStatus.ERROR, + IRPMConstants.RPM_CORE_ID, Messages.Specfile_not_found)); + } + List<String> command = new ArrayList<String>(); IRemoteProxyManager rmtProxyMgr; IRemoteCommandLauncher rmtCmdLauncher = null; diff --git a/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/messages.properties b/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/messages.properties index 29f286a4f0..2df1394361 100644 --- a/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/messages.properties +++ b/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/messages.properties @@ -9,3 +9,4 @@ # Alexander Kurtakov - initial API and implementation ############################################################################### DownloadJob_0=Downloading: {0} +Specfile_not_found=No specfiles were found in the project diff --git a/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/rpm/core/RPMProject.java b/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/rpm/core/RPMProject.java index e8c429a33b..a5fe65dea5 100644 --- a/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/rpm/core/RPMProject.java +++ b/rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/rpm/core/RPMProject.java @@ -88,7 +88,9 @@ public class RPMProject { try { specsFolder.accept(specVisitor); List<IResource> installedSpecs = specVisitor.getSpecFiles(); - file = installedSpecs.get(0); + if(installedSpecs.size() > 0){ + file = installedSpecs.get(0); + } } catch (CoreException e) { // ignore, failed to find .spec file. } |