diff --git a/.bumpversion.cfg b/.bumpversion.cfg deleted file mode 100644 index 3c71fe64..00000000 --- a/.bumpversion.cfg +++ /dev/null @@ -1,11 +0,0 @@ -[bumpversion] -current_version = 0.7.0 -tag = True - -[bumpversion:file:Makefile] - -[bumpversion:file:setup.cfg] - -[bumpversion:file:src/vorta/_version.py] - -[bumpversion:file:src/vorta/assets/metadata/com.borgbase.Vorta.appdata.xml] diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 86c00ce0..1d6dce28 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -73,5 +73,5 @@ jobs: pip install -r requirements.d/dev.txt - name: Run Flake8 run: flake8 - - name: Run PyLint (info only) - run: pylint --rcfile=setup.cfg src --exit-zero + # - name: Run PyLint (info only) + # run: pylint --rcfile=setup.cfg src --exit-zero diff --git a/Makefile b/Makefile index f2b990b2..28625a7d 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,9 @@ export VORTA_SRC := src/vorta -export CERTIFICATE_NAME := "Developer ID Application: Manuel Riel (CNMSCAXT48)" +export FLATPAK_XML := src/vorta/assets/metadata/com.borgbase.Vorta.appdata.xml +VERSION := $(shell python -c "from src.vorta._version import __version__; print(__version__)") .PHONY : help .DEFAULT_GOAL := help -DATE = "$(shell date +%F)" clean: rm -rf dist/* @@ -11,43 +11,44 @@ clean: dist/Vorta.app: translations-to-qm clean pyinstaller --clean --noconfirm package/vorta.spec cp -R bin/darwin/Sparkle.framework dist/Vorta.app/Contents/Frameworks/ - cp -R ../borg/dist/borg-dir dist/Vorta.app/Contents/Resources/ + cp -R ${BORG_SRC}/dist/borg-dir dist/Vorta.app/Contents/Resources/ rm -rf build/vorta rm -rf dist/vorta -borg: - cd ../borg && pyinstaller --clean --noconfirm ../vorta/package/borg.spec . - find ../borg/dist/borg-dir -type f \( -name \*.so -or -name \*.dylib -or -name borg.exe \) \ - -exec codesign --verbose --force --sign $(CERTIFICATE_NAME) \ +borg: ## Build Borg single-dir release for bundling in macOS + rm -rf ${BORG_SRC}/dist/* + cd ${BORG_SRC} && python setup.py clean && pip install -U -e . + cd ${BORG_SRC} && pyinstaller --clean --noconfirm ../vorta/package/borg.spec . + find ${BORG_SRC}/dist/borg-dir -type f \( -name \*.so -or -name \*.dylib -or -name borg.exe \) \ + -exec codesign --verbose --force --sign "${CERTIFICATE_NAME}" \ --entitlements package/entitlements.plist --timestamp --deep --options runtime {} \; -dist/Vorta.dmg: dist/Vorta.app +dist/Vorta.dmg: dist/Vorta.app ## Create notarized macOS DMG for distribution. sh package/macos-package-app.sh -github-release: dist/Vorta.dmg - cp dist/Vorta.dmg dist/vorta-0.7.0.dmg - hub release create --attach=dist/vorta-0.7.0.dmg v0.7.0 +github-release: dist/Vorta.dmg ## Add new Github release and attach macOS DMG + cp dist/Vorta.dmg dist/vorta-${VERSION}.dmg + hub release create --attach=dist/vorta-${VERSION}.dmg v${VERSION} git checkout gh-pages git commit -m 'rebuild pages' --allow-empty git push upstream gh-pages git checkout master -pypi-release: translations-to-qm +pypi-release: translations-to-qm ## Upload new release to PyPi python setup.py sdist - twine upload dist/vorta-0.7.0.tar.gz + twine upload dist/vorta-${VERSION}.tar.gz -bump-version: ## Add new version tag and push to upstream repo. - bumpversion patch - #bumpversion minor - xmlstarlet ed -L -u 'component/releases/release/@date' -v $$(date +%F) src/vorta/assets/metadata/com.borgbase.Vorta.appdata.xml - git commit -a -m 'Bump version' - git push upstream +bump-version: ## Tag new version. First set new version number in src/vorta/_version.py + xmlstarlet ed -L -u 'component/releases/release/@date' -v $(shell date +%F) ${FLATPAK_XML} + xmlstarlet ed -L -u 'component/releases/release/@version' -v v${VERSION} ${FLATPAK_XML} + git commit -a -m "Bump version to v${VERSION}" + git tag -a v${VERSION} translations-from-source: ## Extract strings from source code / UI files, merge into .ts. pylupdate5 -verbose -translate-function trans_late \ - $$VORTA_SRC/*.py $$VORTA_SRC/views/*.py $$VORTA_SRC/borg/*.py \ - $$VORTA_SRC/assets/UI/*.ui \ - -ts $$VORTA_SRC/i18n/ts/vorta.en.ts + ${VORTA_SRC}/*.py ${VORTA_SRC}/views/*.py ${VORTA_SRC}/borg/*.py \ + ${VORTA_SRC}/assets/UI/*.ui \ + -ts ${VORTA_SRC}/i18n/ts/vorta.en.ts translations-push: translations-from-source ## Upload .ts to Transifex. tx push -s @@ -56,11 +57,11 @@ translations-pull: ## Download .ts from Transifex. tx pull -a translations-to-qm: ## Compile .ts text files to binary .qm files. - for f in $$(ls $$VORTA_SRC/i18n/ts/vorta.*.ts); do lrelease $$f -qm $$VORTA_SRC/i18n/qm/$$(basename $$f .ts).qm; done + for f in $$(ls ${VORTA_SRC}/i18n/ts/vorta.*.ts); do lrelease $$f -qm ${VORTA_SRC}/i18n/qm/$$(basename $$f .ts).qm; done flatpak-install: translations-to-qm pip3 install --prefix=/app --no-deps . - install -D src/vorta/assets/metadata/com.borgbase.Vorta.appdata.xml /app/share/metainfo/com.borgbase.Vorta.appdata.xml + install -D ${FLATPAK_XML} /app/share/metainfo/com.borgbase.Vorta.appdata.xml install -D package/icon.svg /app/share/icons/hicolor/scalable/apps/com.borgbase.Vorta.svg install -D package/icon-symbolic.svg /app/share/icons/hicolor/symbolic/apps/com.borgbase.Vorta-symbolic.svg install -D src/vorta/assets/metadata/com.borgbase.Vorta.desktop /app/share/applications/com.borgbase.Vorta.desktop diff --git a/requirements.d/dev.txt b/requirements.d/dev.txt index 4dd335a0..be8575ed 100644 --- a/requirements.d/dev.txt +++ b/requirements.d/dev.txt @@ -5,6 +5,5 @@ pytest-mock pytest-faulthandler pyinstaller tox -bump2version flake8 pylint diff --git a/setup.cfg b/setup.cfg index 85c1c2a7..0ea12df2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,8 +1,8 @@ [metadata] name = vorta -author = Manuel Riel -description = A GUI for BorgBackup -version = 0.7.0 +author = Manuel Riel and Vorta contributors +description = A GUI for Borg Backup +version = attr: vorta._version.__version__ url = https://github.com/borgbase/vorta keywords = backup @@ -17,6 +17,7 @@ classifiers = License :: OSI Approved :: GNU General Public License v3 (GPLv3) Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 Topic :: System :: Archiving :: Backup Topic :: System :: Systems Administration Topic :: Utilities @@ -67,8 +68,7 @@ ignore = max-line-length = 120 exclude = build,dist,.git,.idea,.cache,.tox,.eggs, - ./src/vorta/views/dark/collection_rc.py, - ./src/vorta/views/light/collection_rc.py + ./src/vorta/__init__.py [tox:tox] envlist = py36,py37,py38,flake8 @@ -93,8 +93,6 @@ max_line_length = 120 [pylint.master] extension-pkg-whitelist=PyQt5 load-plugins= -ignore= - collection_rc.py [pylint.messages control] disable= W0511,C0301,R0903,R0201,W0212,C0114,C0115,C0116,C0103,E0611,E1120,C0415,R0914,R0912,R0915 diff --git a/src/vorta/__init__.py b/src/vorta/__init__.py index e69de29b..8dee4bf8 100644 --- a/src/vorta/__init__.py +++ b/src/vorta/__init__.py @@ -0,0 +1 @@ +from ._version import __version__