/** * get the range including all the versions that have the same minor components * * @param s1 the precise version we want to get the full range for * @return the range ins Cabal syntax */ public static String getMinorRange(final String s1) { String[] ss1 = s1.split("\\."); // $NON-NLS-1$ if (ss1.length > 2) { try { return ">=" + ss1[0] + "." + ss1[1] + "." + ss1[2] + " && <" + ss1[0] + "." + ss1[1] + "." + (Integer.parseInt(ss1[2]) + 1); } catch (NumberFormatException nfe) { HaskellCorePlugin.log(nfe); } } else if (ss1.length > 1) { try { return ">=" + ss1[0] + "." + ss1[1] + " && <" + ss1[0] + "." + ss1[1] + ".1"; } catch (NumberFormatException nfe) { HaskellCorePlugin.log(nfe); } } return ""; }
/** * get the range including all the versions that have the same major components or above * * @param s1 the precise version we want to get the full range for * @return the range ins Cabal syntax */ public static String getFromMajorRange(final String s1) { String[] ss1 = s1.split("\\."); // $NON-NLS-1$ if (ss1.length > 1) { try { return ">=" + ss1[0] + "." + ss1[1]; } catch (NumberFormatException nfe) { HaskellCorePlugin.log(nfe); } } return ""; }
private void createFile( final IProject project, final IPath fileName, final String content, final IProgressMonitor mo) throws CoreException { try { IFile file = project.getFile(fileName); // file may exist if project is created from source version control if (!file.exists()) { InputStream is = new ByteArrayInputStream(content.getBytes(FileUtil.UTF8)); IProgressMonitor monitor = new SubProgressMonitor(mo, 1); file.create(is, true, monitor); file.setCharset(FileUtil.UTF8, mo); } } catch (UnsupportedEncodingException uex) { HaskellCorePlugin.log(uex); } }