Skip to content

Commit 435b4c3

Browse files
committed
Add check for no matching files in TDK
1 parent 32efa30 commit 435b4c3

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

packages/dsw-tdk/dsw/tdk/core.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,10 @@ def store_local(self, force: bool):
165165
if self.project is None:
166166
raise RuntimeError('No template project is initialized')
167167
self.project.template = self.safe_template
168+
if len(self.project.template.tdk_config.files) == 0:
169+
self.project.template.tdk_config.use_default_files()
170+
self.logger.warning('Using default _tdk.files in template.json, you may want '
171+
'to change it to include relevant files')
168172
self.logger.debug('Initiating storing local template project (force=%s)', force)
169173
self.project.store(force=force)
170174

@@ -301,6 +305,9 @@ async def _create_template_file(self, tfile: TemplateFile, project_update: bool
301305
tfile.remote_type.value, tfile.filename.as_posix(), e)
302306

303307
async def store_remote_files(self):
308+
if len(self.safe_project.safe_template.files) == 0:
309+
self.logger.warning('No files to store, maybe you forgot to '
310+
'update _tdk.files patterns in template.json?')
304311
for tfile in self.safe_project.safe_template.files.values():
305312
tfile.remote_id = None
306313
tfile.remote_type = TemplateFileType.FILE if tfile.is_text else TemplateFileType.ASSET
@@ -333,6 +340,9 @@ def create_package(self, output: pathlib.Path, force: bool):
333340
pkg.writestr(f'template/assets/{tfile.filename.as_posix()}', tfile.content)
334341
descriptor['files'] = files
335342
descriptor['assets'] = assets
343+
if len(files) == 0 and len(assets) == 0:
344+
self.logger.warning('No files or assets found in the template, maybe you forgot '
345+
'to update _tdk.files patterns in template.json?')
336346
timestamp = datetime.datetime.now(tz=datetime.UTC).strftime('%Y-%m-%dT%H:%M:%S.%fZ')
337347
descriptor['createdAt'] = timestamp
338348
descriptor['updatedAt'] = timestamp
@@ -355,7 +365,9 @@ def extract_package(self, zip_data: bytes, template_dir: pathlib.Path | None, fo
355365
raise RuntimeError('Malformed package: missing template.json file')
356366
data = json.loads(template_file.read_text(encoding=DEFAULT_ENCODING))
357367
template = Template.load_local(data)
358-
template.tdk_config.files = ['*', '!.git/', '!.env']
368+
template.tdk_config.use_default_files()
369+
self.logger.warning('Using default _tdk.files in template.json, you may want '
370+
'to change it to include relevant files')
359371
self.logger.debug('Preparing template dir')
360372
if template_dir is None:
361373
template_dir = pathlib.Path.cwd() / template.id.replace(':', '_')
@@ -372,8 +384,8 @@ def extract_package(self, zip_data: bytes, template_dir: pathlib.Path | None, fo
372384
encoding=DEFAULT_ENCODING,
373385
)
374386
self.logger.debug('Extracting README.md from package')
375-
local_template_json = template_dir / 'README.md'
376-
local_template_json.write_text(
387+
local_readme = template_dir / 'README.md'
388+
local_readme.write_text(
377389
data=data['readme'].replace('\r\n', '\n'),
378390
encoding=DEFAULT_ENCODING,
379391
)

packages/dsw-tdk/dsw/tdk/model.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ def serialize(self):
101101
class TDKConfig:
102102

103103
DEFAULT_README = 'README.md'
104-
DEFAULT_FILES = ['*']
104+
DEFAULT_FILES = ['*', '!.git/', '!.env']
105105

106106
def __init__(self, *, version: str | None = None, readme_file: str | None = None,
107107
files: list[str] | None = None):
@@ -118,6 +118,9 @@ def load(cls, data):
118118
files=data.get('files', cls.DEFAULT_FILES),
119119
)
120120

121+
def use_default_files(self):
122+
self.files = self.DEFAULT_FILES
123+
121124
def serialize(self):
122125
return {
123126
'version': self.version,

0 commit comments

Comments
 (0)