diff options
author | Rafael Medeiros Teixeira | 2013-01-10 19:35:19 +0000 |
---|---|---|
committer | Alexander Kurtakov | 2013-02-27 07:11:41 +0000 |
commit | 95a683e007593eb70afb35718b1e6648470dc57e (patch) | |
tree | 1c646b5f2a04bad2cacd270387ffa8895aef1e47 /rpm/org.eclipse.linuxtools.rpm.core | |
parent | efb6335f028c98f90437c1d644904f064dcc3bd2 (diff) | |
download | org.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')
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. } |