From 12a07e0d889c6c0899dc503b1cc055fa1e4a7317 Mon Sep 17 00:00:00 2001
From: Patrick Lehmann
+
.. only:: html
| |SHIELD:svg:ProjectModel-github| |SHIELD:svg:ProjectModel-src-license| |SHIELD:svg:ProjectModel-tag| |SHIELD:svg:ProjectModel-release| |SHIELD:svg:ProjectModel-date| |SHIELD:svg:ProjectModel-lib-dep|
From a3dc7d34230e17b00dfc0b9c5b75b59c1a2f6ace Mon Sep 17 00:00:00 2001
From: umarcor
+.. raw:: latex
+
+ \part{Introduction}
+
.. only:: html
| |SHIELD:svg:ProjectModel-github| |SHIELD:svg:ProjectModel-src-license| |SHIELD:svg:ProjectModel-tag| |SHIELD:svg:ProjectModel-release| |SHIELD:svg:ProjectModel-date| |SHIELD:svg:ProjectModel-lib-dep|
From 2c33d88da4922bc5666dcfbd67a8df7156032f00 Mon Sep 17 00:00:00 2001
From: umarcor
.*?)```", content, re.MULTILINE|re.DOTALL)
-
- if m is None:
- raise Exception("Regular expression did not find the example in the README!")
-
- with (ROOT / 'tests/docs/example.py').open('w') as wptr:
- wptr.write(m["code"])
-
- - name: Print example.py
- run: cat tests/docs/example.py
-
- - name: ☑ Run example snippet
- working-directory: tests/docs
- run: |
- python3 example.py
+ uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@dev
+ needs:
+ - Params
+ with:
+ pyver: ${{ fromJson(needs.Params.outputs.params).pyver }}
BuildTheDocs:
name: 📓 Run BuildTheDocs
From afd45f50bfaccf6ba31a8084c36176675f14230f Mon Sep 17 00:00:00 2001
From: umarcor
Date: Sat, 27 Nov 2021 16:39:56 +0100
Subject: [PATCH 33/58] ci/BuildTheDocs: use reusable workflow from
pyTooling/Actions
---
.btd.yml | 2 +-
.github/workflows/Pipeline.yml | 34 ++++------------------------------
2 files changed, 5 insertions(+), 31 deletions(-)
diff --git a/.btd.yml b/.btd.yml
index 03528e6b..b4fb008d 100644
--- a/.btd.yml
+++ b/.btd.yml
@@ -4,6 +4,6 @@ requirements: requirements.txt
target: gh-pages
formats: [ html, pdf, man ]
images:
- base: edaa/doc
+ base: btdi/sphinx:pytooling
latex: btdi/latex
theme: https://codeload.github.com/buildthedocs/sphinx.theme/tar.gz/v1
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index 9d38efe3..26dd98de 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -76,38 +76,12 @@ jobs:
pyver: ${{ fromJson(needs.Params.outputs.params).pyver }}
BuildTheDocs:
- name: 📓 Run BuildTheDocs
- runs-on: ubuntu-latest
+ uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@dev
needs:
+ - Params
- VerifyDocs
-
- env:
- ARTIFACT: pyEDAA-ProjectModel-documentation
- outputs:
- artifact: ${{ env.ARTIFACT }}
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v2
-
- - name: 🚢 Build container image 'vhdl/doc'
- run: |
- docker build -t edaa/doc - <<-EOF
- FROM btdi/sphinx:featured
- RUN apk add -U --no-cache graphviz
- EOF
-
- - name: 🛳️ Build documentation using container edaa/doc
- uses: buildthedocs/btd@v0
- with:
- skip-deploy: true
-
- - name: 📤 Upload 'documentation' artifacts
- uses: actions/upload-artifact@master
- with:
- name: ${{ env.ARTIFACT }}
- path: doc/_build/html
- retention-days: 7
+ with:
+ artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
PublishToGitHubPages:
name: 📚 Publish to GH-Pages
From 6d86c0d8c38c1122e58ab1967bb242a1a93fe979 Mon Sep 17 00:00:00 2001
From: umarcor
Date: Sat, 27 Nov 2021 16:41:37 +0100
Subject: [PATCH 34/58] ci/PublishToGitHubPages: use reusable workflow from
pyTooling/Actions
---
.github/workflows/Pipeline.yml | 49 +++++-----------------------------
1 file changed, 6 insertions(+), 43 deletions(-)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index 26dd98de..bfda3ae0 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -84,54 +84,17 @@ jobs:
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
PublishToGitHubPages:
- name: 📚 Publish to GH-Pages
- runs-on: ubuntu-latest
+ uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@dev
needs:
+ - Params
- BuildTheDocs
- Coverage
- StaticTypeCheck
+ with:
+ doc: ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
+ coverage: ${{ fromJson(needs.Params.outputs.params).artifacts.coverage }}
+ typing: ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
- env:
- DOC: ${{ needs.BuildTheDocs.outputs.artifact }}
- COVERAGE: ${{ needs.Coverage.outputs.artifact }}
- TYPING: ${{ needs.StaticTypeCheck.outputs.artifact }}
- outputs:
- artifact: ${{ env.ARTIFACT }}
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v2
-
- - name: 📥 Download artifacts '${{ env.DOC }}' from 'BuildTheDocs' job
- uses: actions/download-artifact@v2
- with:
- name: ${{ env.DOC }}
- path: public
-
- - name: 📥 Download artifacts '${{ env.COVERAGE }}' from 'Coverage' job
- uses: actions/download-artifact@v2
- with:
- name: ${{ env.COVERAGE }}
- path: public/coverage
-
- - name: 📥 Download artifacts '${{ env.TYPING }}' from 'StaticTypeCheck' job
- uses: actions/download-artifact@v2
- with:
- name: ${{ env.TYPING }}
- path: public/typing
-
- - name: '📓 Publish site to GitHub Pages'
- if: github.event_name != 'pull_request'
- run: |
- cd public
- touch .nojekyll
- git init
- cp ../.git/config ./.git/config
- git add .
- git config --local user.email "BuildTheDocs@GitHubActions"
- git config --local user.name "GitHub Actions"
- git commit -a -m "update ${{ github.sha }}"
- git push -u origin +HEAD:gh-pages
ArtifactCleanUp:
name: 🗑️ Artifact Cleanup
From f058a58e48396692f10f8975c04393cc1f4d295e Mon Sep 17 00:00:00 2001
From: umarcor
Date: Sat, 27 Nov 2021 16:42:25 +0100
Subject: [PATCH 35/58] ci/ArtifactCleanUp: update
---
.github/workflows/Pipeline.yml | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index bfda3ae0..bb7d8e95 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -100,21 +100,17 @@ jobs:
name: 🗑️ Artifact Cleanup
runs-on: ubuntu-latest
needs:
+ - Params
- Coverage
- StaticTypeCheck
- BuildTheDocs
- PublishToGitHubPages
- env:
- COVERAGE: ${{ needs.Coverage.outputs.artifact }}
- TYPING: ${{ needs.StaticTypeCheck.outputs.artifact }}
- DOC: ${{ needs.BuildTheDocs.outputs.artifact }}
-
steps:
- name: 🗑️ Delete all Artifacts
uses: geekyeggo/delete-artifact@v1
with:
name: |
- ${{ env.COVERAGE }}
- ${{ env.TYPING }}
- ${{ env.DOC }}
+ ${{ fromJson(needs.Params.outputs.params).artifacts.coverage }}
+ ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
+ ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
From 66db21eb5c553caee820901086e5609df8471409 Mon Sep 17 00:00:00 2001
From: umarcor
Date: Sat, 27 Nov 2021 16:43:41 +0100
Subject: [PATCH 36/58] ci: add 'workflow_dispatch' event
---
.github/workflows/Pipeline.yml | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index bb7d8e95..dbb52de5 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -1,6 +1,8 @@
name: Unit Testing, Coverage Collection, Package, Release, Documentation and Publish
-on: [ push ]
+on:
+ push:
+ workflow_dispatch:
defaults:
run:
From b7d07b447a49fc8f646dcbc9d1b299b156031ef0 Mon Sep 17 00:00:00 2001
From: umarcor
Date: Sat, 27 Nov 2021 16:43:55 +0100
Subject: [PATCH 37/58] ci: remove redundant default shell
---
.github/workflows/Pipeline.yml | 4 ----
1 file changed, 4 deletions(-)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index dbb52de5..f50a227c 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -4,10 +4,6 @@ on:
push:
workflow_dispatch:
-defaults:
- run:
- shell: bash
-
jobs:
Params:
From 18a22c110fcd65d5370aa737bb92279967972abf Mon Sep 17 00:00:00 2001
From: umarcor
Date: Sat, 27 Nov 2021 16:47:18 +0100
Subject: [PATCH 38/58] requirements: bump pySVModel to v0.3.1
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 3a9a4b58..cf7bea20 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
pydecor>=2.0.1
pyVHDLModel>=0.13.2
-pySVModel>=0.3.0
+pySVModel>=0.3.1
From ccf8e22cec0ee7f954d32af547d0a80ad5f6007a Mon Sep 17 00:00:00 2001
From: umarcor
Date: Mon, 29 Nov 2021 03:29:38 +0100
Subject: [PATCH 39/58] ci: 'pyver' renamed to 'python_version'
---
.github/workflows/Pipeline.yml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index f50a227c..4e9095b7 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -21,7 +21,7 @@ jobs:
needs:
- Params
with:
- pyver: ${{ fromJson(needs.Params.outputs.params).pyver }}
+ python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.coverage }}
secrets:
codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }}
@@ -32,7 +32,7 @@ jobs:
- Params
with:
package: ${{ fromJson(needs.Params.outputs.params).package }}
- pyver: ${{ fromJson(needs.Params.outputs.params).pyver }}
+ python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
Release:
@@ -50,7 +50,7 @@ jobs:
- Params
- Coverage
with:
- pyver: ${{ fromJson(needs.Params.outputs.params).pyver }}
+ python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.wheel }}
PublishOnPyPI:
@@ -61,7 +61,7 @@ jobs:
- Release
- Package
with:
- pyver: ${{ fromJson(needs.Params.outputs.params).pyver }}
+ python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.wheel }}
secrets:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
@@ -71,7 +71,7 @@ jobs:
needs:
- Params
with:
- pyver: ${{ fromJson(needs.Params.outputs.params).pyver }}
+ python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
BuildTheDocs:
uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@dev
From f1e2a09370b3f043da04bb880f818f06a891924c Mon Sep 17 00:00:00 2001
From: umarcor
Date: Mon, 29 Nov 2021 03:30:16 +0100
Subject: [PATCH 40/58] ci: pass jobs from Params to UnitTesting
---
.github/workflows/Pipeline.yml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index 4e9095b7..b8359894 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -13,7 +13,10 @@ jobs:
UnitTesting:
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev
+ needs:
+ - Params
with:
+ jobs: ${{ needs.Params.outputs.python_jobs }}
TestReport: true
Coverage:
From 82cc2f08349716c17c137b0cd2faaab678652afb Mon Sep 17 00:00:00 2001
From: umarcor
Date: Mon, 29 Nov 2021 03:35:48 +0100
Subject: [PATCH 41/58] ci/StaticTypeCheck: option 'package' changed to
'mypy_args'
---
.github/workflows/Pipeline.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index b8359894..7cd1c7b3 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -34,8 +34,8 @@ jobs:
needs:
- Params
with:
- package: ${{ fromJson(needs.Params.outputs.params).package }}
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
+ mypy_args: -m ${{ fromJson(needs.Params.outputs.params).package }}
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
Release:
From 930f83e24bc44a83a4f0c9427b299db8d5decf62 Mon Sep 17 00:00:00 2001
From: umarcor
Date: Mon, 29 Nov 2021 03:50:26 +0100
Subject: [PATCH 42/58] ci/Params: override list of python versions
---
.github/workflows/Pipeline.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index 7cd1c7b3..4b582bdb 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -10,6 +10,7 @@ jobs:
uses: pyTooling/Actions/.github/workflows/Params.yml@dev
with:
name: pyEDAA.ProjectModel
+ python_version_list: '3.7 3.8 3.9 3.10'
UnitTesting:
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev
From d7850efbdd5442b86e310490dba0449c6297ad67 Mon Sep 17 00:00:00 2001
From: umarcor
Date: Mon, 29 Nov 2021 23:59:09 +0100
Subject: [PATCH 43/58] ci/Pipeline: update
---
.github/workflows/Pipeline.yml | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index 4b582bdb..b1679a04 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -18,7 +18,7 @@ jobs:
- Params
with:
jobs: ${{ needs.Params.outputs.python_jobs }}
- TestReport: true
+ artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}
Coverage:
uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@dev
@@ -36,7 +36,9 @@ jobs:
- Params
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
- mypy_args: -m ${{ fromJson(needs.Params.outputs.params).package }}
+ commands: |
+ cd pyEDAA
+ mypy --html-report ../htmlmypy -p ProjectModel
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
Release:
@@ -55,7 +57,7 @@ jobs:
- Coverage
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
- artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.wheel }}
+ artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
PublishOnPyPI:
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@dev
@@ -66,7 +68,7 @@ jobs:
- Package
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
- artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.wheel }}
+ artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
secrets:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
@@ -109,10 +111,19 @@ jobs:
- PublishToGitHubPages
steps:
+
+ - name: 🗑️ Delete package Artifacts
+ if: ${{ ! startsWith(github.ref, 'refs/tags') }}
+ uses: geekyeggo/delete-artifact@v1
+ with:
+ name: |
+ ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
+
- name: 🗑️ Delete all Artifacts
uses: geekyeggo/delete-artifact@v1
with:
name: |
+ ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-*
${{ fromJson(needs.Params.outputs.params).artifacts.coverage }}
${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
From 84532c4e0cd502461e785055eaea303681ea5846 Mon Sep 17 00:00:00 2001
From: umarcor
Date: Tue, 30 Nov 2021 00:33:54 +0100
Subject: [PATCH 44/58] ci/ArtifactCleanUp: use reusable workflow from
pyTooling/Actions
---
.github/workflows/Pipeline.yml | 29 ++++++++---------------------
1 file changed, 8 insertions(+), 21 deletions(-)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index b1679a04..dbd73180 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -99,31 +99,18 @@ jobs:
coverage: ${{ fromJson(needs.Params.outputs.params).artifacts.coverage }}
typing: ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
-
ArtifactCleanUp:
- name: 🗑️ Artifact Cleanup
- runs-on: ubuntu-latest
+ uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@dev
needs:
- Params
- Coverage
- StaticTypeCheck
- BuildTheDocs
- PublishToGitHubPages
-
- steps:
-
- - name: 🗑️ Delete package Artifacts
- if: ${{ ! startsWith(github.ref, 'refs/tags') }}
- uses: geekyeggo/delete-artifact@v1
- with:
- name: |
- ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
-
- - name: 🗑️ Delete all Artifacts
- uses: geekyeggo/delete-artifact@v1
- with:
- name: |
- ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-*
- ${{ fromJson(needs.Params.outputs.params).artifacts.coverage }}
- ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
- ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
+ with:
+ package: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
+ remaining: |
+ ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-*
+ ${{ fromJson(needs.Params.outputs.params).artifacts.coverage }}
+ ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
+ ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
From a2aa0ecae4c6ab921dd248cbf596db6959fe6bb9 Mon Sep 17 00:00:00 2001
From: umarcor
Date: Tue, 30 Nov 2021 16:30:34 +0100
Subject: [PATCH 45/58] ci/Pipeline: change '@dev' to '@r0'
---
.github/workflows/Pipeline.yml | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index dbd73180..b81e66f9 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -7,13 +7,13 @@ on:
jobs:
Params:
- uses: pyTooling/Actions/.github/workflows/Params.yml@dev
+ uses: pyTooling/Actions/.github/workflows/Params.yml@r0
with:
name: pyEDAA.ProjectModel
python_version_list: '3.7 3.8 3.9 3.10'
UnitTesting:
- uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@dev
+ uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r0
needs:
- Params
with:
@@ -21,7 +21,7 @@ jobs:
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}
Coverage:
- uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@dev
+ uses: pyTooling/Actions/.github/workflows/CoverageCollection.yml@r0
needs:
- Params
with:
@@ -31,7 +31,7 @@ jobs:
codacy_token: ${{ secrets.CODACY_PROJECT_TOKEN }}
StaticTypeCheck:
- uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@dev
+ uses: pyTooling/Actions/.github/workflows/StaticTypeCheck.yml@r0
needs:
- Params
with:
@@ -42,7 +42,7 @@ jobs:
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
Release:
- uses: pyTooling/Actions/.github/workflows/Release.yml@dev
+ uses: pyTooling/Actions/.github/workflows/Release.yml@r0
if: startsWith(github.ref, 'refs/tags')
needs:
- UnitTesting
@@ -50,7 +50,7 @@ jobs:
- StaticTypeCheck
Package:
- uses: pyTooling/Actions/.github/workflows/Package.yml@dev
+ uses: pyTooling/Actions/.github/workflows/Package.yml@r0
if: startsWith(github.ref, 'refs/tags')
needs:
- Params
@@ -60,7 +60,7 @@ jobs:
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
PublishOnPyPI:
- uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@dev
+ uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r0
if: startsWith(github.ref, 'refs/tags')
needs:
- Params
@@ -73,14 +73,14 @@ jobs:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
VerifyDocs:
- uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@dev
+ uses: pyTooling/Actions/.github/workflows/VerifyDocs.yml@r0
needs:
- Params
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
BuildTheDocs:
- uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@dev
+ uses: pyTooling/Actions/.github/workflows/BuildTheDocs.yml@r0
needs:
- Params
- VerifyDocs
@@ -88,7 +88,7 @@ jobs:
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
PublishToGitHubPages:
- uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@dev
+ uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r0
needs:
- Params
- BuildTheDocs
@@ -100,7 +100,7 @@ jobs:
typing: ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
ArtifactCleanUp:
- uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@dev
+ uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r0
needs:
- Params
- Coverage
From f92fdbbaea17f77d15623a10a4d7640f97c57ce2 Mon Sep 17 00:00:00 2001
From: umarcor
Date: Wed, 1 Dec 2021 00:23:25 +0100
Subject: [PATCH 46/58] ci/Pipeline: run Package unconditionally; Release needs
Package
---
.github/workflows/Pipeline.yml | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index b81e66f9..3260e0c7 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -41,17 +41,8 @@ jobs:
mypy --html-report ../htmlmypy -p ProjectModel
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
- Release:
- uses: pyTooling/Actions/.github/workflows/Release.yml@r0
- if: startsWith(github.ref, 'refs/tags')
- needs:
- - UnitTesting
- - Coverage
- - StaticTypeCheck
-
Package:
uses: pyTooling/Actions/.github/workflows/Package.yml@r0
- if: startsWith(github.ref, 'refs/tags')
needs:
- Params
- Coverage
@@ -59,6 +50,15 @@ jobs:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
+ Release:
+ uses: pyTooling/Actions/.github/workflows/Release.yml@r0
+ if: startsWith(github.ref, 'refs/tags')
+ needs:
+ - UnitTesting
+ - Coverage
+ - StaticTypeCheck
+ - Package
+
PublishOnPyPI:
uses: pyTooling/Actions/.github/workflows/PublishOnPyPI.yml@r0
if: startsWith(github.ref, 'refs/tags')
From e7778f9fa7c3d9526145dc1da9952ce4a9533a1e Mon Sep 17 00:00:00 2001
From: umarcor
Date: Wed, 1 Dec 2021 00:35:14 +0100
Subject: [PATCH 47/58] ci/ArtifactCleanUp: needs UnitTesting
---
.github/workflows/Pipeline.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index 3260e0c7..488afa97 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -103,6 +103,7 @@ jobs:
uses: pyTooling/Actions/.github/workflows/ArtifactCleanUp.yml@r0
needs:
- Params
+ - UnitTesting
- Coverage
- StaticTypeCheck
- BuildTheDocs
From 7309c4604bc330fcebd1a6061f83d6c0c8851db6 Mon Sep 17 00:00:00 2001
From: umarcor
Date: Wed, 1 Dec 2021 02:07:15 +0100
Subject: [PATCH 48/58] ci/Pipeline: change name to just 'Pipeline'; update
refs accordingly
---
.github/workflows/Pipeline.yml | 2 +-
README.md | 2 +-
doc/shields.inc | 8 ++++----
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index f3dd915f..548ff4b1 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -1,4 +1,4 @@
-name: Unit Testing, Coverage Collection, Package, Release, Documentation and Publish
+name: Pipeline
on: [ push ]
diff --git a/README.md b/README.md
index e10a5e1a..35e3a1e2 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
[![PyPI](https://img.shields.io/pypi/v/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=PyPI&logoColor=FBE072)](https://pypi.org/project/pyEDAA.ProjectModel/)
![PyPI - Status](https://img.shields.io/pypi/status/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=PyPI&logoColor=FBE072)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=PyPI&logoColor=FBE072)
-[![GitHub Workflow - Build and Test Status](https://img.shields.io/github/workflow/status/edaa-org/pyEDAA.ProjectModel/Unit%20Testing,%20Coverage%20Collection,%20Package,%20Release,%20Documentation%20and%20Publish/main?longCache=true&style=flat-square&label=Build%20and%20test&logo=GitHub%20Actions&logoColor=FFFFFF)](https://github.com/edaa-org/pyEDAA.ProjectModel/actions?query=workflow%3A%22Unit%20Testing,%20Coverage%20Collection,%20Package,%20Release,%20Documentation%20and%20Publish%22)
+[![GitHub Workflow - Build and Test Status](https://img.shields.io/github/workflow/status/edaa-org/pyEDAA.ProjectModel/Pipeline/main?longCache=true&style=flat-square&label=Build%20and%20test&logo=GitHub%20Actions&logoColor=FFFFFF)](https://github.com/edaa-org/pyEDAA.ProjectModel/actions/workflows/Pipeline.yml)
[![Libraries.io status for latest release](https://img.shields.io/librariesio/release/pypi/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=Libraries.io&logoColor=fff)](https://libraries.io/github/edaa-org/pyEDAA.ProjectModel)
[![Codacy - Quality](https://img.shields.io/codacy/grade/c2635df20fa840bc85639ca2fa1d9cb4?longCache=true&style=flat-square&logo=Codacy)](https://www.codacy.com/manual/edaa-org/pyEDAA.ProjectModel)
[![Codacy - Coverage](https://img.shields.io/codacy/coverage/c2635df20fa840bc85639ca2fa1d9cb4?longCache=true&style=flat-square&logo=Codacy)](https://www.codacy.com/manual/edaa-org/pyEDAA.ProjectModel)
diff --git a/doc/shields.inc b/doc/shields.inc
index ee615bb0..48f61cbe 100644
--- a/doc/shields.inc
+++ b/doc/shields.inc
@@ -54,14 +54,14 @@
:target: https://github.com/edaa-org/pyEDAA.ProjectModel/network/dependents
.. # GHA test and coverage
-.. |SHIELD:svg:ProjectModel-gha-test| image:: https://img.shields.io/github/workflow/status/edaa-org/pyEDAA.ProjectModel/Unit%20Testing,%20Coverage%20Collection,%20Package,%20Release,%20Documentation%20and%20Publish/main?longCache=true&style=flat-square&label=Build%20and%20Test&logo=GitHub%20Actions&logoColor=FFFFFF
+.. |SHIELD:svg:ProjectModel-gha-test| image:: https://img.shields.io/github/workflow/status/edaa-org/pyEDAA.ProjectModel/Pipeline/main?longCache=true&style=flat-square&label=Build%20and%20Test&logo=GitHub%20Actions&logoColor=FFFFFF
:alt: GitHub Workflow - Build and Test Status
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel/actions?query=workflow%3A%22Unit%20Testing,%20Coverage%20Collection,%20Package,%20Release,%20Documentation%20and%20Publish%22
-.. |SHIELD:png:ProjectModel-gha-test| image:: https://img.shields.io/github/workflow/status/edaa-org/pyEDAA.ProjectModel/Unit%20Testing,%20Coverage%20Collection,%20Package,%20Release,%20Documentation%20and%20Publish/main?longCache=true&style=flat-square&label=Build%20and%20Test&logo=GitHub%20Actions&logoColor=FFFFFF
+ :target: https://github.com/edaa-org/pyEDAA.ProjectModel/actions/workflows/Pipeline.yml
+.. |SHIELD:png:ProjectModel-gha-test| image:: https://raster.shields.io/github/workflow/status/edaa-org/pyEDAA.ProjectModel/Pipeline/main?longCache=true&style=flat-square&label=Build%20and%20Test&logo=GitHub%20Actions&logoColor=FFFFFF
:alt: GitHub Workflow - Build and Test Status
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel/actions?query=workflow%3A%22Unit%20Testing,%20Coverage%20Collection,%20Package,%20Release,%20Documentation%20and%20Publish%22
+ :target: https://github.com/edaa-org/pyEDAA.ProjectModel/actions/workflows/Pipeline.yml
.. # Codacy - quality
.. |SHIELD:svg:ProjectModel-codacy-quality| image:: https://img.shields.io/codacy/grade/c2635df20fa840bc85639ca2fa1d9cb4?longCache=true&style=flat-square&logo=codacy
From 9a5f52870d183db51b12ca79df21738af40f0059 Mon Sep 17 00:00:00 2001
From: Patrick Lehmann
Date: Sat, 20 Nov 2021 17:41:22 +0100
Subject: [PATCH 49/58] Replaced dependency to pydecor to pyTooling.
---
doc/Dependency.rst | 13 ++-----------
doc/_themes/.gitempty | 0
pyEDAA/ProjectModel/Altera/Quartus.py | 2 +-
pyEDAA/ProjectModel/GHDL.py | 2 +-
pyEDAA/ProjectModel/Intel/QuartusPrime.py | 2 +-
pyEDAA/ProjectModel/MentorGraphics/ModelSim.py | 2 +-
pyEDAA/ProjectModel/MentorGraphics/QuestaSim.py | 2 +-
pyEDAA/ProjectModel/OSVVM.py | 2 +-
pyEDAA/ProjectModel/Verilog.py | 2 +-
pyEDAA/ProjectModel/Xilinx/ISE.py | 2 +-
pyEDAA/ProjectModel/Xilinx/Vivado.py | 2 +-
pyEDAA/ProjectModel/__init__.py | 6 +++---
12 files changed, 14 insertions(+), 23 deletions(-)
delete mode 100644 doc/_themes/.gitempty
diff --git a/doc/Dependency.rst b/doc/Dependency.rst
index 06b1e3da..9748a8b4 100644
--- a/doc/Dependency.rst
+++ b/doc/Dependency.rst
@@ -27,18 +27,9 @@ pyEDAA.ProjectModel Package
+-------------------------------------------------------+-------------+-----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+=======================================================+=============+===================================================================================+===================================================================================================================================+
-| `pydecor `__ | ≥2.0.1 | `MIT `__ | * `dill `__ (`BSD 3-clause `__) |
-| | | | * `six `__ (`MIT `__) |
+| `pyVHDLModel `__ | ≥0.13.0 | `Apache License, 2.0 `__ | |
+-------------------------------------------------------+-------------+-----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| `pyVHDLModel `__ | ≥0.13.0 | `Apache License, 2.0 `__ | * `pydecor `__ (`MIT `__) |
-| | | | |
-| | | | * `dill `__ (`BSD 3-clause `__) |
-| | | | * `six `__ (`MIT `__) |
-+-------------------------------------------------------+-------------+-----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| `pySVModel `__ | ≥0.3.0 | `Apache License, 2.0 `__ | * `pydecor `__ (`MIT `__) |
-| | | | |
-| | | | * `dill `__ (`BSD 3-clause `__) |
-| | | | * `six `__ (`MIT `__) |
+| `pySVModel `__ | ≥0.3.0 | `Apache License, 2.0 `__ | |
+-------------------------------------------------------+-------------+-----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
diff --git a/doc/_themes/.gitempty b/doc/_themes/.gitempty
deleted file mode 100644
index e69de29b..00000000
diff --git a/pyEDAA/ProjectModel/Altera/Quartus.py b/pyEDAA/ProjectModel/Altera/Quartus.py
index e9cd0ed2..e347e25e 100644
--- a/pyEDAA/ProjectModel/Altera/Quartus.py
+++ b/pyEDAA/ProjectModel/Altera/Quartus.py
@@ -29,7 +29,7 @@
# SPDX-License-Identifier: Apache-2.0
# ============================================================================
#
-from pydecor import export
+from pyTooling.Decorators import export
from pyEDAA.ProjectModel import ConstraintFile, ProjectFile, SDCContent, TCLContent
diff --git a/pyEDAA/ProjectModel/GHDL.py b/pyEDAA/ProjectModel/GHDL.py
index c584eb86..115a2295 100644
--- a/pyEDAA/ProjectModel/GHDL.py
+++ b/pyEDAA/ProjectModel/GHDL.py
@@ -29,7 +29,7 @@
# SPDX-License-Identifier: Apache-2.0
# ============================================================================
#
-from pydecor import export
+from pyTooling.Decorators import export
from pyEDAA.ProjectModel import WaveformExchangeFile
diff --git a/pyEDAA/ProjectModel/Intel/QuartusPrime.py b/pyEDAA/ProjectModel/Intel/QuartusPrime.py
index e9cd0ed2..e347e25e 100644
--- a/pyEDAA/ProjectModel/Intel/QuartusPrime.py
+++ b/pyEDAA/ProjectModel/Intel/QuartusPrime.py
@@ -29,7 +29,7 @@
# SPDX-License-Identifier: Apache-2.0
# ============================================================================
#
-from pydecor import export
+from pyTooling.Decorators import export
from pyEDAA.ProjectModel import ConstraintFile, ProjectFile, SDCContent, TCLContent
diff --git a/pyEDAA/ProjectModel/MentorGraphics/ModelSim.py b/pyEDAA/ProjectModel/MentorGraphics/ModelSim.py
index b5b39f16..59cf6eee 100644
--- a/pyEDAA/ProjectModel/MentorGraphics/ModelSim.py
+++ b/pyEDAA/ProjectModel/MentorGraphics/ModelSim.py
@@ -29,7 +29,7 @@
# SPDX-License-Identifier: Apache-2.0
# ============================================================================
#
-from pydecor import export
+from pyTooling.Decorators import export
from pyEDAA.ProjectModel import ProjectFile, SettingFile, INIContent, WaveformConfigFile, TCLContent
diff --git a/pyEDAA/ProjectModel/MentorGraphics/QuestaSim.py b/pyEDAA/ProjectModel/MentorGraphics/QuestaSim.py
index b5b39f16..59cf6eee 100644
--- a/pyEDAA/ProjectModel/MentorGraphics/QuestaSim.py
+++ b/pyEDAA/ProjectModel/MentorGraphics/QuestaSim.py
@@ -29,7 +29,7 @@
# SPDX-License-Identifier: Apache-2.0
# ============================================================================
#
-from pydecor import export
+from pyTooling.Decorators import export
from pyEDAA.ProjectModel import ProjectFile, SettingFile, INIContent, WaveformConfigFile, TCLContent
diff --git a/pyEDAA/ProjectModel/OSVVM.py b/pyEDAA/ProjectModel/OSVVM.py
index 244b6113..f72c1324 100644
--- a/pyEDAA/ProjectModel/OSVVM.py
+++ b/pyEDAA/ProjectModel/OSVVM.py
@@ -32,7 +32,7 @@
from enum import Enum, unique
from pathlib import Path
-from pydecor import export
+from pyTooling.Decorators import export
from typing import Optional as Nullable, List
from pyEDAA.ProjectModel import ProjectFile, TCLContent, Project, Design, FileSet, VHDLLibrary, VHDLSourceFile
diff --git a/pyEDAA/ProjectModel/Verilog.py b/pyEDAA/ProjectModel/Verilog.py
index a9e75cc6..aed280ab 100644
--- a/pyEDAA/ProjectModel/Verilog.py
+++ b/pyEDAA/ProjectModel/Verilog.py
@@ -29,7 +29,7 @@
# SPDX-License-Identifier: Apache-2.0
# ============================================================================
#
-from pydecor import export
+from pyTooling.Decorators import export
from pyEDAA.ProjectModel import WaveformExchangeFile
diff --git a/pyEDAA/ProjectModel/Xilinx/ISE.py b/pyEDAA/ProjectModel/Xilinx/ISE.py
index 672c35c5..7fab7aaa 100644
--- a/pyEDAA/ProjectModel/Xilinx/ISE.py
+++ b/pyEDAA/ProjectModel/Xilinx/ISE.py
@@ -29,7 +29,7 @@
# SPDX-License-Identifier: Apache-2.0
# ============================================================================
#
-from pydecor import export
+from pyTooling.Decorators import export
from pyEDAA.ProjectModel import ConstraintFile, ProjectFile, HumanReadableContent
diff --git a/pyEDAA/ProjectModel/Xilinx/Vivado.py b/pyEDAA/ProjectModel/Xilinx/Vivado.py
index a4c597b8..d4157bce 100644
--- a/pyEDAA/ProjectModel/Xilinx/Vivado.py
+++ b/pyEDAA/ProjectModel/Xilinx/Vivado.py
@@ -34,7 +34,7 @@
from xml.dom import minidom, Node
from pyVHDLModel import VHDLVersion
-from pydecor import export
+from pyTooling.Decorators import export
from pyEDAA.ProjectModel import ProjectFile, XMLFile, XMLContent, SDCContent, Project, FileSet, Attribute, Design
from pyEDAA.ProjectModel import File as Model_File
diff --git a/pyEDAA/ProjectModel/__init__.py b/pyEDAA/ProjectModel/__init__.py
index 649e1781..454f2da7 100644
--- a/pyEDAA/ProjectModel/__init__.py
+++ b/pyEDAA/ProjectModel/__init__.py
@@ -36,8 +36,8 @@
from typing import Dict, Union, Optional as Nullable, List, Iterable, Generator, Tuple, Any as typing_Any, Type
from pySVModel import VerilogVersion, SystemVerilogVersion
+from pyTooling.Decorators import export
from pyVHDLModel import VHDLVersion
-from pydecor import export
__version__ = "0.4.0"
@@ -703,7 +703,7 @@ def Parent(self, value: 'FileSet') -> None:
@property
def FileSets(self) -> Dict[str, 'FileSet']:
- """Read-only property returning the a dictionary of sub-filesets."""
+ """Read-only property returning the dictionary of sub-filesets."""
return self._fileSets
def Files(self, fileType: FileType = FileTypes.Any, fileSet: Union[bool, str, 'FileSet'] = None) -> Generator[File, None, None]:
@@ -1105,7 +1105,7 @@ def DefaultFileSet(self, value: Union[str, FileSet]) -> None:
# TODO: return generator with another method
@property
def FileSets(self) -> Dict[str, FileSet]:
- """Read-only property returning the a dictionary of filesets."""
+ """Read-only property returning the dictionary of filesets."""
return self._fileSets
def Files(self, fileType: FileType = FileTypes.Any, fileSet: Union[str, FileSet] = None) -> Generator[File, None, None]:
From 172d5f5de5d6188bbdfc210b30e6be7ec7820f2c Mon Sep 17 00:00:00 2001
From: Patrick Lehmann
Date: Tue, 7 Dec 2021 23:15:58 +0100
Subject: [PATCH 50/58] Adjusted dependencies.
---
.btd.yml | 2 +-
.github/workflows/Pipeline.yml | 2 +-
.gitignore | 7 +-
README.md | 24 ++---
build/requirements.txt | 3 +
dist/requirements.txt | 2 +
doc/Dependency.rst | 159 +++++++++++++++++++++++++--------
doc/conf.py | 8 +-
doc/index.rst | 14 +--
doc/requirements.txt | 5 +-
doc/shields.inc | 24 ++---
requirements.txt | 5 +-
tests/requirements.txt | 8 +-
13 files changed, 181 insertions(+), 82 deletions(-)
create mode 100644 build/requirements.txt
create mode 100644 dist/requirements.txt
diff --git a/.btd.yml b/.btd.yml
index b4fb008d..11133ad4 100644
--- a/.btd.yml
+++ b/.btd.yml
@@ -6,4 +6,4 @@ formats: [ html, pdf, man ]
images:
base: btdi/sphinx:pytooling
latex: btdi/latex
-theme: https://codeload.github.com/buildthedocs/sphinx.theme/tar.gz/v1
+theme: https://codeload.GitHub.com/buildthedocs/sphinx.theme/tar.gz/v1
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index 9423d6d6..fd54b8b1 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -7,7 +7,7 @@ on:
jobs:
Params:
- uses: pyTooling/Actions/.github/workflows/Params.yml@r0
+ uses: pyTooling/Actions/.github/workflows/Parameters.yml@r0
with:
name: pyEDAA.ProjectModel
python_version_list: '3.7 3.8 3.9 3.10'
diff --git a/.gitignore b/.gitignore
index 3cb8138a..7d9e3f23 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,10 +8,13 @@ __pycache__/
coverage.xml
# setuptools
-/build
-/dist
+/build/**/*.*
+/dist/**/*.*
/*.egg-info
+# Dependencies
+!requirements.txt
+
# Sphinx
doc/_build/
doc/pyEDAA.ProjectModel/**/*.*
diff --git a/README.md b/README.md
index 35e3a1e2..81219eef 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
-[![Sourcecode on GitHub](https://img.shields.io/badge/pyEDAA-ProjectModel-ab47bc.svg?longCache=true&style=flat-square&logo=github&longCache=true&logo=GitHub&labelColor=6a1b9a)](https://github.com/edaa-org/pyEDAA.ProjectModel)
+[![Sourcecode on GitHub](https://img.shields.io/badge/pyEDAA-ProjectModel-ab47bc.svg?longCache=true&style=flat-square&logo=github&longCache=true&logo=GitHub&labelColor=6a1b9a)](https://GitHub.com/edaa-org/pyEDAA.ProjectModel)
[![Sourcecode License](https://img.shields.io/pypi/l/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=Apache&label=code)](LICENSE.md)
[![Documentation](https://img.shields.io/website?longCache=true&style=flat-square&label=edaa-org.github.io%2FpyEDAA.ProjectModel&logo=GitHub&logoColor=fff&up_color=blueviolet&up_message=Read%20now%20%E2%9E%9A&url=https%3A%2F%2Fedaa-org.github.io%2FpyEDAA.ProjectModel%2Findex.html)](https://edaa-org.github.io/pyEDAA.ProjectModel/)
[![Documentation License](https://img.shields.io/badge/doc-CC--BY%204.0-green?longCache=true&style=flat-square&logo=CreativeCommons&logoColor=fff)](LICENSE.md)
@@ -10,7 +10,7 @@
[![PyPI](https://img.shields.io/pypi/v/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=PyPI&logoColor=FBE072)](https://pypi.org/project/pyEDAA.ProjectModel/)
![PyPI - Status](https://img.shields.io/pypi/status/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=PyPI&logoColor=FBE072)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=PyPI&logoColor=FBE072)
-[![GitHub Workflow - Build and Test Status](https://img.shields.io/github/workflow/status/edaa-org/pyEDAA.ProjectModel/Pipeline/main?longCache=true&style=flat-square&label=Build%20and%20test&logo=GitHub%20Actions&logoColor=FFFFFF)](https://github.com/edaa-org/pyEDAA.ProjectModel/actions/workflows/Pipeline.yml)
+[![GitHub Workflow - Build and Test Status](https://img.shields.io/github/workflow/status/edaa-org/pyEDAA.ProjectModel/Pipeline/main?longCache=true&style=flat-square&label=Build%20and%20test&logo=GitHub%20Actions&logoColor=FFFFFF)](https://GitHub.com/edaa-org/pyEDAA.ProjectModel/actions/workflows/Pipeline.yml)
[![Libraries.io status for latest release](https://img.shields.io/librariesio/release/pypi/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=Libraries.io&logoColor=fff)](https://libraries.io/github/edaa-org/pyEDAA.ProjectModel)
[![Codacy - Quality](https://img.shields.io/codacy/grade/c2635df20fa840bc85639ca2fa1d9cb4?longCache=true&style=flat-square&logo=Codacy)](https://www.codacy.com/manual/edaa-org/pyEDAA.ProjectModel)
[![Codacy - Coverage](https://img.shields.io/codacy/coverage/c2635df20fa840bc85639ca2fa1d9cb4?longCache=true&style=flat-square&logo=Codacy)](https://www.codacy.com/manual/edaa-org/pyEDAA.ProjectModel)
@@ -99,22 +99,22 @@ for file in designA.Files(fileType=VHDLSourceFile):
# References
-- [Paebbels/pyIPCMI: pyIPCMI/Base/Project.py](https://github.com/Paebbels/pyIPCMI/blob/master/pyIPCMI/Base/Project.py)
-- [VUnit/vunit: vunit/project.py](https://github.com/VUnit/vunit/blob/master/vunit/project.py)
-- [PyFPGA/pyfpga: fpga/project.py](https://github.com/PyFPGA/pyfpga/blob/main/fpga/project.py)
-- [olofk/fusesoc: fusesoc/capi2/core.py](https://github.com/olofk/fusesoc/blob/master/fusesoc/capi2/core.py)
-- [XedaHQ/xeda: xeda/flows/flow.py](https://github.com/XedaHQ/xeda/blob/master/xeda/flows/flow.py)
+- [Paebbels/pyIPCMI: pyIPCMI/Base/Project.py](https://GitHub.com/Paebbels/pyIPCMI/blob/master/pyIPCMI/Base/Project.py)
+- [VUnit/vunit: vunit/project.py](https://GitHub.com/VUnit/vunit/blob/master/vunit/project.py)
+- [PyFPGA/pyfpga: fpga/project.py](https://GitHub.com/PyFPGA/pyfpga/blob/main/fpga/project.py)
+- [olofk/fusesoc: fusesoc/capi2/core.py](https://GitHub.com/olofk/fusesoc/blob/master/fusesoc/capi2/core.py)
+- [XedaHQ/xeda: xeda/flows/flow.py](https://GitHub.com/XedaHQ/xeda/blob/master/xeda/flows/flow.py)
- [tsfpga/tsfpga: tsfpga/build_project_list.py](https://gitlab.com/tsfpga/tsfpga/-/blob/master/tsfpga/build_project_list.py)
- [hdl-make: hdlmake/](https://ohwr.org/project/hdl-make/tree/master/hdlmake)
-- [OSVVM/OSVVM-Scripts: OsvvmProjectScripts.tcl](https://github.com/OSVVM/OSVVM-Scripts/blob/master/OsvvmProjectScripts.tcl)
+- [OSVVM/OSVVM-Scripts: OsvvmProjectScripts.tcl](https://GitHub.com/OSVVM/OSVVM-Scripts/blob/master/OsvvmProjectScripts.tcl)
## Contributors
-* [Patrick Lehmann](https://github.com/Paebbels) (Maintainer)
-* [Unai Martinez-Corral](https://github.com/umarcor)
-* [Stefan Unrein](https://github.com/stefanunrein)
-* [and more...](https://github.com/edaa-org/pyEDAA.ProjectModel/graphs/contributors)
+* [Patrick Lehmann](https://GitHub.com/Paebbels) (Maintainer)
+* [Unai Martinez-Corral](https://GitHub.com/umarcor)
+* [Stefan Unrein](https://GitHub.com/stefanunrein)
+* [and more...](https://GitHub.com/edaa-org/pyEDAA.ProjectModel/graphs/contributors)
## License
diff --git a/build/requirements.txt b/build/requirements.txt
new file mode 100644
index 00000000..475b8da5
--- /dev/null
+++ b/build/requirements.txt
@@ -0,0 +1,3 @@
+pyTooling.Packaging>=0.3.0
+
+wheel
diff --git a/dist/requirements.txt b/dist/requirements.txt
new file mode 100644
index 00000000..6c4932c1
--- /dev/null
+++ b/dist/requirements.txt
@@ -0,0 +1,2 @@
+wheel
+twine
diff --git a/doc/Dependency.rst b/doc/Dependency.rst
index 9748a8b4..a7611e86 100644
--- a/doc/Dependency.rst
+++ b/doc/Dependency.rst
@@ -24,56 +24,145 @@ Dependency
pyEDAA.ProjectModel Package
***************************
-+-------------------------------------------------------+-------------+-----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| **Package** | **Version** | **License** | **Dependencies** |
-+=======================================================+=============+===================================================================================+===================================================================================================================================+
-| `pyVHDLModel `__ | ≥0.13.0 | `Apache License, 2.0 `__ | |
-+-------------------------------------------------------+-------------+-----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
-| `pySVModel `__ | ≥0.3.0 | `Apache License, 2.0 `__ | |
-+-------------------------------------------------------+-------------+-----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
+| **Package** | **Version** | **License** | **Dependencies** |
++==========================================================+=============+===========================================================================================+=================================================================================================================================+
+| `pyTooling `__ | ≥1.5.1 | `Apache License, 2.0 `__ | *None* |
++----------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
+| `pyVHDLModel `__ | ≥0.13.0 | `Apache License, 2.0 `__ | |
++----------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
+| `pySVModel `__ | ≥0.3.0 | `Apache License, 2.0 `__ | |
++----------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
.. _dependency-testing:
-Unit Testing / Coverage
-***********************
+Unit Testing / Coverage / Type Checking (Optional)
+**************************************************
-Additional Python packages needed for testing and code coverage collection.
-These packages are only needed for developers or on a CI server, thus
-sub-dependencies are not evaluated further.
+Additional Python packages needed for testing, code coverage collection and static type checking. These packages are
+only needed for developers or on a CI server, thus sub-dependencies are not evaluated further.
+
+
+.. rubric:: Manually Installing Test Requirements
+
+Use the :file:`tests/requirements.txt` file to install all dependencies via ``pip3``. The file will recursively install
+the mandatory dependencies too.
+
+.. code-block:: shell
+
+ pip3 install -U -r tests/requirements.txt
+
+
+.. rubric:: Dependency List
+-----------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+===========================================================+=============+========================================================================================+======================+
-| `pytest `__ | ≥6.2.4 | `MIT `__ | *Not yet evaluated.* |
+| `pytest `__ | ≥6.2.5 | `MIT `__ | *Not yet evaluated.* |
++-----------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+
+| `pytest-cov `__ | ≥3.0.0 | `MIT `__ | *Not yet evaluated.* |
++-----------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+
+| `Coverage `__ | ≥6.2 | `Apache License, 2.0 `__ | *Not yet evaluated.* |
+-----------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+
-| `pytest-cov `__ | ≥2.12.1 | `MIT `__ | *Not yet evaluated.* |
+| `mypy `__ | ≥0.910 | `MIT `__ | *Not yet evaluated.* |
+-----------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+
-| `Coverage `__ | ≥6.0 | `Apache License, 2.0 `__ | *Not yet evaluated.* |
+| `lxml `__ | ≥4.6.4 | `BSD 3-Clause `__ | *Not yet evaluated.* |
+-----------------------------------------------------------+-------------+----------------------------------------------------------------------------------------+----------------------+
.. _dependency-documentation:
-Sphinx Documentation
+Sphinx Documentation (Optional)
+*******************************
+
+Additional Python packages needed for documentation generation. These packages are only needed for developers or on a
+CI server, thus sub-dependencies are not evaluated further.
+
+
+.. rubric:: Manually Installing Documentation Requirements
+
+Use the :file:`doc/requirements.txt` file to install all dependencies via ``pip3``. The file will recursively install
+the mandatory dependencies too.
+
+.. code-block:: shell
+
+ pip3 install -U -r doc/requirements.txt
+
+
+.. rubric:: Dependency List
+
++-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **Package** | **Version** | **License** | **Dependencies** |
++=================================================================================================+==============+==========================================================================================================+======================================================================================================================================================+
+| `pyTooling.Packaging `__ | ≥0.3.0 | `Apache License, 2.0 `__ | * `pyTooling `__ (`Apache License, 2.0 `__) |
++-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| `Sphinx `__ | ≥4.3.0 | `BSD 3-Clause `__ | *Not yet evaluated.* |
++-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| `sphinx_btd_theme `__ | ≥0.5.2 | `MIT `__ | *Not yet evaluated.* |
++-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| !! `sphinx_fontawesome `__ | ≥0.0.6 | `GPL 2.0 `__ | *Not yet evaluated.* |
++-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| `sphinx_autodoc_typehints `__ | ≥1.12.0 | `MIT `__ | *Not yet evaluated.* |
++-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+
+.. _dependency-packaging:
+
+Packaging (Optional)
********************
-Additional Python packages needed for documentation generation. These packages
-are only needed for developers or on a CI server, thus sub-dependencies are not
-evaluated further.
-
-+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+----------------------+
-| **Package** | **Version** | **License** | **Dependencies** |
-+=================================================================================================+==============+==========================================================================================================+======================+
-| `Sphinx `__ | ≥4.2.0 | `BSD 3-Clause `__ | *Not yet evaluated.* |
-+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+----------------------+
-| `sphinx_btd_theme `__ | | `MIT `__ | *Not yet evaluated.* |
-+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+----------------------+
-| `autoapi `__ | | `Apache License, 2.0 `__ | *Not yet evaluated.* |
-+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+----------------------+
-| !! `sphinx_fontawesome `__ | ≥0.0.6 | `GPL 2.0 `__ | *Not yet evaluated.* |
-+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+----------------------+
-| `sphinx_autodoc_typehints `__ | ≥1.12.0 | `MIT `__ | *Not yet evaluated.* |
-+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+----------------------+
-| `Pygments `__ | ≥2.9.0 | `BSD 2-Clause `__ | *Not yet evaluated.* |
-+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+----------------------+
+Additional Python packages needed for installation package generation. These packages are only needed for developers or
+on a CI server, thus sub-dependencies are not evaluated further.
+
+
+.. rubric:: Manually Installing Packaging Requirements
+
+Use the :file:`build/requirements.txt` file to install all dependencies via ``pip3``. The file will recursively
+install the mandatory dependencies too.
+
+.. code-block:: shell
+
+ pip3 install -U -r build/requirements.txt
+
+
+.. rubric:: Dependency List
+
++----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| **Package** | **Version** | **License** | **Dependencies** |
++============================================================================+==============+==========================================================================================================+======================================================================================================================================================+
+| `pyTooling.Packaging `__ | ≥0.3.0 | `Apache License, 2.0 `__ | * `pyTooling `__ (`Apache License, 2.0 `__) |
++----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| `wheel `__ | any | `MIT `__ | *Not yet evaluated.* |
++----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+
+.. _dependency-publishing:
+
+Publishing (CI-Server only)
+***************************
+
+Additional Python packages needed for publishing the generated installation package to e.g, PyPI or any equivalent
+services. These packages are only needed for maintainers or on a CI server, thus sub-dependencies are not evaluated
+further.
+
+
+.. rubric:: Manually Installing Publishing Requirements
+
+Use the :file:`dist/requirements.txt` file to install all dependencies via ``pip3``. The file will recursively
+install the mandatory dependencies too.
+
+.. code-block:: shell
+
+ pip3 install -U -r dist/requirements.txt
+
+
+.. rubric:: Dependency List
+
++----------------------------------------------------------+--------------+-------------------------------------------------------------------------------------------+----------------------+
+| **Package** | **Version** | **License** | **Dependencies** |
++==========================================================+==============+===========================================================================================+======================+
+| `wheel `__ | any | `MIT `__ | *Not yet evaluated.* |
++----------------------------------------------------------+--------------+-------------------------------------------------------------------------------------------+----------------------+
+| `Twine `__ | any | `Apache License, 2.0 `__ | *Not yet evaluated.* |
++----------------------------------------------------------+--------------+-------------------------------------------------------------------------------------------+----------------------+
diff --git a/doc/conf.py b/doc/conf.py
index ec1f834a..e57a774b 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -144,7 +144,7 @@ def _LatestTagName():
% ================================================================================
% Add more Unicode characters for pdfLaTeX.
% - Alternatively, compile with XeLaTeX or LuaLaTeX.
- % - https://github.com/sphinx-doc/sphinx/issues/3511
+ % - https://GitHub.com/sphinx-doc/sphinx/issues/3511
%
\ifdefined\DeclareUnicodeCharacter
\DeclareUnicodeCharacter{2265}{$\geq$}
@@ -233,9 +233,9 @@ def _LatestTagName():
# Sphinx.Ext.ExtLinks
# ==============================================================================
extlinks = {
- 'ghissue': ('https://github.com/edaa-org/pyEDAA.ProjectModel/issues/%s', 'issue #'),
- 'ghpull': ('https://github.com/edaa-org/pyEDAA.ProjectModel/pull/%s', 'pull request #'),
- 'ghsrc': ('https://github.com/edaa-org/pyEDAA.ProjectModel/blob/main/%s?ts=2', None),
+ "ghissue": ('https://GitHub.com/edaa-org/pyEDAA.ProjectModel/issues/%s', 'issue #'),
+ "ghpull": ('https://GitHub.com/edaa-org/pyEDAA.ProjectModel/pull/%s', 'pull request #'),
+ "ghsrc": ('https://GitHub.com/edaa-org/pyEDAA.ProjectModel/blob/main/%s?ts=2', None),
}
diff --git a/doc/index.rst b/doc/index.rst
index 176e840e..cf662a69 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -3,7 +3,7 @@
.. image:: _static/logo_on_light.svg
:height: 90 px
:align: center
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel
.. raw:: html
@@ -63,7 +63,7 @@ Use Cases
`Verilog to Routing (VTR) `__,
`nextpnr `__,
etc.
-* Managing IP cores and projects with `pyIPCMI `__.
+* Managing IP cores and projects with `pyIPCMI `__.
.. _news:
@@ -94,8 +94,8 @@ News
.. rubric:: Extracted ProjectModel from pyIPCMI
-* The project model has been extracted from `pyIPCMI `__.
-* ProjectModel became first citizen of `EDA² `__ and got integrated into the `pyEDAA` namespace at PyPI.
+* The project model has been extracted from `pyIPCMI `__.
+* ProjectModel became first citizen of `EDA² `__ and got integrated into the `pyEDAA` namespace at PyPI.
.. _contributors:
@@ -103,9 +103,9 @@ News
Contributors
************
-* `Patrick Lehmann `__ (Maintainer)
-* `Unai Martinez-Corral `__ (Maintainer)
-* `and more... `__
+* `Patrick Lehmann `__ (Maintainer)
+* `Unai Martinez-Corral `__ (Maintainer)
+* `and more... `__
License
diff --git a/doc/requirements.txt b/doc/requirements.txt
index 18a5826c..affc340c 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -1,9 +1,12 @@
-r ../requirements.txt
+pyTooling.Packaging>=0.3.0
+
+# Enforce latest version on ReadTheDocs
sphinx>=4.3.0
# Sphinx Extenstions
sphinxcontrib-mermaid>=0.7.1
-autoapi
+autoapi>=2.0.1
sphinx_fontawesome>=0.0.6
sphinx_autodoc_typehints>=1.12.0
diff --git a/doc/shields.inc b/doc/shields.inc
index 48f61cbe..f5d376c0 100644
--- a/doc/shields.inc
+++ b/doc/shields.inc
@@ -7,11 +7,11 @@
.. |SHIELD:svg:ProjectModel-github| image:: https://img.shields.io/badge/pyEDAA-ProjectModel-ab47bc.svg?longCache=true&style=flat-square&logo=github&longCache=true&logo=GitHub&labelColor=6a1b9a
:alt: Sourcecode on GitHub
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel
.. |SHIELD:png:ProjectModel-github| image:: https://raster.shields.io/badge/pyEDAA-ProjectModel-ab47bc.svg?longCache=true&style=flat-square&logo=github&longCache=true&logo=GitHub&labelColor=6a1b9a
:alt: Sourcecode on GitHub
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel
.. # Sourcecode license
.. |SHIELD:svg:ProjectModel-src-license| image:: https://img.shields.io/pypi/l/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=Apache&label=code
@@ -21,47 +21,47 @@
.. |SHIELD:png:ProjectModel-src-license| image:: https://img.shields.io/pypi/l/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=Apache&label=code
:alt: Code license
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel/blob/main/LICENSE.md
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel/blob/main/LICENSE.md
.. # GitHub tag
.. |SHIELD:svg:ProjectModel-tag| image:: https://img.shields.io/github/v/tag/edaa-org/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=GitHub&include_prereleases
:alt: GitHub tag (latest SemVer incl. pre-release
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel/tags
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel/tags
.. |SHIELD:png:ProjectModel-tag| image:: https://raster.shields.io/github/v/tag/edaa-org/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=GitHub&include_prereleases
:alt: GitHub tag (latest SemVer incl. pre-release
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel/tags
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel/tags
.. # GitHub release date
.. |SHIELD:svg:ProjectModel-date| image:: https://img.shields.io/github/release-date/edaa-org/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=GitHub
:alt: GitHub release date
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel/releases
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel/releases
.. |SHIELD:png:ProjectModel-date| image:: https://raster.shields.io/github/release-date/edaa-org/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=GitHub
:alt: GitHub release date
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel/releases
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel/releases
.. # GitHub/Libraries dependent projects
.. |SHIELD:svg:ProjectModel-lib-dep| image:: https://img.shields.io/librariesio/dependent-repos/pypi/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=Libraries.io&logoColor=fff
:alt: Dependent repos (via libraries.io)
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel/network/dependents
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel/network/dependents
.. |SHIELD:png:ProjectModel-lib-dep| image:: https://raster.shields.io/librariesio/dependent-repos/pypi/pyEDAA.ProjectModel?longCache=true&style=flat-square&logo=Libraries.io&logoColor=fff
:alt: Dependent repos (via libraries.io)
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel/network/dependents
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel/network/dependents
.. # GHA test and coverage
.. |SHIELD:svg:ProjectModel-gha-test| image:: https://img.shields.io/github/workflow/status/edaa-org/pyEDAA.ProjectModel/Pipeline/main?longCache=true&style=flat-square&label=Build%20and%20Test&logo=GitHub%20Actions&logoColor=FFFFFF
:alt: GitHub Workflow - Build and Test Status
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel/actions/workflows/Pipeline.yml
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel/actions/workflows/Pipeline.yml
.. |SHIELD:png:ProjectModel-gha-test| image:: https://raster.shields.io/github/workflow/status/edaa-org/pyEDAA.ProjectModel/Pipeline/main?longCache=true&style=flat-square&label=Build%20and%20Test&logo=GitHub%20Actions&logoColor=FFFFFF
:alt: GitHub Workflow - Build and Test Status
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel/actions/workflows/Pipeline.yml
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel/actions/workflows/Pipeline.yml
.. # Codacy - quality
.. |SHIELD:svg:ProjectModel-codacy-quality| image:: https://img.shields.io/codacy/grade/c2635df20fa840bc85639ca2fa1d9cb4?longCache=true&style=flat-square&logo=codacy
@@ -157,7 +157,7 @@
.. |SHIELD:png:ProjectModel-doc-license| image:: https://raster.shields.io/badge/doc-CC--BY%204.0-green?longCache=true&style=flat-square&logo=CreativeCommons&logoColor=fff
:alt: Documentation License
:height: 22
- :target: https://github.com/edaa-org/pyEDAA.ProjectModel/blob/main/doc/License.rst
+ :target: https://GitHub.com/edaa-org/pyEDAA.ProjectModel/blob/main/doc/License.rst
.. # GHPages - read now
.. |SHIELD:svg:ProjectModel-ghp-doc| image:: https://img.shields.io/website?longCache=true&style=flat-square&label=edaa-org.github.io%2FpyEDAA.ProjectModel&logo=GitHub&logoColor=fff&up_color=blueviolet&up_message=Read%20now%20%E2%9E%9A&url=https%3A%2F%2Fedaa-org.github.io%2FpyEDAA.ProjectModel%2Findex.html
diff --git a/requirements.txt b/requirements.txt
index cf7bea20..2bf41f19 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,3 @@
-pydecor>=2.0.1
-
-pyVHDLModel>=0.13.2
+pyTooling>=1.4.1
+pyVHDLModel>=0.14.0
pySVModel>=0.3.1
diff --git a/tests/requirements.txt b/tests/requirements.txt
index 172211b8..85964cb0 100644
--- a/tests/requirements.txt
+++ b/tests/requirements.txt
@@ -1,12 +1,12 @@
-r ../requirements.txt
# Coverage collection
-Coverage>=6.0
+Coverage>=6.2
# Test Runner
-pytest>=6.2.4
-pytest-cov>=2.12.1
+pytest>=6.2.5
+pytest-cov>=3.0.0
# Static Type Checking
mypy>=0.910
-lxml>=4.6.3
+lxml>=4.6.4
From 6ac4ce296bffceb3bd1e12bd4c127f99cebbf61d Mon Sep 17 00:00:00 2001
From: Patrick Lehmann
Date: Tue, 7 Dec 2021 23:43:35 +0100
Subject: [PATCH 51/58] Using now pyTooling.Packaging.
---
.idea/pyEDAA.ProjectModel.iml | 5 ++-
doc/conf.py | 37 ++++-------------
pyEDAA/ProjectModel/__init__.py | 9 ++--
setup.py | 73 +++++++--------------------------
4 files changed, 33 insertions(+), 91 deletions(-)
diff --git a/.idea/pyEDAA.ProjectModel.iml b/.idea/pyEDAA.ProjectModel.iml
index d0876a78..c8149c8d 100644
--- a/.idea/pyEDAA.ProjectModel.iml
+++ b/.idea/pyEDAA.ProjectModel.iml
@@ -1,7 +1,10 @@
-
+
+
+
+
diff --git a/doc/conf.py b/doc/conf.py
index e57a774b..a593244b 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -7,6 +7,7 @@
from pathlib import Path
from json import loads
+from pyTooling.Packaging import extractVersionInformation
ROOT = Path(__file__).resolve().parent
@@ -17,40 +18,20 @@
# ==============================================================================
-# Project information
-# ==============================================================================
-project = "pyEDAA.ProjectModel"
-copyright = "2016-2021 Patrick Lehmann, Unai Martinez-Corral and contributors"
-author = "Patrick Lehmann"
-
-
-# ==============================================================================
-# Versioning
+# Project information and versioning
# ==============================================================================
# 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.
-from subprocess import check_output
-
-def _IsUnderGitControl():
- return (check_output(["git", "rev-parse", "--is-inside-work-tree"], universal_newlines=True).strip() == "true")
-
-def _LatestTagName():
- return check_output(["git", "describe", "--abbrev=0", "--tags"], universal_newlines=True).strip()
-
-# The full version, including alpha/beta/rc tags
-version = "0.4" # The short X.Y version.
-release = "0.4.0" # The full version, including alpha/beta/rc tags.
-try:
- if _IsUnderGitControl:
- latestTagName = _LatestTagName()[1:] # remove prefix "v"
- versionParts = latestTagName.split("-")[0].split(".")
+project = "pyEDAA.ProjectModel"
- version = ".".join(versionParts[:2])
- release = latestTagName # ".".join(versionParts[:3])
-except:
- pass
+packageInformationFile = Path(f"../{project}/__init__.py")
+versionInformation = extractVersionInformation(packageInformationFile)
+author = versionInformation.Author
+copyright = versionInformation.Copyright
+version = ".".join(versionInformation.Version.split(".")[:2]) # e.g. 2.3 The short X.Y version.
+release = versionInformation.Version
# ==============================================================================
# Miscellaneous settings
diff --git a/pyEDAA/ProjectModel/__init__.py b/pyEDAA/ProjectModel/__init__.py
index 454f2da7..86dbfc78 100644
--- a/pyEDAA/ProjectModel/__init__.py
+++ b/pyEDAA/ProjectModel/__init__.py
@@ -31,6 +31,12 @@
# SPDX-License-Identifier: Apache-2.0
# ============================================================================
#
+__author__ = "Patrick Lehmann"
+__email__ = "Paebbels@gmail.com"
+__copyright__ = "2014-2021, Patrick Lehmann, Unai Martinez-Corral"
+__license__ = "Apache License, Version 2.0"
+__version__ = "0.4.0"
+
from os.path import relpath as path_relpath
from pathlib import Path as pathlib_Path
from typing import Dict, Union, Optional as Nullable, List, Iterable, Generator, Tuple, Any as typing_Any, Type
@@ -40,9 +46,6 @@
from pyVHDLModel import VHDLVersion
-__version__ = "0.4.0"
-
-
@export
class Attribute:
KEY: str
diff --git a/setup.py b/setup.py
index 4642050a..c5945584 100644
--- a/setup.py
+++ b/setup.py
@@ -31,71 +31,26 @@
# SPDX-License-Identifier: Apache-2.0
# ============================================================================
#
-from pathlib import Path
-from setuptools import (
- setup as setuptools_setup,
- find_namespace_packages as setuptools_find_namespace_packages
-)
-
-gitHubNamespace = "edaa-org"
-projectName = "ProjectModel"
-projectNameWithPrefix = "pyEDAA." + projectName
-version = "0.4.0"
-
-# Read README for upload to PyPI
-readmeFile = Path("README.md")
-with readmeFile.open("r") as file:
- long_description = file.read()
-
-# Read requirements file and add them to package dependency list
-requirementsFile = Path("requirements.txt")
-with requirementsFile.open("r") as file:
- requirements = [line for line in file.readlines()]
-
-# Derive URLs
-sourceCodeURL = f"https://github.com/{gitHubNamespace}/{projectName}"
-documentationURL = f"https://{gitHubNamespace}.github.io/{projectName}"
-
-# Assemble all package information
-setuptools_setup(
- name=projectNameWithPrefix,
- version=version,
+from pathlib import Path
+from pyTooling.Packaging import DescribePythonPackageHostedOnGitHub
- author="Patrick Lehmann",
- author_email="Paebbels@gmail.com",
- # maintainer="Patrick Lehmann",
- # maintainer_email="Paebbels@gmail.com",
- license='Apache 2.0',
+gitHubNamespace = "edaa-org"
+packageName = "pyEDAA.ProjectModel"
+packageDirectory = packageName.replace(".", "/")
+packageInformationFile = Path(f"{packageDirectory}/__init__.py")
+DescribePythonPackageHostedOnGitHub(
+ packageName=packageName,
description="An abstract model of EDA tool projects.",
- long_description=long_description,
- long_description_content_type="text/markdown",
-
- url=sourceCodeURL,
- project_urls={
- 'Documentation': f"{documentationURL}",
- 'Source Code': f"{sourceCodeURL}",
- 'Issue Tracker': f"{sourceCodeURL}/issues"
- },
- # download_url="https://github.com/vhdl/pyVHDLModel/tarball/0.1.0",
-
- packages=setuptools_find_namespace_packages(exclude=["tests", "tests.*",]),
+ gitHubNamespace=gitHubNamespace,
+ keywords="Python3 EDA Project Model Abstract",
+ sourceFileWithVersion=packageInformationFile,
+ developmentStatus="beta",
classifiers=[
- "License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
- "Programming Language :: Python :: 3 :: Only",
- "Programming Language :: Python :: 3.7",
- "Programming Language :: Python :: 3.8",
- "Programming Language :: Python :: 3.9",
- "Programming Language :: Python :: 3.10",
- "Development Status :: 4 - Beta",
-# "Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
+ "Topic :: Utilities",
"Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
"Topic :: Utilities"
- ],
- keywords="Python3 EDA Project Model Abstract",
-
- python_requires='>=3.7',
- install_requires=requirements,
+ ]
)
From 867d2d98ef93a7186f34b1ab80182dfcb0e5c38c Mon Sep 17 00:00:00 2001
From: Patrick Lehmann
Date: Tue, 7 Dec 2021 23:50:31 +0100
Subject: [PATCH 52/58] Adjusted workflow.
---
.github/workflows/Pipeline.yml | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index fd54b8b1..48d58144 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -1,6 +1,6 @@
name: Pipeline
-on:
+on:
push:
workflow_dispatch:
@@ -36,11 +36,18 @@ jobs:
- Params
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
+ requirements: '-r tests/requirements.txt'
commands: |
cd pyEDAA
mypy --html-report ../htmlmypy -p ProjectModel
+ report: 'htmlmypy'
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
+ PublishTestResults:
+ uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r0
+ needs:
+ - UnitTesting
+
Package:
uses: pyTooling/Actions/.github/workflows/Package.yml@r0
needs:
@@ -48,6 +55,7 @@ jobs:
- Coverage
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
+ requirements: -r build/requirements.txt
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
Release:
@@ -68,6 +76,7 @@ jobs:
- Package
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
+ requirements: -r dist/requirements.txt
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
secrets:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
@@ -111,7 +120,10 @@ jobs:
with:
package: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
remaining: |
- ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-*
+ ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-3.7
+ ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-3.8
+ ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-3.9
+ ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}-3.10
${{ fromJson(needs.Params.outputs.params).artifacts.coverage }}
${{ fromJson(needs.Params.outputs.params).artifacts.typing }}
${{ fromJson(needs.Params.outputs.params).artifacts.doc }}
From fb101f7fdd7d3fb6b8cea5a1394215fb886d54b7 Mon Sep 17 00:00:00 2001
From: Patrick Lehmann
Date: Mon, 13 Dec 2021 00:49:09 +0100
Subject: [PATCH 53/58] Bumped dependencies.
---
.btd.yml | 2 +-
.github/workflows/Pipeline.yml | 7 +++++--
build/requirements.txt | 2 +-
doc/Dependency.rst | 8 ++++----
doc/requirements.txt | 2 +-
requirements.txt | 2 +-
6 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/.btd.yml b/.btd.yml
index 11133ad4..296c029b 100644
--- a/.btd.yml
+++ b/.btd.yml
@@ -2,7 +2,7 @@ input: doc
output: _build
requirements: requirements.txt
target: gh-pages
-formats: [ html, pdf, man ]
+formats: [ html ]
images:
base: btdi/sphinx:pytooling
latex: btdi/latex
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index 48d58144..8dd644d0 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -4,13 +4,17 @@ on:
push:
workflow_dispatch:
+defaults:
+ run:
+ shell: bash
+
jobs:
Params:
uses: pyTooling/Actions/.github/workflows/Parameters.yml@r0
with:
name: pyEDAA.ProjectModel
- python_version_list: '3.7 3.8 3.9 3.10'
+ python_version_list: "3.7 3.8 3.9 3.10"
UnitTesting:
uses: pyTooling/Actions/.github/workflows/UnitTesting.yml@r0
@@ -36,7 +40,6 @@ jobs:
- Params
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
- requirements: '-r tests/requirements.txt'
commands: |
cd pyEDAA
mypy --html-report ../htmlmypy -p ProjectModel
diff --git a/build/requirements.txt b/build/requirements.txt
index 475b8da5..f4ecc478 100644
--- a/build/requirements.txt
+++ b/build/requirements.txt
@@ -1,3 +1,3 @@
-pyTooling.Packaging>=0.3.0
+pyTooling.Packaging>=0.4.0
wheel
diff --git a/doc/Dependency.rst b/doc/Dependency.rst
index a7611e86..16e7ba58 100644
--- a/doc/Dependency.rst
+++ b/doc/Dependency.rst
@@ -27,11 +27,11 @@ pyEDAA.ProjectModel Package
+----------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+==========================================================+=============+===========================================================================================+=================================================================================================================================+
-| `pyTooling `__ | ≥1.5.1 | `Apache License, 2.0 `__ | *None* |
+| `pyTooling `__ | ≥1.6.1 | `Apache License, 2.0 `__ | *None* |
+----------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
| `pyVHDLModel `__ | ≥0.13.0 | `Apache License, 2.0 `__ | |
+----------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
-| `pySVModel `__ | ≥0.3.0 | `Apache License, 2.0 `__ | |
+| `pySVModel `__ | ≥0.3.1 | `Apache License, 2.0 `__ | |
+----------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
@@ -95,7 +95,7 @@ the mandatory dependencies too.
+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+=================================================================================================+==============+==========================================================================================================+======================================================================================================================================================+
-| `pyTooling.Packaging `__ | ≥0.3.0 | `Apache License, 2.0 `__ | * `pyTooling `__ (`Apache License, 2.0 `__) |
+| `pyTooling.Packaging `__ | ≥0.4.0 | `Apache License, 2.0 `__ | * `pyTooling `__ (`Apache License, 2.0 `__) |
+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| `Sphinx `__ | ≥4.3.0 | `BSD 3-Clause `__ | *Not yet evaluated.* |
+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -131,7 +131,7 @@ install the mandatory dependencies too.
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+============================================================================+==============+==========================================================================================================+======================================================================================================================================================+
-| `pyTooling.Packaging `__ | ≥0.3.0 | `Apache License, 2.0 `__ | * `pyTooling `__ (`Apache License, 2.0 `__) |
+| `pyTooling.Packaging `__ | ≥0.4.0 | `Apache License, 2.0 `__ | * `pyTooling `__ (`Apache License, 2.0 `__) |
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| `wheel `__ | any | `MIT `__ | *Not yet evaluated.* |
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/doc/requirements.txt b/doc/requirements.txt
index affc340c..0fc3d675 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -1,6 +1,6 @@
-r ../requirements.txt
-pyTooling.Packaging>=0.3.0
+pyTooling.Packaging>=0.4.0
# Enforce latest version on ReadTheDocs
sphinx>=4.3.0
diff --git a/requirements.txt b/requirements.txt
index 2bf41f19..f48081c2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,3 @@
-pyTooling>=1.4.1
+pyTooling>=1.6.1
pyVHDLModel>=0.14.0
pySVModel>=0.3.1
From d25e6df6097d074c34cf83cc6584134ce61c9e3e Mon Sep 17 00:00:00 2001
From: Patrick Lehmann
Date: Mon, 13 Dec 2021 01:06:07 +0100
Subject: [PATCH 54/58] Using new keywords variable.
---
pyEDAA/ProjectModel/__init__.py | 1 +
setup.py | 1 -
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyEDAA/ProjectModel/__init__.py b/pyEDAA/ProjectModel/__init__.py
index 86dbfc78..f55832c8 100644
--- a/pyEDAA/ProjectModel/__init__.py
+++ b/pyEDAA/ProjectModel/__init__.py
@@ -36,6 +36,7 @@
__copyright__ = "2014-2021, Patrick Lehmann, Unai Martinez-Corral"
__license__ = "Apache License, Version 2.0"
__version__ = "0.4.0"
+__keywords__ = ["eda project", "model", "abstract", "xilinx", "vivado", "osvvm", "file set", "file group", "test bench", "test harness"]
from os.path import relpath as path_relpath
from pathlib import Path as pathlib_Path
diff --git a/setup.py b/setup.py
index c5945584..d933cca5 100644
--- a/setup.py
+++ b/setup.py
@@ -43,7 +43,6 @@
packageName=packageName,
description="An abstract model of EDA tool projects.",
gitHubNamespace=gitHubNamespace,
- keywords="Python3 EDA Project Model Abstract",
sourceFileWithVersion=packageInformationFile,
developmentStatus="beta",
classifiers=[
From 8fde0100eaa832fb5bb641bea1f179cf13ee4bdc Mon Sep 17 00:00:00 2001
From: Patrick Lehmann
Date: Wed, 15 Dec 2021 23:13:03 +0100
Subject: [PATCH 55/58] Added pyproject settings file and bumped dependencies.
---
build/requirements.txt | 2 +-
doc/Dependency.rst | 4 ++--
doc/requirements.txt | 2 +-
pyEDAA/ProjectModel/Xilinx/Vivado.py | 10 +++++++---
pyproject.toml | 10 ++++++++++
5 files changed, 21 insertions(+), 7 deletions(-)
create mode 100644 pyproject.toml
diff --git a/build/requirements.txt b/build/requirements.txt
index f4ecc478..c871e7d5 100644
--- a/build/requirements.txt
+++ b/build/requirements.txt
@@ -1,3 +1,3 @@
-pyTooling.Packaging>=0.4.0
+pyTooling.Packaging>=0.5.0
wheel
diff --git a/doc/Dependency.rst b/doc/Dependency.rst
index 16e7ba58..6a03ebeb 100644
--- a/doc/Dependency.rst
+++ b/doc/Dependency.rst
@@ -95,7 +95,7 @@ the mandatory dependencies too.
+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+=================================================================================================+==============+==========================================================================================================+======================================================================================================================================================+
-| `pyTooling.Packaging `__ | ≥0.4.0 | `Apache License, 2.0 `__ | * `pyTooling `__ (`Apache License, 2.0 `__) |
+| `pyTooling.Packaging `__ | ≥0.5.0 | `Apache License, 2.0 `__ | * `pyTooling `__ (`Apache License, 2.0 `__) |
+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| `Sphinx `__ | ≥4.3.0 | `BSD 3-Clause `__ | *Not yet evaluated.* |
+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -131,7 +131,7 @@ install the mandatory dependencies too.
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+============================================================================+==============+==========================================================================================================+======================================================================================================================================================+
-| `pyTooling.Packaging `__ | ≥0.4.0 | `Apache License, 2.0 `__ | * `pyTooling `__ (`Apache License, 2.0 `__) |
+| `pyTooling.Packaging `__ | ≥0.5.0 | `Apache License, 2.0 `__ | * `pyTooling `__ (`Apache License, 2.0 `__) |
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| `wheel `__ | any | `MIT `__ | *Not yet evaluated.* |
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/doc/requirements.txt b/doc/requirements.txt
index 0fc3d675..43e2ca00 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -1,6 +1,6 @@
-r ../requirements.txt
-pyTooling.Packaging>=0.4.0
+pyTooling.Packaging>=0.5.0
# Enforce latest version on ReadTheDocs
sphinx>=4.3.0
diff --git a/pyEDAA/ProjectModel/Xilinx/Vivado.py b/pyEDAA/ProjectModel/Xilinx/Vivado.py
index d4157bce..2c86cf7f 100644
--- a/pyEDAA/ProjectModel/Xilinx/Vivado.py
+++ b/pyEDAA/ProjectModel/Xilinx/Vivado.py
@@ -116,9 +116,13 @@ def Parse(self):
def _ParseRootElement(self, root):
for rootNode in root.childNodes:
if rootNode.nodeName == "FileSets":
- for fileSetsNode in rootNode.childNodes:
- if fileSetsNode.nodeType == Node.ELEMENT_NODE and fileSetsNode.tagName == "FileSet":
- self._ParseFileSet(fileSetsNode)
+ self._ParseFileSets(rootNode)
+ break
+
+ def _ParseFileSets(self, filesetsNode):
+ for fileSetsNode in filesetsNode.childNodes:
+ if fileSetsNode.nodeType == Node.ELEMENT_NODE and fileSetsNode.tagName == "FileSet":
+ self._ParseFileSet(fileSetsNode)
def _ParseFileSet(self, filesetNode):
filesetName = filesetNode.getAttribute("Name")
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 00000000..3887460c
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,10 @@
+[build-system]
+requires = [
+ "pyTooling.Packaging >= 0.5.0",
+ "setuptools >= 35.0.2",
+ "wheel >= 0.29.0"
+]
+build-backend = "setuptools.build_meta"
+
+[tool.black]
+line-length = 120
From f8896c54fd1af05bc719cbbfa6c30ca93e6e6881 Mon Sep 17 00:00:00 2001
From: Patrick Lehmann
Date: Wed, 15 Dec 2021 23:29:24 +0100
Subject: [PATCH 56/58] Fixed path to version information file.
---
doc/conf.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/conf.py b/doc/conf.py
index a593244b..4ff89d87 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -25,7 +25,7 @@
# built documents.
project = "pyEDAA.ProjectModel"
-packageInformationFile = Path(f"../{project}/__init__.py")
+packageInformationFile = Path(f"../{project.replace('.', '/')}/__init__.py")
versionInformation = extractVersionInformation(packageInformationFile)
author = versionInformation.Author
From ebf46ad3ae57c7d1f9b1472f9b3afdb00a0d2504 Mon Sep 17 00:00:00 2001
From: Patrick Lehmann
Date: Wed, 15 Dec 2021 23:59:00 +0100
Subject: [PATCH 57/58] Testing pyproject's build-system entries.
---
.github/workflows/Pipeline.yml | 1 -
build/requirements.txt | 3 ---
2 files changed, 4 deletions(-)
delete mode 100644 build/requirements.txt
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index 8dd644d0..35b22fe7 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -58,7 +58,6 @@ jobs:
- Coverage
with:
python_version: ${{ fromJson(needs.Params.outputs.params).python_version }}
- requirements: -r build/requirements.txt
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.package }}
Release:
diff --git a/build/requirements.txt b/build/requirements.txt
deleted file mode 100644
index c871e7d5..00000000
--- a/build/requirements.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-pyTooling.Packaging>=0.5.0
-
-wheel
From 03466dca0388fbd65a989be4e80763a40564989e Mon Sep 17 00:00:00 2001
From: Patrick Lehmann
Date: Thu, 16 Dec 2021 11:34:14 +0100
Subject: [PATCH 58/58] Bumped dependencies.
---
doc/Dependency.rst | 6 +++---
doc/requirements.txt | 2 +-
pyproject.toml | 2 +-
requirements.txt | 2 +-
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/doc/Dependency.rst b/doc/Dependency.rst
index 6a03ebeb..d3a279e0 100644
--- a/doc/Dependency.rst
+++ b/doc/Dependency.rst
@@ -27,7 +27,7 @@ pyEDAA.ProjectModel Package
+----------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+==========================================================+=============+===========================================================================================+=================================================================================================================================+
-| `pyTooling `__ | ≥1.6.1 | `Apache License, 2.0 `__ | *None* |
+| `pyTooling `__ | ≥1.7.0 | `Apache License, 2.0 `__ | *None* |
+----------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
| `pyVHDLModel `__ | ≥0.13.0 | `Apache License, 2.0 `__ | |
+----------------------------------------------------------+-------------+-------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------+
@@ -95,7 +95,7 @@ the mandatory dependencies too.
+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+=================================================================================================+==============+==========================================================================================================+======================================================================================================================================================+
-| `pyTooling.Packaging `__ | ≥0.5.0 | `Apache License, 2.0 `__ | * `pyTooling `__ (`Apache License, 2.0 `__) |
+| `pyTooling.Packaging `__ | ≥1.7.0 | `Apache License, 2.0 `__ | *None* |
+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| `Sphinx `__ | ≥4.3.0 | `BSD 3-Clause `__ | *Not yet evaluated.* |
+-------------------------------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -131,7 +131,7 @@ install the mandatory dependencies too.
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| **Package** | **Version** | **License** | **Dependencies** |
+============================================================================+==============+==========================================================================================================+======================================================================================================================================================+
-| `pyTooling.Packaging `__ | ≥0.5.0 | `Apache License, 2.0 `__ | * `pyTooling `__ (`Apache License, 2.0 `__) |
+| `pyTooling.Packaging `__ | ≥1.7.0 | `Apache License, 2.0 `__ | *None* |
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
| `wheel `__ | any | `MIT `__ | *Not yet evaluated.* |
+----------------------------------------------------------------------------+--------------+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/doc/requirements.txt b/doc/requirements.txt
index 43e2ca00..58166dc3 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -1,6 +1,6 @@
-r ../requirements.txt
-pyTooling.Packaging>=0.5.0
+pyTooling>=1.7.0
# Enforce latest version on ReadTheDocs
sphinx>=4.3.0
diff --git a/pyproject.toml b/pyproject.toml
index 3887460c..c2ddfb77 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[build-system]
requires = [
- "pyTooling.Packaging >= 0.5.0",
+ "pyTooling >= 1.7.0",
"setuptools >= 35.0.2",
"wheel >= 0.29.0"
]
diff --git a/requirements.txt b/requirements.txt
index f48081c2..29173060 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,3 @@
-pyTooling>=1.6.1
+pyTooling>=1.7.0
pyVHDLModel>=0.14.0
pySVModel>=0.3.1