Skip to content

Commit bc75f46

Browse files
committed
Add support for associated urls to https://github.com/ARMmbed organization. Now 'mbed import mbed-os' is equivalent of 'mbed import https://github.com/ARMmbed/mbed-os'
1 parent ea38feb commit bc75f46

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

mbed/mbed.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@
3131
import zipfile
3232

3333

34+
# Application version
35+
ver = '0.6.3'
36+
3437
# Default paths to Mercurial and Git
3538
hg_cmd = 'hg'
3639
git_cmd = 'git'
37-
ver = '0.6.3'
3840

3941
ignores = [
4042
# Version control folders
@@ -88,26 +90,24 @@
8890

8991
# reference to local (unpublished) repo - dir#rev
9092
regex_local_ref = r'^([\w.+-][\w./+-]*?)/?(?:#(.*))?$'
91-
9293
# reference to repo - url#rev
9394
regex_url_ref = r'^(.*/([\w+-]+)(?:\.\w+)?)/?(?:#(.*))?$'
9495

9596
# git url (no #rev)
9697
regex_git_url = r'^(git@|git\://|ssh\://|https?\://)([^/:]+)[:/](.+?)(\.git|\/?)$'
97-
9898
# hg url (no #rev)
9999
regex_hg_url = r'^(file|ssh|https?)://([^/:]+)/([^/]+)/?([^/]+?)?$'
100100

101101
# mbed url is subset of hg. mbed doesn't support ssh transport
102102
regex_mbed_url = r'^(https?)://([\w\-\.]*mbed\.(co\.uk|org|com))/(users|teams)/([\w\-]{1,32})/(repos|code)/([\w\-]+)/?$'
103103
regex_build_url = r'^(https?://([\w\-\.]*mbed\.(co\.uk|org|com))/(users|teams)/([\w\-]{1,32})/(repos|code)/([\w\-]+))/builds/?([\w\-]{12,40}|tip)?/?$'
104104

105+
# base url for all mbed related repos (used as sort of index)
106+
mbed_base_url = 'https://github.com/ARMmbed'
105107
# default mbed OS url
106108
mbed_os_url = 'https://github.com/ARMmbed/mbed-os'
107-
108109
# default mbed library url
109110
mbed_lib_url = 'https://mbed.org/users/mbed_official/code/mbed/builds/'
110-
111111
# mbed SDK tools needed for programs based on mbed SDK library
112112
mbed_sdk_tools_url = 'https://mbed.org/users/mbed_official/code/mbed-sdk-tools'
113113

@@ -868,6 +868,11 @@ def revtype(cls, rev, ret_rev=False):
868868
else:
869869
return 'branch' + (' '+rev if ret_rev else '')
870870

871+
@classmethod
872+
def isurl(cls, url):
873+
m = re.match(regex_url_ref, url.strip().replace('\\', '/'))
874+
return True if m else False
875+
871876
@property
872877
def lib(self):
873878
return self.path + '.' + ('bld' if self.is_build else 'lib')
@@ -1447,6 +1452,10 @@ def new(name, scm='git', program=False, library=False, mbedlib=False, create_onl
14471452
def import_(url, path=None, ignore=False, depth=None, protocol=None, top=True):
14481453
global cwd_root
14491454

1455+
# translate 'mbed-os' to https://github.com/ARMmbed/mbed-os
1456+
if not Repo.isurl(url) and not os.path.exists(url):
1457+
url = mbed_base_url+'/'+url
1458+
14501459
repo = Repo.fromurl(url, path)
14511460
if top:
14521461
if cwd_type != "directory":

0 commit comments

Comments
 (0)