Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Medeiros Teixeira2013-01-10 19:35:19 +0000
committerAlexander Kurtakov2013-02-27 07:11:41 +0000
commit95a683e007593eb70afb35718b1e6648470dc57e (patch)
tree1c646b5f2a04bad2cacd270387ffa8895aef1e47 /rpm/org.eclipse.linuxtools.rpm.core
parentefb6335f028c98f90437c1d644904f064dcc3bd2 (diff)
downloadorg.eclipse.linuxtools-95a683e007593eb70afb35718b1e6648470dc57e.tar.gz
org.eclipse.linuxtools-95a683e007593eb70afb35718b1e6648470dc57e.tar.xz
org.eclipse.linuxtools-95a683e007593eb70afb35718b1e6648470dc57e.zip
rpm: adding an error message when exporting to rpm a project that doesn't contain a specfile
Change-Id: I1b6aa7f86f625f292dd80c7892f2d3e383dcba06 Reviewed-on: https://git.eclipse.org/r/9600 Tested-by: Hudson CI Reviewed-by: Alexander Kurtakov <akurtako@redhat.com> IP-Clean: Alexander Kurtakov <akurtako@redhat.com> Tested-by: Alexander Kurtakov <akurtako@redhat.com>
Diffstat (limited to 'rpm/org.eclipse.linuxtools.rpm.core')
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/Messages.java2
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/RPMBuild.java5
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/internal/rpm/core/utils/messages.properties1
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.core/src/org/eclipse/linuxtools/rpm/core/RPMProject.java4
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.
}

Back to the top