private HgUrlParserResult parseScmUrl()

in maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java [95:133]


    private HgUrlParserResult parseScmUrl(String scmSpecificUrl) {
        HgUrlParserResult result = new HgUrlParserResult();

        // ----------------------------------------------------------------------
        // Do some sanity checking of the SVN url
        // ----------------------------------------------------------------------

        if (scmSpecificUrl.startsWith("file")) {
            if (!scmSpecificUrl.startsWith("file:///") && !scmSpecificUrl.startsWith("file://localhost/")) {
                result.messages.add("An hg 'file' url must be on the form 'file:///' or 'file://localhost/'.");

                return result;
            }
        } else if (scmSpecificUrl.startsWith("https")) {
            if (!scmSpecificUrl.startsWith("https://")) {
                result.messages.add("An hg 'http' url must be on the form 'https://'.");

                return result;
            }
        } else if (scmSpecificUrl.startsWith("http")) {
            if (!scmSpecificUrl.startsWith("http://")) {
                result.messages.add("An hg 'http' url must be on the form 'http://'.");

                return result;
            }
        } else {
            try {
                new File(scmSpecificUrl);
            } catch (Throwable e) {
                result.messages.add("The filename provided is not valid");

                return result;
            }
        }

        result.repository = new HgScmProviderRepository(scmSpecificUrl);

        return result;
    }