diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 0000000..a20a28f --- /dev/null +++ b/.coveragerc @@ -0,0 +1,28 @@ +# .coveragerc to control coverage.py +[run] +branch = True +source = eiffellib +# omit = bad_file.py + +[paths] +source = + src/ + */site-packages/ + +[report] +# Regexes for lines to exclude from consideration +exclude_lines = + # Have to re-enable the standard pragma + pragma: no cover + + # Don't complain about missing debug-only code: + def __repr__ + if self\.debug + + # Don't complain if tests don't hit defensive assertion code: + raise AssertionError + raise NotImplementedError + + # Don't complain if non-runnable code isn't run: + if 0: + if __name__ == .__main__.: diff --git a/.gitignore b/.gitignore index 9d350bf..99a9ca4 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ *.orig *.log *.pot +*.tags __pycache__/* .cache/* .*.swp diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..13b3ed0 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +recursive-include src/eiffellib *.json diff --git a/docs/Makefile b/docs/Makefile index a54b223..31655dd 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,193 +1,29 @@ # Makefile for Sphinx documentation # -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . BUILDDIR = _build AUTODOCDIR = api -AUTODOCBUILD = sphinx-apidoc -PROJECT = eiffellib -MODULEDIR = ../eiffellib # User-friendly check for sphinx-build ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $?), 1) -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) +$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from https://sphinx-doc.org/") endif -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext doc-requirements +.PHONY: help clean Makefile +# Put it first so that "make" without argument is like "make help". help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @echo " pseudoxml to make pseudoxml-XML files for display purposes" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) clean: rm -rf $(BUILDDIR)/* $(AUTODOCDIR) -$(AUTODOCDIR): $(MODULEDIR) - mkdir -p $@ - $(AUTODOCBUILD) -f -o $@ $^ - -doc-requirements: $(AUTODOCDIR) - -html: doc-requirements - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: doc-requirements - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: doc-requirements - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: doc-requirements - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: doc-requirements - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: doc-requirements - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: doc-requirements - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/$(PROJECT).qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/$(PROJECT).qhc" - -devhelp: doc-requirements - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $HOME/.local/share/devhelp/$(PROJECT)" - @echo "# ln -s $(BUILDDIR)/devhelp $HOME/.local/share/devhelp/$(PROJEC)" - @echo "# devhelp" - -epub: doc-requirements - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -patch-latex: - find _build/latex -iname "*.tex" | xargs -- \ - sed -i'' 's~includegraphics{~includegraphics\[keepaspectratio,max size={\\textwidth}{\\textheight}\]{~g' - -latex: doc-requirements - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - $(MAKE) patch-latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: doc-requirements - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - $(MAKE) patch-latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -latexpdfja: doc-requirements - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through platex and dvipdfmx..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: doc-requirements - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: doc-requirements - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: doc-requirements - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -info: doc-requirements - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -gettext: doc-requirements - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: doc-requirements - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: doc-requirements - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: doc-requirements - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -xml: doc-requirements - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -pseudoxml: doc-requirements - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/conf.py b/docs/conf.py index edc7999..4fe4965 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,30 +1,29 @@ -# -*- coding: utf-8 -*- -# # This file is execfile()d with the current directory set to its containing dir. # -# Note that not all possible configuration values are present in this -# autogenerated file. +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html # # All configuration values have a default; values that are commented out # serve to show the default. import os import sys -import inspect import shutil -__location__ = os.path.join(os.getcwd(), os.path.dirname( - inspect.getfile(inspect.currentframe()))) +# -- Path setup -------------------------------------------------------------- + +__location__ = os.path.dirname(__file__) # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -sys.path.insert(0, os.path.join(__location__, '../')) +sys.path.insert(0, os.path.join(__location__, "../src")) -# -- Run sphinx-apidoc ------------------------------------------------------ +# -- Run sphinx-apidoc ------------------------------------------------------- # This hack is necessary since RTD does not issue `sphinx-apidoc` before running # `sphinx-build -b html . _build/html`. See Issue: -# https://github.com/rtfd/readthedocs.org/issues/1139 +# https://github.com/readthedocs/readthedocs.org/issues/1139 # DON'T FORGET: Check the box "Install your project inside a virtualenv using # setup.py install" in the RTD Advanced Settings. # Additionally it helps us to avoid running apidoc manually @@ -35,7 +34,7 @@ from sphinx import apidoc output_dir = os.path.join(__location__, "api") -module_dir = os.path.join(__location__, "../eiffellib") +module_dir = os.path.join(__location__, "../src/eiffellib") try: shutil.rmtree(output_dir) except FileNotFoundError: @@ -43,55 +42,72 @@ try: import sphinx - from distutils.version import LooseVersion - cmd_line_template = "sphinx-apidoc -f -o {outputdir} {moduledir}" - cmd_line = cmd_line_template.format(outputdir=output_dir, moduledir=module_dir) + cmd_line = f"sphinx-apidoc --implicit-namespaces -f -o {output_dir} {module_dir}" args = cmd_line.split(" ") - if LooseVersion(sphinx.__version__) >= LooseVersion('1.7'): + if tuple(sphinx.__version__.split(".")) >= ("1", "7"): + # This is a rudimentary parse_version to avoid external dependencies args = args[1:] apidoc.main(args) except Exception as e: print("Running `sphinx-apidoc` failed!\n{}".format(e)) -# -- General configuration ----------------------------------------------------- +# -- General configuration --------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. # needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', - 'sphinx.ext.autosummary', 'sphinx.ext.viewcode', 'sphinx.ext.coverage', - 'sphinx.ext.doctest', 'sphinx.ext.ifconfig', 'sphinx.ext.mathjax', - 'sphinx.ext.napoleon', 'm2r'] +extensions = [ + "sphinx.ext.autodoc", + "sphinx.ext.intersphinx", + "sphinx.ext.todo", + "sphinx.ext.autosummary", + "sphinx.ext.viewcode", + "sphinx.ext.coverage", + "sphinx.ext.doctest", + "sphinx.ext.ifconfig", + "sphinx.ext.mathjax", + "sphinx.ext.napoleon", + "m2r", +] # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ["_templates"] # The suffix of source filenames. -source_suffix = '.rst' +source_suffix = ".rst" # The encoding of source files. # source_encoding = 'utf-8-sig' # The master toctree document. -master_doc = 'index' +master_doc = "index" # General information about the project. -project = u'eiffellib' -copyright = u'2019, Axis Communications AB' +project = "eiffellib" +copyright = "2019, Axis Communications AB" # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # -# The short X.Y version. -version = '' # Is set by calling `setup.py docs` -# The full version, including alpha/beta/rc tags. -release = '' # Is set by calling `setup.py docs` +# version: The short X.Y version. +# release: The full version, including alpha/beta/rc tags. +# If you don’t need the separation provided between version and release, +# just set them both to the same value. +try: + from eiffellib import __version__ as version +except ImportError: + version = "" + +if not version or version.lower() == "unknown": + version = os.getenv("READTHEDOCS_VERSION", "unknown") # automatically set by RTD + +release = version # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -105,7 +121,7 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = ['_build'] +exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", ".venv"] # The reST default role (used for this markup: `text`) to use for all documents. # default_role = None @@ -122,7 +138,7 @@ # show_authors = False # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = "sphinx" # A list of ignored prefixes for module index sorting. # modindex_common_prefix = [] @@ -130,13 +146,15 @@ # If true, keep warnings as "system message" paragraphs in the built documents. # keep_warnings = False +# If this is True, todo emits a warning for each TODO entries. The default is False. +todo_emit_warnings = True -# -- Options for HTML output --------------------------------------------------- + +# -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -# html_theme = 'alabaster' -html_theme = 'sphinx_rtd_theme' +html_theme = "sphinx_rtd_theme" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the @@ -148,12 +166,7 @@ # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -try: - from eiffellib import __version__ as version -except ImportError: - pass -else: - release = version +# html_title = None # A shorter title for the navigation bar. Default is the same as html_title. # html_short_title = None @@ -170,7 +183,7 @@ # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +html_static_path = ["_static"] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. @@ -214,27 +227,24 @@ # html_file_suffix = None # Output file base name for HTML help builder. -htmlhelp_basename = 'eiffellib-doc' +htmlhelp_basename = "eiffellib-doc" -# -- Options for LaTeX output -------------------------------------------------- +# -- Options for LaTeX output ------------------------------------------------ latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -# 'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -# 'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -# 'preamble': '', + # The paper size ("letterpaper" or "a4paper"). + # "papersize": "letterpaper", + # The font size ("10pt", "11pt" or "12pt"). + # "pointsize": "10pt", + # Additional stuff for the LaTeX preamble. + # "preamble": "", } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ - ('index', 'user_guide.tex', u'Eiffellib Documentation', - u'', 'manual'), + ("index", "user_guide.tex", "eiffellib Documentation", "", "manual") ] # The name of an image file (relative to this directory) to place at the top of @@ -257,14 +267,18 @@ # If false, no module index is generated. # latex_domain_indices = True -# -- External mapping ------------------------------------------------------------ -python_version = '.'.join(map(str, sys.version_info[0:2])) +# -- External mapping -------------------------------------------------------- +python_version = ".".join(map(str, sys.version_info[0:2])) intersphinx_mapping = { - 'sphinx': ('http://www.sphinx-doc.org/en/stable', None), - 'python': ('https://docs.python.org/' + python_version, None), - 'matplotlib': ('https://matplotlib.org', None), - 'numpy': ('https://docs.scipy.org/doc/numpy', None), - 'sklearn': ('http://scikit-learn.org/stable', None), - 'pandas': ('http://pandas.pydata.org/pandas-docs/stable', None), - 'scipy': ('https://docs.scipy.org/doc/scipy/reference', None), + "sphinx": ("https://www.sphinx-doc.org/en/master", None), + "python": ("https://docs.python.org/" + python_version, None), + "matplotlib": ("https://matplotlib.org", None), + "numpy": ("https://numpy.org/doc/stable", None), + "sklearn": ("https://scikit-learn.org/stable", None), + "pandas": ("https://pandas.pydata.org/pandas-docs/stable", None), + "scipy": ("https://docs.scipy.org/doc/scipy/reference", None), + "setuptools": ("https://setuptools.pypa.io/en/stable/", None), + "pyscaffold": ("https://pyscaffold.org/en/stable", None), } + +print(f"loading configurations for {project} {version} ...", file=sys.stderr) diff --git a/docs/requirements.txt b/docs/requirements.txt index e5083e8..0e4682e 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,2 +1,2 @@ -pyscaffold==2.5.10 +pyscaffold==4.3.1 m2r==0.2.1 diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..89a5bed --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,9 @@ +[build-system] +# AVOID CHANGING REQUIRES: IT WILL BE UPDATED BY PYSCAFFOLD! +requires = ["setuptools>=46.1.0", "setuptools_scm[toml]>=5"] +build-backend = "setuptools.build_meta" + +[tool.setuptools_scm] +# For smarter version schemes and other configuration options, +# check out https://github.com/pypa/setuptools_scm +version_scheme = "no-guess-dev" diff --git a/setup.cfg b/setup.cfg index ee3ea9f..dd2bab5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -10,31 +10,44 @@ classifiers = Development Status :: 5 - Production/Stable Programming Language :: Python License :: OSI Approved :: Apache Software License -[entry_points] - [options] +zip_safe = False +packages = find_namespace: +include_package_data = True +package_dir = + =src +# DON'T CHANGE THE FOLLOWING LINE! IT WILL BE UPDATED BY PYSCAFFOLD! install_requires = + importlib-metadata; python_version<"3.8" jsonschema >= 3.0.0,<4 +[options.package_data] +* = *.json + +[options.packages.find] +where = src +exclude = + tests + [options.extras_require] rabbitmq = pika >= 1.0.1,<2 +testing = + pytest + pytest-cov -[files] -packages = - eiffellib - -[extras] +[options.entry_points] [test] -addopts = tests +extras = True [tool:pytest] addopts = --cov eiffellib --cov-report term-missing --verbose +testpaths = tests [aliases] -docs = build_sphinx +dists = bdist_wheel [bdist_wheel] universal = 1 @@ -43,9 +56,18 @@ universal = 1 source_dir = docs build_dir = docs/_build -[pbr] -autodoc_tree_index_modules = True - [devpi:upload] no-vcs = 1 formats = bdist_wheel + +[flake8] +exclude = + .tox + build + dist + .eggs + docs/conf.py + +[pyscaffold] +version = 4.3.1 +package = eiffellib diff --git a/setup.py b/setup.py index f69ec30..694d567 100644 --- a/setup.py +++ b/setup.py @@ -1,22 +1,14 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -"""Setup file for eiffellib. - -This file was generated with PyScaffold 2.5, a tool that easily -puts up a scaffold for your new Python project. Learn more under: -http://pyscaffold.readthedocs.org/ -""" - -import sys +"""Setup file for eiffellib.""" from setuptools import setup - -def setup_package(): - needs_sphinx = {'build_sphinx', 'upload_docs'}.intersection(sys.argv) - sphinx = ['sphinx', 'm2r'] if needs_sphinx else [] - setup(setup_requires=['six', 'pyscaffold>=2.5a0,<2.6a0'] + sphinx, - use_pyscaffold=True) - - if __name__ == "__main__": - setup_package() + try: + setup(use_scm_version={"version_scheme": "no-guess-dev"}) + except: # noqa + print( + "\n\nAn error occurred while building the project, " + "please ensure you have the most updated version of setuptools, " + "setuptools_scm and wheel with:\n" + " pip install -U setuptools setuptools_scm wheel\n\n" + ) + raise diff --git a/eiffellib/__init__.py b/src/eiffellib/__init__.py similarity index 55% rename from eiffellib/__init__.py rename to src/eiffellib/__init__.py index 64dc29d..4e592c1 100644 --- a/eiffellib/__init__.py +++ b/src/eiffellib/__init__.py @@ -13,6 +13,22 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +import sys import os BASE_PATH = os.path.dirname(os.path.abspath(__file__)) + +if sys.version_info[:2] >= (3, 8): + # TODO: Import directly (no need for conditional) when `python_requires = >= 3.8` + from importlib.metadata import PackageNotFoundError, version # pragma: no cover +else: + from importlib_metadata import PackageNotFoundError, version # pragma: no cover + +try: + # Change here if project is renamed and does not equal the package name + dist_name = __name__ + __version__ = version(dist_name) +except PackageNotFoundError: # pragma: no cover + __version__ = "unknown" +finally: + del version, PackageNotFoundError diff --git a/eiffellib/activity.py b/src/eiffellib/activity.py similarity index 100% rename from eiffellib/activity.py rename to src/eiffellib/activity.py diff --git a/eiffellib/events/__init__.py b/src/eiffellib/events/__init__.py similarity index 100% rename from eiffellib/events/__init__.py rename to src/eiffellib/events/__init__.py diff --git a/eiffellib/events/eiffel_activity_canceled_event.py b/src/eiffellib/events/eiffel_activity_canceled_event.py similarity index 100% rename from eiffellib/events/eiffel_activity_canceled_event.py rename to src/eiffellib/events/eiffel_activity_canceled_event.py diff --git a/eiffellib/events/eiffel_activity_finished_event.py b/src/eiffellib/events/eiffel_activity_finished_event.py similarity index 100% rename from eiffellib/events/eiffel_activity_finished_event.py rename to src/eiffellib/events/eiffel_activity_finished_event.py diff --git a/eiffellib/events/eiffel_activity_started_event.py b/src/eiffellib/events/eiffel_activity_started_event.py similarity index 100% rename from eiffellib/events/eiffel_activity_started_event.py rename to src/eiffellib/events/eiffel_activity_started_event.py diff --git a/eiffellib/events/eiffel_activity_triggered_event.py b/src/eiffellib/events/eiffel_activity_triggered_event.py similarity index 100% rename from eiffellib/events/eiffel_activity_triggered_event.py rename to src/eiffellib/events/eiffel_activity_triggered_event.py diff --git a/eiffellib/events/eiffel_announcement_published_event.py b/src/eiffellib/events/eiffel_announcement_published_event.py similarity index 100% rename from eiffellib/events/eiffel_announcement_published_event.py rename to src/eiffellib/events/eiffel_announcement_published_event.py diff --git a/eiffellib/events/eiffel_artifact_created_event.py b/src/eiffellib/events/eiffel_artifact_created_event.py similarity index 100% rename from eiffellib/events/eiffel_artifact_created_event.py rename to src/eiffellib/events/eiffel_artifact_created_event.py diff --git a/eiffellib/events/eiffel_artifact_published_event.py b/src/eiffellib/events/eiffel_artifact_published_event.py similarity index 100% rename from eiffellib/events/eiffel_artifact_published_event.py rename to src/eiffellib/events/eiffel_artifact_published_event.py diff --git a/eiffellib/events/eiffel_artifact_reused_event.py b/src/eiffellib/events/eiffel_artifact_reused_event.py similarity index 100% rename from eiffellib/events/eiffel_artifact_reused_event.py rename to src/eiffellib/events/eiffel_artifact_reused_event.py diff --git a/eiffellib/events/eiffel_base_event.py b/src/eiffellib/events/eiffel_base_event.py similarity index 100% rename from eiffellib/events/eiffel_base_event.py rename to src/eiffellib/events/eiffel_base_event.py diff --git a/eiffellib/events/eiffel_composition_defined_event.py b/src/eiffellib/events/eiffel_composition_defined_event.py similarity index 100% rename from eiffellib/events/eiffel_composition_defined_event.py rename to src/eiffellib/events/eiffel_composition_defined_event.py diff --git a/eiffellib/events/eiffel_confidence_level_modified_event.py b/src/eiffellib/events/eiffel_confidence_level_modified_event.py similarity index 100% rename from eiffellib/events/eiffel_confidence_level_modified_event.py rename to src/eiffellib/events/eiffel_confidence_level_modified_event.py diff --git a/eiffellib/events/eiffel_environment_defined_event.py b/src/eiffellib/events/eiffel_environment_defined_event.py similarity index 100% rename from eiffellib/events/eiffel_environment_defined_event.py rename to src/eiffellib/events/eiffel_environment_defined_event.py diff --git a/eiffellib/events/eiffel_flow_context_defined_event.py b/src/eiffellib/events/eiffel_flow_context_defined_event.py similarity index 100% rename from eiffellib/events/eiffel_flow_context_defined_event.py rename to src/eiffellib/events/eiffel_flow_context_defined_event.py diff --git a/eiffellib/events/eiffel_issue_defined_event.py b/src/eiffellib/events/eiffel_issue_defined_event.py similarity index 100% rename from eiffellib/events/eiffel_issue_defined_event.py rename to src/eiffellib/events/eiffel_issue_defined_event.py diff --git a/eiffellib/events/eiffel_issue_verified_event.py b/src/eiffellib/events/eiffel_issue_verified_event.py similarity index 100% rename from eiffellib/events/eiffel_issue_verified_event.py rename to src/eiffellib/events/eiffel_issue_verified_event.py diff --git a/eiffellib/events/eiffel_source_change_created_event.py b/src/eiffellib/events/eiffel_source_change_created_event.py similarity index 100% rename from eiffellib/events/eiffel_source_change_created_event.py rename to src/eiffellib/events/eiffel_source_change_created_event.py diff --git a/eiffellib/events/eiffel_source_change_submitted_event.py b/src/eiffellib/events/eiffel_source_change_submitted_event.py similarity index 100% rename from eiffellib/events/eiffel_source_change_submitted_event.py rename to src/eiffellib/events/eiffel_source_change_submitted_event.py diff --git a/eiffellib/events/eiffel_test_case_canceled_event.py b/src/eiffellib/events/eiffel_test_case_canceled_event.py similarity index 100% rename from eiffellib/events/eiffel_test_case_canceled_event.py rename to src/eiffellib/events/eiffel_test_case_canceled_event.py diff --git a/eiffellib/events/eiffel_test_case_finished_event.py b/src/eiffellib/events/eiffel_test_case_finished_event.py similarity index 100% rename from eiffellib/events/eiffel_test_case_finished_event.py rename to src/eiffellib/events/eiffel_test_case_finished_event.py diff --git a/eiffellib/events/eiffel_test_case_started_event.py b/src/eiffellib/events/eiffel_test_case_started_event.py similarity index 100% rename from eiffellib/events/eiffel_test_case_started_event.py rename to src/eiffellib/events/eiffel_test_case_started_event.py diff --git a/eiffellib/events/eiffel_test_case_triggered_event.py b/src/eiffellib/events/eiffel_test_case_triggered_event.py similarity index 100% rename from eiffellib/events/eiffel_test_case_triggered_event.py rename to src/eiffellib/events/eiffel_test_case_triggered_event.py diff --git a/eiffellib/events/eiffel_test_execution_recipe_collection_created_event.py b/src/eiffellib/events/eiffel_test_execution_recipe_collection_created_event.py similarity index 100% rename from eiffellib/events/eiffel_test_execution_recipe_collection_created_event.py rename to src/eiffellib/events/eiffel_test_execution_recipe_collection_created_event.py diff --git a/eiffellib/events/eiffel_test_suite_finished_event.py b/src/eiffellib/events/eiffel_test_suite_finished_event.py similarity index 100% rename from eiffellib/events/eiffel_test_suite_finished_event.py rename to src/eiffellib/events/eiffel_test_suite_finished_event.py diff --git a/eiffellib/events/eiffel_test_suite_started_event.py b/src/eiffellib/events/eiffel_test_suite_started_event.py similarity index 100% rename from eiffellib/events/eiffel_test_suite_started_event.py rename to src/eiffellib/events/eiffel_test_suite_started_event.py diff --git a/eiffellib/lib/__init__.py b/src/eiffellib/lib/__init__.py similarity index 100% rename from eiffellib/lib/__init__.py rename to src/eiffellib/lib/__init__.py diff --git a/eiffellib/lib/base_rabbitmq.py b/src/eiffellib/lib/base_rabbitmq.py similarity index 100% rename from eiffellib/lib/base_rabbitmq.py rename to src/eiffellib/lib/base_rabbitmq.py diff --git a/eiffellib/publishers/__init__.py b/src/eiffellib/publishers/__init__.py similarity index 100% rename from eiffellib/publishers/__init__.py rename to src/eiffellib/publishers/__init__.py diff --git a/eiffellib/publishers/eiffel_publisher.py b/src/eiffellib/publishers/eiffel_publisher.py similarity index 100% rename from eiffellib/publishers/eiffel_publisher.py rename to src/eiffellib/publishers/eiffel_publisher.py diff --git a/eiffellib/publishers/rabbitmq_publisher.py b/src/eiffellib/publishers/rabbitmq_publisher.py similarity index 100% rename from eiffellib/publishers/rabbitmq_publisher.py rename to src/eiffellib/publishers/rabbitmq_publisher.py diff --git a/eiffellib/schemas/EiffelActivityCanceledEvent/1.0.0.json b/src/eiffellib/schemas/EiffelActivityCanceledEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityCanceledEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelActivityCanceledEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelActivityCanceledEvent/1.1.0.json b/src/eiffellib/schemas/EiffelActivityCanceledEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityCanceledEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelActivityCanceledEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelActivityCanceledEvent/2.0.0.json b/src/eiffellib/schemas/EiffelActivityCanceledEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityCanceledEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelActivityCanceledEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelActivityCanceledEvent/3.0.0.json b/src/eiffellib/schemas/EiffelActivityCanceledEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityCanceledEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelActivityCanceledEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelActivityCanceledEvent/3.1.0.json b/src/eiffellib/schemas/EiffelActivityCanceledEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityCanceledEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelActivityCanceledEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelActivityFinishedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelActivityFinishedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityFinishedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelActivityFinishedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelActivityFinishedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelActivityFinishedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityFinishedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelActivityFinishedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelActivityFinishedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelActivityFinishedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityFinishedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelActivityFinishedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelActivityFinishedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelActivityFinishedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityFinishedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelActivityFinishedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelActivityFinishedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelActivityFinishedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityFinishedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelActivityFinishedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelActivityFinishedEvent/3.2.0.json b/src/eiffellib/schemas/EiffelActivityFinishedEvent/3.2.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityFinishedEvent/3.2.0.json rename to src/eiffellib/schemas/EiffelActivityFinishedEvent/3.2.0.json diff --git a/eiffellib/schemas/EiffelActivityStartedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelActivityStartedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityStartedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelActivityStartedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelActivityStartedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelActivityStartedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityStartedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelActivityStartedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelActivityStartedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelActivityStartedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityStartedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelActivityStartedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelActivityStartedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelActivityStartedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityStartedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelActivityStartedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelActivityStartedEvent/4.0.0.json b/src/eiffellib/schemas/EiffelActivityStartedEvent/4.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityStartedEvent/4.0.0.json rename to src/eiffellib/schemas/EiffelActivityStartedEvent/4.0.0.json diff --git a/eiffellib/schemas/EiffelActivityStartedEvent/4.1.0.json b/src/eiffellib/schemas/EiffelActivityStartedEvent/4.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityStartedEvent/4.1.0.json rename to src/eiffellib/schemas/EiffelActivityStartedEvent/4.1.0.json diff --git a/eiffellib/schemas/EiffelActivityStartedEvent/4.2.0.json b/src/eiffellib/schemas/EiffelActivityStartedEvent/4.2.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityStartedEvent/4.2.0.json rename to src/eiffellib/schemas/EiffelActivityStartedEvent/4.2.0.json diff --git a/eiffellib/schemas/EiffelActivityTriggeredEvent/1.0.0.json b/src/eiffellib/schemas/EiffelActivityTriggeredEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityTriggeredEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelActivityTriggeredEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelActivityTriggeredEvent/1.1.0.json b/src/eiffellib/schemas/EiffelActivityTriggeredEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityTriggeredEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelActivityTriggeredEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelActivityTriggeredEvent/2.0.0.json b/src/eiffellib/schemas/EiffelActivityTriggeredEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityTriggeredEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelActivityTriggeredEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelActivityTriggeredEvent/3.0.0.json b/src/eiffellib/schemas/EiffelActivityTriggeredEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityTriggeredEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelActivityTriggeredEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelActivityTriggeredEvent/4.0.0.json b/src/eiffellib/schemas/EiffelActivityTriggeredEvent/4.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityTriggeredEvent/4.0.0.json rename to src/eiffellib/schemas/EiffelActivityTriggeredEvent/4.0.0.json diff --git a/eiffellib/schemas/EiffelActivityTriggeredEvent/4.1.0.json b/src/eiffellib/schemas/EiffelActivityTriggeredEvent/4.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelActivityTriggeredEvent/4.1.0.json rename to src/eiffellib/schemas/EiffelActivityTriggeredEvent/4.1.0.json diff --git a/eiffellib/schemas/EiffelAnnouncementPublishedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelAnnouncementPublishedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelAnnouncementPublishedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelAnnouncementPublishedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelAnnouncementPublishedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelAnnouncementPublishedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelAnnouncementPublishedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelAnnouncementPublishedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelAnnouncementPublishedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelAnnouncementPublishedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelAnnouncementPublishedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelAnnouncementPublishedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelAnnouncementPublishedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelAnnouncementPublishedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelAnnouncementPublishedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelAnnouncementPublishedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelAnnouncementPublishedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelAnnouncementPublishedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelAnnouncementPublishedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelAnnouncementPublishedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelArtifactCreatedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelArtifactCreatedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactCreatedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelArtifactCreatedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelArtifactCreatedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelArtifactCreatedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactCreatedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelArtifactCreatedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelArtifactCreatedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelArtifactCreatedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactCreatedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelArtifactCreatedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelArtifactCreatedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelArtifactCreatedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactCreatedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelArtifactCreatedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelArtifactCreatedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelArtifactCreatedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactCreatedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelArtifactCreatedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelArtifactPublishedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelArtifactPublishedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactPublishedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelArtifactPublishedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelArtifactPublishedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelArtifactPublishedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactPublishedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelArtifactPublishedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelArtifactPublishedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelArtifactPublishedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactPublishedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelArtifactPublishedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelArtifactPublishedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelArtifactPublishedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactPublishedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelArtifactPublishedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelArtifactPublishedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelArtifactPublishedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactPublishedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelArtifactPublishedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelArtifactPublishedEvent/3.2.0.json b/src/eiffellib/schemas/EiffelArtifactPublishedEvent/3.2.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactPublishedEvent/3.2.0.json rename to src/eiffellib/schemas/EiffelArtifactPublishedEvent/3.2.0.json diff --git a/eiffellib/schemas/EiffelArtifactReusedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelArtifactReusedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactReusedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelArtifactReusedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelArtifactReusedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelArtifactReusedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactReusedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelArtifactReusedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelArtifactReusedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelArtifactReusedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactReusedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelArtifactReusedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelArtifactReusedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelArtifactReusedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactReusedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelArtifactReusedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelArtifactReusedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelArtifactReusedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelArtifactReusedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelArtifactReusedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelCompositionDefinedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelCompositionDefinedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelCompositionDefinedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelCompositionDefinedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelCompositionDefinedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelCompositionDefinedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelCompositionDefinedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelCompositionDefinedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelCompositionDefinedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelCompositionDefinedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelCompositionDefinedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelCompositionDefinedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelCompositionDefinedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelCompositionDefinedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelCompositionDefinedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelCompositionDefinedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelCompositionDefinedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelCompositionDefinedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelCompositionDefinedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelCompositionDefinedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelCompositionDefinedEvent/3.2.0.json b/src/eiffellib/schemas/EiffelCompositionDefinedEvent/3.2.0.json similarity index 100% rename from eiffellib/schemas/EiffelCompositionDefinedEvent/3.2.0.json rename to src/eiffellib/schemas/EiffelCompositionDefinedEvent/3.2.0.json diff --git a/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelConfidenceLevelModifiedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelEnvironmentDefinedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelEnvironmentDefinedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelEnvironmentDefinedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelEnvironmentDefinedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelEnvironmentDefinedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelEnvironmentDefinedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelEnvironmentDefinedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelEnvironmentDefinedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelEnvironmentDefinedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelEnvironmentDefinedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelEnvironmentDefinedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelEnvironmentDefinedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelEnvironmentDefinedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelEnvironmentDefinedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelEnvironmentDefinedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelEnvironmentDefinedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelEnvironmentDefinedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelEnvironmentDefinedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelEnvironmentDefinedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelEnvironmentDefinedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelEnvironmentDefinedEvent/3.2.0.json b/src/eiffellib/schemas/EiffelEnvironmentDefinedEvent/3.2.0.json similarity index 100% rename from eiffellib/schemas/EiffelEnvironmentDefinedEvent/3.2.0.json rename to src/eiffellib/schemas/EiffelEnvironmentDefinedEvent/3.2.0.json diff --git a/eiffellib/schemas/EiffelFlowContextDefinedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelFlowContextDefinedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelFlowContextDefinedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelFlowContextDefinedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelFlowContextDefinedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelFlowContextDefinedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelFlowContextDefinedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelFlowContextDefinedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelFlowContextDefinedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelFlowContextDefinedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelFlowContextDefinedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelFlowContextDefinedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelFlowContextDefinedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelFlowContextDefinedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelFlowContextDefinedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelFlowContextDefinedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelFlowContextDefinedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelFlowContextDefinedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelFlowContextDefinedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelFlowContextDefinedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelIssueDefinedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelIssueDefinedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelIssueDefinedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelIssueDefinedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelIssueDefinedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelIssueDefinedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelIssueDefinedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelIssueDefinedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelIssueDefinedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelIssueDefinedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelIssueDefinedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelIssueDefinedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelIssueDefinedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelIssueDefinedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelIssueDefinedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelIssueDefinedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelIssueVerifiedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelIssueVerifiedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelIssueVerifiedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelIssueVerifiedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelIssueVerifiedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelIssueVerifiedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelIssueVerifiedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelIssueVerifiedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelIssueVerifiedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelIssueVerifiedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelIssueVerifiedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelIssueVerifiedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelIssueVerifiedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelIssueVerifiedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelIssueVerifiedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelIssueVerifiedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelIssueVerifiedEvent/4.0.0.json b/src/eiffellib/schemas/EiffelIssueVerifiedEvent/4.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelIssueVerifiedEvent/4.0.0.json rename to src/eiffellib/schemas/EiffelIssueVerifiedEvent/4.0.0.json diff --git a/eiffellib/schemas/EiffelIssueVerifiedEvent/4.1.0.json b/src/eiffellib/schemas/EiffelIssueVerifiedEvent/4.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelIssueVerifiedEvent/4.1.0.json rename to src/eiffellib/schemas/EiffelIssueVerifiedEvent/4.1.0.json diff --git a/eiffellib/schemas/EiffelSourceChangeCreatedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelSourceChangeCreatedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelSourceChangeCreatedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelSourceChangeCreatedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelSourceChangeCreatedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelSourceChangeCreatedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelSourceChangeCreatedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelSourceChangeCreatedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelSourceChangeCreatedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelSourceChangeCreatedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelSourceChangeCreatedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelSourceChangeCreatedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelSourceChangeCreatedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelSourceChangeCreatedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelSourceChangeCreatedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelSourceChangeCreatedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelSourceChangeCreatedEvent/4.0.0.json b/src/eiffellib/schemas/EiffelSourceChangeCreatedEvent/4.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelSourceChangeCreatedEvent/4.0.0.json rename to src/eiffellib/schemas/EiffelSourceChangeCreatedEvent/4.0.0.json diff --git a/eiffellib/schemas/EiffelSourceChangeCreatedEvent/4.1.0.json b/src/eiffellib/schemas/EiffelSourceChangeCreatedEvent/4.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelSourceChangeCreatedEvent/4.1.0.json rename to src/eiffellib/schemas/EiffelSourceChangeCreatedEvent/4.1.0.json diff --git a/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelSourceChangeSubmittedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelSourceChangeSubmittedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelSourceChangeSubmittedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelSourceChangeSubmittedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelSourceChangeSubmittedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelSourceChangeSubmittedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelTestCaseCanceledEvent/1.0.0.json b/src/eiffellib/schemas/EiffelTestCaseCanceledEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseCanceledEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelTestCaseCanceledEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelTestCaseCanceledEvent/1.1.0.json b/src/eiffellib/schemas/EiffelTestCaseCanceledEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseCanceledEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelTestCaseCanceledEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelTestCaseCanceledEvent/2.0.0.json b/src/eiffellib/schemas/EiffelTestCaseCanceledEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseCanceledEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelTestCaseCanceledEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelTestCaseCanceledEvent/3.0.0.json b/src/eiffellib/schemas/EiffelTestCaseCanceledEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseCanceledEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelTestCaseCanceledEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelTestCaseCanceledEvent/3.1.0.json b/src/eiffellib/schemas/EiffelTestCaseCanceledEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseCanceledEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelTestCaseCanceledEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelTestCaseFinishedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelTestCaseFinishedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseFinishedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelTestCaseFinishedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelTestCaseFinishedEvent/1.0.1.json b/src/eiffellib/schemas/EiffelTestCaseFinishedEvent/1.0.1.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseFinishedEvent/1.0.1.json rename to src/eiffellib/schemas/EiffelTestCaseFinishedEvent/1.0.1.json diff --git a/eiffellib/schemas/EiffelTestCaseFinishedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelTestCaseFinishedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseFinishedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelTestCaseFinishedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelTestCaseFinishedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelTestCaseFinishedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseFinishedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelTestCaseFinishedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelTestCaseFinishedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelTestCaseFinishedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseFinishedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelTestCaseFinishedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelTestCaseFinishedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelTestCaseFinishedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseFinishedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelTestCaseFinishedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelTestCaseFinishedEvent/3.2.0.json b/src/eiffellib/schemas/EiffelTestCaseFinishedEvent/3.2.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseFinishedEvent/3.2.0.json rename to src/eiffellib/schemas/EiffelTestCaseFinishedEvent/3.2.0.json diff --git a/eiffellib/schemas/EiffelTestCaseStartedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelTestCaseStartedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseStartedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelTestCaseStartedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelTestCaseStartedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelTestCaseStartedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseStartedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelTestCaseStartedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelTestCaseStartedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelTestCaseStartedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseStartedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelTestCaseStartedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelTestCaseStartedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelTestCaseStartedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseStartedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelTestCaseStartedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelTestCaseStartedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelTestCaseStartedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseStartedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelTestCaseStartedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelTestCaseStartedEvent/3.2.0.json b/src/eiffellib/schemas/EiffelTestCaseStartedEvent/3.2.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseStartedEvent/3.2.0.json rename to src/eiffellib/schemas/EiffelTestCaseStartedEvent/3.2.0.json diff --git a/eiffellib/schemas/EiffelTestCaseTriggeredEvent/1.0.0.json b/src/eiffellib/schemas/EiffelTestCaseTriggeredEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseTriggeredEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelTestCaseTriggeredEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelTestCaseTriggeredEvent/1.1.0.json b/src/eiffellib/schemas/EiffelTestCaseTriggeredEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseTriggeredEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelTestCaseTriggeredEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelTestCaseTriggeredEvent/2.0.0.json b/src/eiffellib/schemas/EiffelTestCaseTriggeredEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseTriggeredEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelTestCaseTriggeredEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelTestCaseTriggeredEvent/3.0.0.json b/src/eiffellib/schemas/EiffelTestCaseTriggeredEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseTriggeredEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelTestCaseTriggeredEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelTestCaseTriggeredEvent/3.1.0.json b/src/eiffellib/schemas/EiffelTestCaseTriggeredEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestCaseTriggeredEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelTestCaseTriggeredEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/2.1.0.json b/src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/2.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/2.1.0.json rename to src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/2.1.0.json diff --git a/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.0.0.json b/src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.0.0.json rename to src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.0.0.json diff --git a/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.1.0.json b/src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.1.0.json rename to src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.1.0.json diff --git a/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.1.1.json b/src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.1.1.json similarity index 100% rename from eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.1.1.json rename to src/eiffellib/schemas/EiffelTestExecutionRecipeCollectionCreatedEvent/4.1.1.json diff --git a/eiffellib/schemas/EiffelTestSuiteFinishedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelTestSuiteFinishedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestSuiteFinishedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelTestSuiteFinishedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelTestSuiteFinishedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelTestSuiteFinishedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestSuiteFinishedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelTestSuiteFinishedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelTestSuiteFinishedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelTestSuiteFinishedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestSuiteFinishedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelTestSuiteFinishedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelTestSuiteFinishedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelTestSuiteFinishedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestSuiteFinishedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelTestSuiteFinishedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelTestSuiteFinishedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelTestSuiteFinishedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestSuiteFinishedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelTestSuiteFinishedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelTestSuiteFinishedEvent/3.2.0.json b/src/eiffellib/schemas/EiffelTestSuiteFinishedEvent/3.2.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestSuiteFinishedEvent/3.2.0.json rename to src/eiffellib/schemas/EiffelTestSuiteFinishedEvent/3.2.0.json diff --git a/eiffellib/schemas/EiffelTestSuiteStartedEvent/1.0.0.json b/src/eiffellib/schemas/EiffelTestSuiteStartedEvent/1.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestSuiteStartedEvent/1.0.0.json rename to src/eiffellib/schemas/EiffelTestSuiteStartedEvent/1.0.0.json diff --git a/eiffellib/schemas/EiffelTestSuiteStartedEvent/1.1.0.json b/src/eiffellib/schemas/EiffelTestSuiteStartedEvent/1.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestSuiteStartedEvent/1.1.0.json rename to src/eiffellib/schemas/EiffelTestSuiteStartedEvent/1.1.0.json diff --git a/eiffellib/schemas/EiffelTestSuiteStartedEvent/2.0.0.json b/src/eiffellib/schemas/EiffelTestSuiteStartedEvent/2.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestSuiteStartedEvent/2.0.0.json rename to src/eiffellib/schemas/EiffelTestSuiteStartedEvent/2.0.0.json diff --git a/eiffellib/schemas/EiffelTestSuiteStartedEvent/3.0.0.json b/src/eiffellib/schemas/EiffelTestSuiteStartedEvent/3.0.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestSuiteStartedEvent/3.0.0.json rename to src/eiffellib/schemas/EiffelTestSuiteStartedEvent/3.0.0.json diff --git a/eiffellib/schemas/EiffelTestSuiteStartedEvent/3.1.0.json b/src/eiffellib/schemas/EiffelTestSuiteStartedEvent/3.1.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestSuiteStartedEvent/3.1.0.json rename to src/eiffellib/schemas/EiffelTestSuiteStartedEvent/3.1.0.json diff --git a/eiffellib/schemas/EiffelTestSuiteStartedEvent/3.2.0.json b/src/eiffellib/schemas/EiffelTestSuiteStartedEvent/3.2.0.json similarity index 100% rename from eiffellib/schemas/EiffelTestSuiteStartedEvent/3.2.0.json rename to src/eiffellib/schemas/EiffelTestSuiteStartedEvent/3.2.0.json diff --git a/eiffellib/subscribers/__init__.py b/src/eiffellib/subscribers/__init__.py similarity index 100% rename from eiffellib/subscribers/__init__.py rename to src/eiffellib/subscribers/__init__.py diff --git a/eiffellib/subscribers/eiffel_subscriber.py b/src/eiffellib/subscribers/eiffel_subscriber.py similarity index 100% rename from eiffellib/subscribers/eiffel_subscriber.py rename to src/eiffellib/subscribers/eiffel_subscriber.py diff --git a/eiffellib/subscribers/rabbitmq_subscriber.py b/src/eiffellib/subscribers/rabbitmq_subscriber.py similarity index 100% rename from eiffellib/subscribers/rabbitmq_subscriber.py rename to src/eiffellib/subscribers/rabbitmq_subscriber.py diff --git a/tox.ini b/tox.ini index c43e1f5..f06e43e 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py3,py2 # ,black,docs,pylint,pydocstyle +envlist = py3 # ,black,docs,pylint,pydocstyle [testenv] deps = @@ -14,14 +14,6 @@ commands = pytest -s --log-format="%(levelname)%: %(message)s" {posargs} basepython = python3.9 -[testenv:py2] -deps = - pytest - pytest-cov -commands = - pytest -s --log-format="%(levelname)%: %(message)s" {posargs} -basepython = python2.7 - # The following test envs are disabled until they are fixed. # # [testenv:black] @@ -49,4 +41,4 @@ basepython = python2.7 # pydocstyle # commands = # pydocstyle . -# \ No newline at end of file +#