Merge pull request #269 from udiboy1209/master
Implement source.include_patterns
This commit is contained in:
commit
aab0028ea4
2 changed files with 20 additions and 5 deletions
|
@ -700,6 +700,9 @@ class Buildozer(object):
|
||||||
exclude_exts = self.config.getlist('app', 'source.exclude_exts', '')
|
exclude_exts = self.config.getlist('app', 'source.exclude_exts', '')
|
||||||
exclude_dirs = self.config.getlist('app', 'source.exclude_dirs', '')
|
exclude_dirs = self.config.getlist('app', 'source.exclude_dirs', '')
|
||||||
exclude_patterns = self.config.getlist('app', 'source.exclude_patterns', '')
|
exclude_patterns = self.config.getlist('app', 'source.exclude_patterns', '')
|
||||||
|
include_patterns = self.config.getlist('app',
|
||||||
|
'source.include_patterns',
|
||||||
|
'')
|
||||||
app_dir = self.app_dir
|
app_dir = self.app_dir
|
||||||
|
|
||||||
self.debug('Copy application source from {}'.format(source_dir))
|
self.debug('Copy application source from {}'.format(source_dir))
|
||||||
|
@ -726,14 +729,19 @@ class Buildozer(object):
|
||||||
if filtered_root.startswith(exclude_dir):
|
if filtered_root.startswith(exclude_dir):
|
||||||
is_excluded = True
|
is_excluded = True
|
||||||
break
|
break
|
||||||
if is_excluded:
|
|
||||||
continue
|
|
||||||
|
|
||||||
# pattern matching
|
# pattern matching
|
||||||
|
if not is_excluded:
|
||||||
|
# match pattern if not ruled out by exclude_dirs
|
||||||
for pattern in exclude_patterns:
|
for pattern in exclude_patterns:
|
||||||
if fnmatch(filtered_root, pattern):
|
if fnmatch(filtered_root, pattern):
|
||||||
is_excluded = True
|
is_excluded = True
|
||||||
break
|
break
|
||||||
|
for pattern in include_patterns:
|
||||||
|
if fnmatch(filtered_root, pattern):
|
||||||
|
is_excluded = False
|
||||||
|
break
|
||||||
|
|
||||||
if is_excluded:
|
if is_excluded:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -742,7 +750,7 @@ class Buildozer(object):
|
||||||
if fn.startswith('.'):
|
if fn.startswith('.'):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# exclusion by pattern matching
|
# pattern matching
|
||||||
is_excluded = False
|
is_excluded = False
|
||||||
dfn = fn.lower()
|
dfn = fn.lower()
|
||||||
if filtered_root:
|
if filtered_root:
|
||||||
|
@ -751,6 +759,10 @@ class Buildozer(object):
|
||||||
if fnmatch(dfn, pattern):
|
if fnmatch(dfn, pattern):
|
||||||
is_excluded = True
|
is_excluded = True
|
||||||
break
|
break
|
||||||
|
for pattern in include_patterns:
|
||||||
|
if fnmatch(dfn, pattern):
|
||||||
|
is_excluded = False
|
||||||
|
break
|
||||||
if is_excluded:
|
if is_excluded:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,9 @@ source.dir = .
|
||||||
# (list) Source files to include (let empty to include all the files)
|
# (list) Source files to include (let empty to include all the files)
|
||||||
source.include_exts = py,png,jpg,kv,atlas
|
source.include_exts = py,png,jpg,kv,atlas
|
||||||
|
|
||||||
|
# (list) List of inclusions using pattern matching
|
||||||
|
#source.include_patterns = assets/*,images/*.png
|
||||||
|
|
||||||
# (list) Source files to exclude (let empty to not exclude anything)
|
# (list) Source files to exclude (let empty to not exclude anything)
|
||||||
#source.exclude_exts = spec
|
#source.exclude_exts = spec
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue