Skip to content

Commit

Permalink
Added back hatch for release management
Browse files Browse the repository at this point in the history
  • Loading branch information
squidfunk committed Jan 1, 2023
1 parent aea6704 commit 1295539
Show file tree
Hide file tree
Showing 4 changed files with 108 additions and 69 deletions.
3 changes: 1 addition & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,7 @@ COPY material material
COPY package.json package.json
COPY README.md README.md
COPY requirements.txt requirements.txt
COPY MANIFEST.in MANIFEST.in
COPY setup.py setup.py
COPY pyproject.toml pyproject.toml

# Perform build and cleanup artifacts and caches
RUN \
Expand Down
11 changes: 0 additions & 11 deletions MANIFEST.in

This file was deleted.

84 changes: 84 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Copyright (c) 2016-2022 Martin Donath <martin.donath@squidfunk.com>

# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:

# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.

# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.

[build-system]
requires = [
"hatchling",
"hatch-requirements-txt",
"hatch-nodejs-version>=0.3.0"
]
build-backend = "hatchling.build"

[project]
name = "mkdocs-material"
dynamic = [
"version",
"dependencies",
"license",
"description",
"authors",
"keywords",
"urls",
]
readme = "README.md"
requires-python = ">=3.7"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"License :: OSI Approved :: MIT License",
"Programming Language :: JavaScript",
"Programming Language :: Python",
"Topic :: Documentation",
"Topic :: Software Development :: Documentation",
"Topic :: Text Processing :: Markup :: HTML",
]

[project.urls]
Documentation = "https://squidfunk.github.io/mkdocs-material/"
Source = "https://github.com/squidfunk/mkdocs-material"
Changelog = "https://squidfunk.github.io/mkdocs-material/changelog/"
Issues = "https://github.com/squidfunk/mkdocs-material/issues"
Funding = "https://github.com/sponsors/squidfunk"

[project.entry-points."mkdocs.plugins"]
"material/info" = "material.plugins.info.plugin:InfoPlugin"
"material/offline" = "material.plugins.offline.plugin:OfflinePlugin"
"material/search" = "material.plugins.search.plugin:SearchPlugin"
"material/social" = "material.plugins.social.plugin:SocialPlugin"
"material/tags" = "material.plugins.tags.plugin:TagsPlugin"

[project.entry-points."mkdocs.themes"]
material = "material"

[tool.hatch.version]
source = "nodejs"

[tool.hatch.metadata.hooks.nodejs]
fields = ["license", "description", "authors", "keywords", "urls"]

[tool.hatch.metadata.hooks.requirements_txt]
filename = "requirements.txt"

[tool.hatch.build.targets.wheel]
include = ["/material"]

[tool.hatch.build.targets.sdist]
include = ["/material", "/package.json", "/requirements.txt"]
exclude = ["/material/.overrides"]
79 changes: 23 additions & 56 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,69 +18,36 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.

import json
from setuptools import setup, find_packages

# Load package.json contents
with open("package.json") as f:
package = json.load(f)
import sys

from setuptools import setup

# -----------------------------------------------------------------------------
# Do not use – only provided for compatibility
# -----------------------------------------------------------------------------

sys.stderr.write(
"""
===============================
Unsupported installation method
===============================
This version of mkdocs-material no longer supports
installation with `python setup.py install`.
Please use `python -m pip install .` instead.
"""
)
sys.exit(1)

# Load list of dependencies
# The below code will never execute, however GitHub is particularly
# picky about where it finds Python packaging metadata.
# See: https://github.com/github/feedback/discussions/6456
with open("requirements.txt") as f:
install_requires = [
line for line in f.read().split("\n")
if line and not line.startswith("#")
if line and not line.startswith("#")
]

# Load README contents
with open("README.md", encoding = "utf-8") as f:
long_description = f.read()

# Package description
setup(
name = "mkdocs-material",
version = package["version"],
url = package["homepage"],
project_urls = {
"Changelog": "https://squidfunk.github.io/mkdocs-material/changelog/",
"Documentation": "https://squidfunk.github.io/mkdocs-material/",
"Source": "https://github.com/squidfunk/mkdocs-material",
"Issues": "https://github.com/squidfunk/mkdocs-material/issues",
"Funding": "https://github.com/sponsors/squidfunk"
},
license = package["license"],
description = package["description"],
long_description = long_description,
long_description_content_type = "text/markdown",
author = package["author"]["name"],
author_email = package["author"]["email"],
keywords = package["keywords"],
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"License :: OSI Approved :: MIT License",
"Programming Language :: JavaScript",
"Programming Language :: Python",
"Topic :: Documentation",
"Topic :: Software Development :: Documentation",
"Topic :: Text Processing :: Markup :: HTML"
],
packages = find_packages(exclude = ["src", "src.*"]),
include_package_data = True,
install_requires = install_requires,
extras_require = {},
python_requires='>=3.7',
entry_points = {
"mkdocs.themes": [
"material = material",
],
"mkdocs.plugins": [
"material/info = material.plugins.info.plugin:InfoPlugin",
"material/offline = material.plugins.offline.plugin:OfflinePlugin",
"material/search = material.plugins.search.plugin:SearchPlugin",
"material/social = material.plugins.social.plugin:SocialPlugin",
"material/tags = material.plugins.tags.plugin:TagsPlugin"
]
},
zip_safe = False
)

0 comments on commit 1295539

Please sign in to comment.