diff --git a/qgispluginci/exceptions.py b/qgispluginci/exceptions.py index 53abda2f..43c28f47 100755 --- a/qgispluginci/exceptions.py +++ b/qgispluginci/exceptions.py @@ -24,3 +24,7 @@ class UncommitedChanges(Exception): class ConfigurationNotFound(Exception): pass + + +class BuiltResourceInSources(Exception): + pass diff --git a/qgispluginci/release.py b/qgispluginci/release.py index 8738f4fb..bb4073b4 100644 --- a/qgispluginci/release.py +++ b/qgispluginci/release.py @@ -25,6 +25,7 @@ from qgispluginci.changelog import ChangelogParser from qgispluginci.exceptions import ( + BuiltResourceInSources, GithubReleaseCouldNotUploadAsset, GithubReleaseNotFound, UncommitedChanges, @@ -179,6 +180,14 @@ def create_archive( ] ) for file in glob("{}/*_rc.py".format(parameters.plugin_path)): + with tarfile.open(top_tar_file, mode="r:") as tt: + for n in tt.getnames(): + if n == file: + raise BuiltResourceInSources( + 'The file "{}" is present in the sources and its name conflicts with a just built resource. You might want to remove it from the sources or setting export-ignore in .gitattributes config file.'.format( + file + ) + ) with tarfile.open(top_tar_file, mode="a") as tt: print(" adding resource: {}".format(file)) # https://stackoverflow.com/a/48462950/1548052