Remove TemplateProject subclassing
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
from .base import TemplateProject # noqa
|
||||
from .c import CTemplateProject # noqa
|
||||
from .c import new_c_project # noqa
|
||||
|
||||
+19
-19
@@ -2,7 +2,7 @@ import jinja2
|
||||
from .base import TemplateProject
|
||||
|
||||
|
||||
spam_c_template = r'''
|
||||
SPAM_C_TEMPLATE = r'''
|
||||
#include <Python.h>
|
||||
|
||||
{{ spam_c_top_level_add }}
|
||||
@@ -59,7 +59,7 @@ MOD_INIT(spam)
|
||||
}
|
||||
'''
|
||||
|
||||
setup_py_template = r'''
|
||||
SETUP_PY_TEMPLATE = r'''
|
||||
from setuptools import setup, Extension
|
||||
|
||||
{{ setup_py_add }}
|
||||
@@ -70,7 +70,7 @@ setup(
|
||||
)
|
||||
'''
|
||||
|
||||
setup_cfg_template = r'''
|
||||
SETUP_CFG_TEMPLATE = r'''
|
||||
[metadata]
|
||||
name = spam
|
||||
version = 0.1.0
|
||||
@@ -79,22 +79,22 @@ version = 0.1.0
|
||||
'''
|
||||
|
||||
|
||||
class CTemplateProject(TemplateProject):
|
||||
def __init__(self, *, spam_c_top_level_add='', spam_c_function_add='', setup_py_add='',
|
||||
setup_py_setup_args_add='', setup_cfg_add=''):
|
||||
def new_c_project(*, spam_c_top_level_add='', spam_c_function_add='', setup_py_add='',
|
||||
setup_py_setup_args_add='', setup_cfg_add=''):
|
||||
project = TemplateProject()
|
||||
|
||||
super().__init__()
|
||||
project.files.update({
|
||||
'spam.c': jinja2.Template(SPAM_C_TEMPLATE),
|
||||
'setup.py': jinja2.Template(SETUP_PY_TEMPLATE),
|
||||
'setup.cfg': jinja2.Template(SETUP_CFG_TEMPLATE),
|
||||
})
|
||||
|
||||
self.files.update({
|
||||
'spam.c': jinja2.Template(spam_c_template),
|
||||
'setup.py': jinja2.Template(setup_py_template),
|
||||
'setup.cfg': jinja2.Template(setup_cfg_template),
|
||||
})
|
||||
project.template_context.update({
|
||||
'spam_c_top_level_add': spam_c_top_level_add,
|
||||
'spam_c_function_add': spam_c_function_add,
|
||||
'setup_py_add': setup_py_add,
|
||||
'setup_py_setup_args_add': setup_py_setup_args_add,
|
||||
'setup_cfg_add': setup_cfg_add,
|
||||
})
|
||||
|
||||
self.template_context.update({
|
||||
'spam_c_top_level_add': spam_c_top_level_add,
|
||||
'spam_c_function_add': spam_c_function_add,
|
||||
'setup_py_add': setup_py_add,
|
||||
'setup_py_setup_args_add': setup_py_setup_args_add,
|
||||
'setup_cfg_add': setup_cfg_add,
|
||||
})
|
||||
return project
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import textwrap
|
||||
import platform
|
||||
from .template_projects import CTemplateProject
|
||||
from . import template_projects
|
||||
from . import utils
|
||||
|
||||
basic_project = CTemplateProject(
|
||||
basic_project = template_projects.new_c_project(
|
||||
setup_py_add=textwrap.dedent('''
|
||||
import os
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import textwrap
|
||||
|
||||
from . import utils
|
||||
from .template_projects import CTemplateProject
|
||||
from . import template_projects
|
||||
|
||||
project_with_before_build_asserts = CTemplateProject(
|
||||
project_with_before_build_asserts = template_projects.new_c_project(
|
||||
setup_py_add=textwrap.dedent(r'''
|
||||
import sys, os
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from .template_projects.c import CTemplateProject
|
||||
from . import template_projects
|
||||
from . import utils
|
||||
|
||||
before_test_project = CTemplateProject()
|
||||
before_test_project = template_projects.new_c_project()
|
||||
before_test_project.files['test/spam_test.py'] = r'''
|
||||
import sys
|
||||
import os
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import textwrap
|
||||
|
||||
from . import utils
|
||||
from .template_projects import CTemplateProject
|
||||
from . import template_projects
|
||||
|
||||
project_with_skip_asserts = CTemplateProject(
|
||||
project_with_skip_asserts = template_projects.new_c_project(
|
||||
setup_py_add=textwrap.dedent(r'''
|
||||
# explode if run on Python 2.7 or Python 3.7 (these should be skipped)
|
||||
if sys.version_info[0:2] == (2, 7):
|
||||
|
||||
@@ -5,10 +5,10 @@ import textwrap
|
||||
import cibuildwheel.util
|
||||
|
||||
from . import utils
|
||||
from .template_projects import CTemplateProject
|
||||
from . import template_projects
|
||||
|
||||
|
||||
project_with_expected_version_checks = CTemplateProject(
|
||||
project_with_expected_version_checks = template_projects.new_c_project(
|
||||
setup_py_add=textwrap.dedent(r'''
|
||||
import subprocess
|
||||
import os
|
||||
|
||||
@@ -4,9 +4,9 @@ import textwrap
|
||||
import pytest
|
||||
|
||||
from . import utils
|
||||
from .template_projects import CTemplateProject
|
||||
from . import template_projects
|
||||
|
||||
dockcross_only_project = CTemplateProject(
|
||||
dockcross_only_project = template_projects.new_c_project(
|
||||
setup_py_add=textwrap.dedent(r'''
|
||||
import os, sys
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@ import pytest
|
||||
import subprocess
|
||||
import textwrap
|
||||
from . import utils
|
||||
from .template_projects import CTemplateProject
|
||||
from . import template_projects
|
||||
|
||||
|
||||
project_with_environment_asserts = CTemplateProject(
|
||||
project_with_environment_asserts = template_projects.new_c_project(
|
||||
setup_py_add=textwrap.dedent(r'''
|
||||
import os
|
||||
|
||||
@@ -47,7 +47,7 @@ def test(tmp_path):
|
||||
def test_overridden_path(tmp_path):
|
||||
project_dir = tmp_path / 'project'
|
||||
output_dir = tmp_path / 'output'
|
||||
CTemplateProject().generate(project_dir)
|
||||
new_c_project().generate(project_dir)
|
||||
output_dir.mkdir()
|
||||
|
||||
# mess up PATH, somehow
|
||||
|
||||
@@ -4,10 +4,10 @@ import textwrap
|
||||
import pytest
|
||||
|
||||
from . import utils
|
||||
from .template_projects import CTemplateProject
|
||||
from . import template_projects
|
||||
|
||||
# TODO: specify these at runtime according to manylinux_image
|
||||
project_with_manylinux_symbols = CTemplateProject(
|
||||
project_with_manylinux_symbols = template_projects.new_c_project(
|
||||
spam_c_top_level_add=textwrap.dedent(r'''
|
||||
#include <malloc.h>
|
||||
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
import textwrap
|
||||
|
||||
from . import utils
|
||||
from .template_projects import CTemplateProject
|
||||
from . import template_projects
|
||||
|
||||
project_with_ssl_tests = CTemplateProject(
|
||||
project_with_ssl_tests = template_projects.new_c_project(
|
||||
setup_py_add=textwrap.dedent(r'''
|
||||
import ssl
|
||||
import sys
|
||||
|
||||
@@ -4,11 +4,11 @@ import jinja2
|
||||
|
||||
from . import utils
|
||||
from .template_projects import TemplateProject
|
||||
from .template_projects.c import spam_c_template
|
||||
from .template_projects.c import SPAM_C_TEMPLATE
|
||||
|
||||
subdir_package_project = TemplateProject()
|
||||
|
||||
subdir_package_project.files['src/spam/spam.c'] = jinja2.Template(spam_c_template)
|
||||
subdir_package_project.files['src/spam/spam.c'] = jinja2.Template(SPAM_C_TEMPLATE)
|
||||
subdir_package_project.template_context['spam_c_top_level_add'] = ''
|
||||
subdir_package_project.template_context['spam_c_function_add'] = ''
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@ import textwrap
|
||||
import pytest
|
||||
|
||||
from . import utils
|
||||
from .template_projects import CTemplateProject
|
||||
from . import template_projects
|
||||
|
||||
project_with_a_test = CTemplateProject(
|
||||
project_with_a_test = template_projects.new_c_project(
|
||||
setup_cfg_add=textwrap.dedent(r'''
|
||||
[options.extras_require]
|
||||
test = nose
|
||||
|
||||
Reference in New Issue
Block a user