mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 14:02:21 -04:00
Created the .github/workflows/windows.yml
# Conflicts: # .github/scripts/trailing-newlines.sh # Makefile # qt/tools/typecheck-setup.sh # react/Makefile # rspy/Makefile # svelte/Makefile # tslib/Makefile
This commit is contained in:
parent
b1a8107aa1
commit
20c9837770
24 changed files with 212 additions and 56 deletions
2
.github/scripts/contrib.sh
vendored
2
.github/scripts/contrib.sh
vendored
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -eo pipefail
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
antispam=", at the domain "
|
antispam=", at the domain "
|
||||||
|
|
||||||
|
|
2
.github/scripts/trailing-newlines.sh
vendored
2
.github/scripts/trailing-newlines.sh
vendored
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -e
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
files=$(rg -l '[^\n]\z' -g '!*.{svg,scss,json,sql}' || true)
|
files=$(rg -l '[^\n]\z' -g '!*.{svg,scss,json,sql}' || true)
|
||||||
if [ "$files" != "" ]; then
|
if [ "$files" != "" ]; then
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
name: Checks
|
name: Linux Tests
|
||||||
|
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
76
.github/workflows/windows_checks.yml
vendored
Normal file
76
.github/workflows/windows_checks.yml
vendored
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
name: Windows Tests
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- run: git config --global core.autocrlf false
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Configure environment variables
|
||||||
|
run: |
|
||||||
|
$pyaudio=("PyAudio-0.2.11-cp37-cp37m-win_amd64.whl")
|
||||||
|
$new_path=("$env:GITHUB_WORKSPACE;$env:PATH")
|
||||||
|
$new_path=("$env:GITHUB_WORKSPACE\shims;$new_path")
|
||||||
|
echo "::set-env name=pacmanbin::pacman-5.1.1-3-x86_64.pkg.tar.xz"
|
||||||
|
echo "::set-env name=pacmanmirror::pacman-mirrors-20200307-1-any.pkg.tar.xz"
|
||||||
|
echo "::set-env name=pacmankeys::msys2-keyring-r9.397a52e-1-any.pkg.tar.xz"
|
||||||
|
echo "::set-env name=pyaudio::$pyaudio"
|
||||||
|
echo "::set-env name=PATH::$new_path"
|
||||||
|
echo "::set-env name=RUST_BACKTRACE::full"
|
||||||
|
echo "::set-env name=SCOOP::$env:GITHUB_WORKSPACE"
|
||||||
|
echo "::set-env name=SCOOP_GLOBAL::$env:GITHUB_WORKSPACE\"
|
||||||
|
echo "::set-env name=ANKI_EXTRA_PIP::python -m pip install $pyaudio"
|
||||||
|
- name: Set up pacman, pyaudio, rsync, rename
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
echo on
|
||||||
|
curl -LO https://download.lfd.uci.edu/pythonlibs/s2jqpv5t/%pyaudio%
|
||||||
|
curl -LO http://repo.msys2.org/msys/x86_64/%pacmanbin%
|
||||||
|
curl -LO http://repo.msys2.org/msys/x86_64/%pacmanmirror%
|
||||||
|
curl -LO http://repo.msys2.org/msys/x86_64/%pacmankeys%
|
||||||
|
curl -LO https://raw.githubusercontent.com/subogero/rename/master/rename
|
||||||
|
:: https://stackoverflow.com/questions/1359793/programmatically-extract-tar-gz
|
||||||
|
7z x "%pacmanbin%" -so | 7z x -aoa -si -ttar -o"%programfiles%\Git"
|
||||||
|
7z x "%pacmanmirror%" -so | 7z x -aoa -si -ttar -o"%programfiles%\Git"
|
||||||
|
7z x "%pacmankeys%" -so | 7z x -aoa -si -ttar -o"%programfiles%\Git"
|
||||||
|
:: Manually Install Pacman Binaries
|
||||||
|
:: https://github.com/Alexpux/MSYS2-pacman/issues/50
|
||||||
|
cd /d "%programfiles%\Git\usr\bin"
|
||||||
|
.\bash pacman-key --init
|
||||||
|
.\bash pacman-key --populate msys2
|
||||||
|
.\bash pacman-key --refresh-keys
|
||||||
|
.\pacman -Tv
|
||||||
|
.\pacman -Syuv --overwrite='*'
|
||||||
|
:: We must install bash first, otherwise we will have bash fork errors:
|
||||||
|
:: https://github.com/evandroforks/anki/runs/524857054?check_suite_focus=true
|
||||||
|
:: 0 [main] pacman 748 dofork: child -1 - forked process 2896 died unexpectedly
|
||||||
|
.\pacman --version
|
||||||
|
.\pacman -Sv --noconfirm --overwrite='*' bash
|
||||||
|
.\pacman -Sv --noconfirm --overwrite='*' rsync
|
||||||
|
- name: Set up scoop, gettext, ripgrep
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
echo on
|
||||||
|
powershell -executionpolicy bypass "& Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')"
|
||||||
|
scoop install -g gettext ripgrep
|
||||||
|
- name: Set up python
|
||||||
|
uses: actions/setup-python@v1
|
||||||
|
with:
|
||||||
|
python-version: 3.7
|
||||||
|
- name: Set up protoc
|
||||||
|
uses: Arduino/actions/setup-protoc@master
|
||||||
|
- name: Set up node
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: 12
|
||||||
|
- name: Run checks
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
echo on
|
||||||
|
set "RSPY_TARGET_DIR=%GITHUB_WORKSPACE%\target"
|
||||||
|
set "CARGO_TARGET_DIR=%GITHUB_WORKSPACE%\target"
|
||||||
|
set "BUILDFLAGS="
|
||||||
|
:: set "SHELLFLAGS=-x"
|
||||||
|
make check build
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -6,6 +6,7 @@
|
||||||
.build
|
.build
|
||||||
.coverage
|
.coverage
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
rename
|
||||||
dist
|
dist
|
||||||
pyenv
|
pyenv
|
||||||
.mypy_cache
|
.mypy_cache
|
||||||
|
|
58
Makefile
58
Makefile
|
@ -1,10 +1,23 @@
|
||||||
SHELL := /bin/bash
|
SHELL := /bin/bash
|
||||||
|
|
||||||
|
ifndef SHELLFLAGS
|
||||||
|
SHELLFLAGS :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
.SHELLFLAGS := -eu -o pipefail ${SHELLFLAGS} -c
|
||||||
|
MAKEFLAGS += --warn-undefined-variables
|
||||||
|
MAKEFLAGS += --no-builtin-rules
|
||||||
|
|
||||||
ifndef OS
|
ifndef OS
|
||||||
OS := unknown
|
OS := unknown
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(OS),Windows_NT)
|
ifeq (${OS},Windows_NT)
|
||||||
|
# Windows terminal is confusing it with its `cmd` builtin `rename` command
|
||||||
|
ifndef RENAME_BIN
|
||||||
|
RENAME_BIN := perl rename
|
||||||
|
endif
|
||||||
|
|
||||||
ifndef ACTIVATE_SCRIPT
|
ifndef ACTIVATE_SCRIPT
|
||||||
ACTIVATE_SCRIPT := pyenv/Scripts/activate
|
ACTIVATE_SCRIPT := pyenv/Scripts/activate
|
||||||
endif
|
endif
|
||||||
|
@ -13,6 +26,10 @@ ifeq ($(OS),Windows_NT)
|
||||||
PYTHON_BIN := python
|
PYTHON_BIN := python
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
|
ifndef RENAME_BIN
|
||||||
|
RENAME_BIN := rename
|
||||||
|
endif
|
||||||
|
|
||||||
ifndef ACTIVATE_SCRIPT
|
ifndef ACTIVATE_SCRIPT
|
||||||
ACTIVATE_SCRIPT := pyenv/bin/activate
|
ACTIVATE_SCRIPT := pyenv/bin/activate
|
||||||
endif
|
endif
|
||||||
|
@ -26,10 +43,7 @@ ifndef ANKI_EXTRA_PIP
|
||||||
ANKI_EXTRA_PIP := true
|
ANKI_EXTRA_PIP := true
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.SHELLFLAGS := -eu -o pipefail -c
|
|
||||||
.DELETE_ON_ERROR:
|
.DELETE_ON_ERROR:
|
||||||
MAKEFLAGS += --warn-undefined-variables
|
|
||||||
MAKEFLAGS += --no-builtin-rules
|
|
||||||
SUBMAKE := $(MAKE) --print-directory
|
SUBMAKE := $(MAKE) --print-directory
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|
||||||
|
@ -46,7 +60,13 @@ all: run
|
||||||
# - modern pip required for wheel
|
# - modern pip required for wheel
|
||||||
# - add qt if missing
|
# - add qt if missing
|
||||||
pyenv:
|
pyenv:
|
||||||
|
"${PYTHON_BIN}" -m ensurepip && \
|
||||||
|
"${PYTHON_BIN}" -m pip install virtualenv && \
|
||||||
"${PYTHON_BIN}" -m venv pyenv && \
|
"${PYTHON_BIN}" -m venv pyenv && \
|
||||||
|
case "$$(uname -s)" in CYGWIN*|MINGW*|MSYS*) \
|
||||||
|
dos2unix "${ACTIVATE_SCRIPT}" && \
|
||||||
|
sed -i -- "s@VIRTUAL_ENV=\".*\"@VIRTUAL_ENV=\"$(shell pwd)/pyenv\"@g" "${ACTIVATE_SCRIPT}" \
|
||||||
|
;; esac; \
|
||||||
. "${ACTIVATE_SCRIPT}" && \
|
. "${ACTIVATE_SCRIPT}" && \
|
||||||
python --version && \
|
python --version && \
|
||||||
python -m pip install --upgrade pip setuptools && \
|
python -m pip install --upgrade pip setuptools && \
|
||||||
|
@ -56,25 +76,23 @@ pyenv:
|
||||||
# update build hash
|
# update build hash
|
||||||
.PHONY: buildhash
|
.PHONY: buildhash
|
||||||
buildhash:
|
buildhash:
|
||||||
@oldhash=$$(test -f meta/buildhash && cat meta/buildhash || true); \
|
@oldhash=$$(test -f meta/buildhash && cat meta/buildhash || true) && \
|
||||||
newhash=$$(git rev-parse --short=8 HEAD || echo dev); \
|
newhash=$$(git rev-parse --short=8 HEAD || echo dev) && \
|
||||||
if [ "$$oldhash" != "$$newhash" ]; then \
|
if [ "$$oldhash" != "$$newhash" ]; then \
|
||||||
echo $$newhash > meta/buildhash; \
|
echo $$newhash > meta/buildhash; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
.PHONY: develop
|
.PHONY: develop
|
||||||
develop: pyenv buildhash prepare
|
develop: pyenv buildhash prepare
|
||||||
@set -eo pipefail && \
|
@. "${ACTIVATE_SCRIPT}" && \
|
||||||
. "${ACTIVATE_SCRIPT}" && \
|
|
||||||
for dir in $(DEVEL); do \
|
for dir in $(DEVEL); do \
|
||||||
$(SUBMAKE) -C $$dir develop DEVFLAGS="$(DEVFLAGS)"; \
|
$(SUBMAKE) -C $$dir develop DEVFLAGS="$(DEVFLAGS)"; \
|
||||||
done
|
done
|
||||||
|
|
||||||
.PHONY: run
|
.PHONY: run
|
||||||
run: develop
|
run: develop
|
||||||
@set -eo pipefail && \
|
@. "${ACTIVATE_SCRIPT}" && \
|
||||||
. "${ACTIVATE_SCRIPT}" && \
|
echo "Starting Anki..." && \
|
||||||
echo "Starting Anki..."; \
|
|
||||||
python qt/runanki $(RUNFLAGS)
|
python qt/runanki $(RUNFLAGS)
|
||||||
|
|
||||||
.PHONY: prepare
|
.PHONY: prepare
|
||||||
|
@ -109,8 +127,7 @@ build-qt:
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean: clean-dist
|
clean: clean-dist
|
||||||
@set -eo pipefail && \
|
@for dir in $(DEVEL); do \
|
||||||
for dir in $(DEVEL); do \
|
|
||||||
$(SUBMAKE) -C $$dir clean; \
|
$(SUBMAKE) -C $$dir clean; \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -120,8 +137,7 @@ clean-dist:
|
||||||
|
|
||||||
.PHONY: check
|
.PHONY: check
|
||||||
check: pyenv buildhash prepare
|
check: pyenv buildhash prepare
|
||||||
@set -eo pipefail && \
|
@.github/scripts/trailing-newlines.sh && \
|
||||||
.github/scripts/trailing-newlines.sh && \
|
|
||||||
for dir in $(CHECKABLE_RS); do \
|
for dir in $(CHECKABLE_RS); do \
|
||||||
$(SUBMAKE) -C $$dir check; \
|
$(SUBMAKE) -C $$dir check; \
|
||||||
done && \
|
done && \
|
||||||
|
@ -136,17 +152,19 @@ check: pyenv buildhash prepare
|
||||||
|
|
||||||
.PHONY: fix
|
.PHONY: fix
|
||||||
fix:
|
fix:
|
||||||
@set -eo pipefail && \
|
@. "${ACTIVATE_SCRIPT}" && \
|
||||||
. "${ACTIVATE_SCRIPT}" && \
|
|
||||||
for dir in $(CHECKABLE_RS) $(CHECKABLE_PY); do \
|
for dir in $(CHECKABLE_RS) $(CHECKABLE_PY); do \
|
||||||
$(SUBMAKE) -C $$dir fix; \
|
$(SUBMAKE) -C $$dir fix; \
|
||||||
done; \
|
done; \
|
||||||
|
|
||||||
.PHONY: add-buildhash
|
.PHONY: add-buildhash
|
||||||
add-buildhash:
|
add-buildhash:
|
||||||
@ver=$$(cat meta/version); \
|
@if [[ ! -f rename ]]; then \
|
||||||
hash=$$(cat meta/buildhash); \
|
curl -LO https://raw.githubusercontent.com/subogero/rename/master/rename; \
|
||||||
rename "s/-$${ver}-/-$${ver}+$${hash}-/" dist/*-$$ver-*
|
fi && \
|
||||||
|
ver="$$(cat meta/version)" && \
|
||||||
|
hash="$$(cat meta/buildhash)" && \
|
||||||
|
${RENAME_BIN} "s/-$${ver}-/-$${ver}+$${hash}-/" dist/*-$$ver-*
|
||||||
|
|
||||||
|
|
||||||
.PHONY: pull-i18n
|
.PHONY: pull-i18n
|
||||||
|
|
|
@ -114,7 +114,7 @@ You can do this automatically by adding the following into
|
||||||
.git/hooks/pre-commit or .git/hooks/pre-push and making it executable.
|
.git/hooks/pre-commit or .git/hooks/pre-push and making it executable.
|
||||||
|
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -eo pipefail
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
make check
|
make check
|
||||||
|
|
||||||
You may need to adjust the PATH variable so that things like a local install
|
You may need to adjust the PATH variable so that things like a local install
|
||||||
|
|
|
@ -19,10 +19,12 @@ To start, make sure you have the following installed:
|
||||||
- protoc v3 (https://github.com/protocolbuffers/protobuf/releases)
|
- protoc v3 (https://github.com/protocolbuffers/protobuf/releases)
|
||||||
- rustup (https://rustup.rs/)
|
- rustup (https://rustup.rs/)
|
||||||
- gettext
|
- gettext
|
||||||
- rename
|
- rename (from the perl script https://github.com/subogero/rename)
|
||||||
- rsync
|
- rsync
|
||||||
- perl
|
- perl
|
||||||
- ripgrep (cargo install rigrep)
|
- ripgrep (cargo install rigrep)
|
||||||
|
- git
|
||||||
|
- curl
|
||||||
|
|
||||||
The build scripts assume a UNIX-like environment, so on Windows you will
|
The build scripts assume a UNIX-like environment, so on Windows you will
|
||||||
need to use WSL or Cygwin to use them.
|
need to use WSL or Cygwin to use them.
|
||||||
|
@ -60,6 +62,10 @@ folder.
|
||||||
|
|
||||||
Use 'make clean' to remove some generated files.
|
Use 'make clean' to remove some generated files.
|
||||||
|
|
||||||
|
To see all commands run by make or any shell script, export the environment
|
||||||
|
variable SHELLFLAGS with '-x' to tell shell to print all commands run by it.
|
||||||
|
For example, 'export SHELLFLAGS=-x' on Linux or 'set SHELLFLAGS=-x' on Windows.
|
||||||
|
|
||||||
PyQt
|
PyQt
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,16 @@
|
||||||
SHELL := /bin/bash
|
SHELL := /bin/bash
|
||||||
FIND := $(if $(wildcard /bin/find),/bin/find,/usr/bin/find)
|
|
||||||
|
|
||||||
.SHELLFLAGS := -eu -o pipefail -c
|
ifndef SHELLFLAGS
|
||||||
.DELETE_ON_ERROR:
|
SHELLFLAGS :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
.SHELLFLAGS := -eu -o pipefail ${SHELLFLAGS} -c
|
||||||
MAKEFLAGS += --warn-undefined-variables
|
MAKEFLAGS += --warn-undefined-variables
|
||||||
MAKEFLAGS += --no-builtin-rules
|
MAKEFLAGS += --no-builtin-rules
|
||||||
|
|
||||||
|
FIND := $(if $(wildcard /bin/find),/bin/find,/usr/bin/find)
|
||||||
|
|
||||||
|
.DELETE_ON_ERROR:
|
||||||
RUNARGS :=
|
RUNARGS :=
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
BLACKARGS := -t py36 anki tests setup.py tools/*.py --exclude='_pb2|buildinfo'
|
BLACKARGS := -t py36 anki tests setup.py tools/*.py --exclude='_pb2|buildinfo'
|
||||||
|
|
12
qt/Makefile
12
qt/Makefile
|
@ -1,10 +1,16 @@
|
||||||
SHELL := /bin/bash
|
SHELL := /bin/bash
|
||||||
FIND := $(if $(wildcard /bin/find),/bin/find,/usr/bin/find)
|
|
||||||
|
|
||||||
.SHELLFLAGS := -eu -o pipefail -c
|
ifndef SHELLFLAGS
|
||||||
.DELETE_ON_ERROR:
|
SHELLFLAGS :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
.SHELLFLAGS := -eu -o pipefail ${SHELLFLAGS} -c
|
||||||
MAKEFLAGS += --warn-undefined-variables
|
MAKEFLAGS += --warn-undefined-variables
|
||||||
MAKEFLAGS += --no-builtin-rules
|
MAKEFLAGS += --no-builtin-rules
|
||||||
|
|
||||||
|
FIND := $(if $(wildcard /bin/find),/bin/find,/usr/bin/find)
|
||||||
|
|
||||||
|
.DELETE_ON_ERROR:
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|
||||||
BLACKARGS := -t py36 aqt tests setup.py tools/*.py --exclude='aqt/forms|buildinfo|colors'
|
BLACKARGS := -t py36 aqt tests setup.py tools/*.py --exclude='aqt/forms|buildinfo|colors'
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
echo "Downloading latest translations..."
|
echo "Downloading latest translations..."
|
||||||
|
|
||||||
if [ ! -d repo ]; then
|
if [ ! -d repo ]; then
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
# expects to be run from the ftl folder
|
# expects to be run from the ftl folder
|
||||||
#
|
#
|
||||||
|
|
||||||
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
test -d repo || exit 1
|
test -d repo || exit 1
|
||||||
|
|
||||||
rsync -av --delete *.ftl repo/desktop/templates/
|
rsync -av --delete *.ftl repo/desktop/templates/
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
#
|
#
|
||||||
# build mo files
|
# build mo files
|
||||||
#
|
#
|
||||||
set -eo pipefail
|
|
||||||
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
targetDir="../aqt_data/locale/gettext"
|
targetDir="../aqt_data/locale/gettext"
|
||||||
mkdir -p $targetDir
|
mkdir -p $targetDir
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -eo pipefail
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
out=../aqt_data/locale/qt
|
out=../aqt_data/locale/qt
|
||||||
mkdir -p "$out"
|
mkdir -p "$out"
|
||||||
|
|
||||||
qtTranslations="$(python -c "from PyQt5.QtCore import *; import sys; sys.stdout.write(QLibraryInfo.location(QLibraryInfo.TranslationsPath))")"
|
qtTranslations="$(python -c "from PyQt5.QtCore import *; import sys; sys.stdout.write(QLibraryInfo.location(QLibraryInfo.TranslationsPath))")"
|
||||||
unameOut="$(uname -s)"
|
|
||||||
|
|
||||||
case "${unameOut}" in
|
case "$(uname -s)" in
|
||||||
CYGWIN*)
|
CYGWIN*|MINGW*|MSYS*)
|
||||||
qtTranslations="$(cygpath -u "${qtTranslations}")"
|
qtTranslations="$(cygpath -u "${qtTranslations}")"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
echo "Downloading latest translations..."
|
echo "Downloading latest translations..."
|
||||||
|
|
||||||
if [ ! -d repo ]; then
|
if [ ! -d repo ]; then
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
#
|
#
|
||||||
# update template .pot file from source code strings
|
# update template .pot file from source code strings
|
||||||
#
|
#
|
||||||
set -eo pipefail
|
|
||||||
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
topDir=$(dirname $0)/../../../
|
topDir=$(dirname $0)/../../../
|
||||||
cd $topDir
|
cd $topDir
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
set -eo pipefail
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
scripts/update-po-template
|
scripts/update-po-template
|
||||||
(cd repo && git add desktop; git commit -m update; git push)
|
(cd repo && git add desktop; git commit -m update; git push)
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# should be on the path.
|
# should be on the path.
|
||||||
#
|
#
|
||||||
|
|
||||||
set -eo pipefail
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
if [ ! -d "designer" ]
|
if [ ! -d "designer" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -6,8 +6,22 @@
|
||||||
# able to resolve. A solution that doesn't require modifying the python install
|
# able to resolve. A solution that doesn't require modifying the python install
|
||||||
# would be welcome!
|
# would be welcome!
|
||||||
|
|
||||||
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
|
# https://stackoverflow.com/questions/3601515/how-to-check-if-a-variable-is-set-in-bash
|
||||||
|
if [[ -z "${OS+x}" ]]; then
|
||||||
|
OS=unknown;
|
||||||
|
fi
|
||||||
|
|
||||||
TOOLS="$(cd "`dirname "$0"`"; pwd)"
|
TOOLS="$(cd "`dirname "$0"`"; pwd)"
|
||||||
modDir=$(python -c 'import PyQt5, sys, os; print(os.path.dirname(sys.modules["PyQt5"].__file__))')
|
modDir=$(python -c 'import PyQt5, sys, os; sys.stdout.write(os.path.dirname(sys.modules["PyQt5"].__file__))')
|
||||||
cmd="rsync -a $TOOLS/stubs/PyQt5/* $modDir/"
|
|
||||||
|
case "$(uname -s)" in
|
||||||
|
CYGWIN*|MINGW*|MSYS*)
|
||||||
|
modDir="$(cygpath -u "${modDir}")"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
cmd="rsync -a \"${TOOLS}/stubs/PyQt5/\" \"${modDir}/\""
|
||||||
|
|
||||||
$cmd > /dev/null 2>&1 || sudo $cmd
|
$cmd > /dev/null 2>&1 || sudo $cmd
|
||||||
|
|
|
@ -1,11 +1,16 @@
|
||||||
SHELL := /bin/bash
|
SHELL := /bin/bash
|
||||||
FIND := $(if $(wildcard /bin/find),/bin/find,/usr/bin/find)
|
|
||||||
|
|
||||||
.SHELLFLAGS := -eu -o pipefail -c
|
ifndef SHELLFLAGS
|
||||||
.DELETE_ON_ERROR:
|
SHELLFLAGS :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
.SHELLFLAGS := -eu -o pipefail ${SHELLFLAGS} -c
|
||||||
MAKEFLAGS += --warn-undefined-variables
|
MAKEFLAGS += --warn-undefined-variables
|
||||||
MAKEFLAGS += --no-builtin-rules
|
MAKEFLAGS += --no-builtin-rules
|
||||||
|
|
||||||
|
FIND := $(if $(wildcard /bin/find),/bin/find,/usr/bin/find)
|
||||||
|
.DELETE_ON_ERROR:
|
||||||
|
|
||||||
$(shell mkdir -p .build)
|
$(shell mkdir -p .build)
|
||||||
|
|
||||||
.PHONY: all check fix clean develop
|
.PHONY: all check fix clean develop
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
echo "Downloading latest translations..."
|
echo "Downloading latest translations..."
|
||||||
|
|
||||||
if [ ! -d repo ]; then
|
if [ ! -d repo ]; then
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
# expects to be run from the ftl folder
|
# expects to be run from the ftl folder
|
||||||
#
|
#
|
||||||
|
|
||||||
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
test -d repo || exit 1
|
test -d repo || exit 1
|
||||||
|
|
||||||
rsync -av --delete *.ftl repo/core/templates/
|
rsync -av --delete *.ftl repo/core/templates/
|
||||||
|
|
|
@ -1,25 +1,36 @@
|
||||||
SHELL := /bin/bash
|
SHELL := /bin/bash
|
||||||
|
|
||||||
|
ifndef SHELLFLAGS
|
||||||
|
SHELLFLAGS :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
.SHELLFLAGS := -eu -o pipefail ${SHELLFLAGS} -c
|
||||||
|
MAKEFLAGS += --warn-undefined-variables
|
||||||
|
MAKEFLAGS += --no-builtin-rules
|
||||||
|
|
||||||
FIND := $(if $(wildcard /bin/find),/bin/find,/usr/bin/find)
|
FIND := $(if $(wildcard /bin/find),/bin/find,/usr/bin/find)
|
||||||
|
|
||||||
ifndef OS
|
ifndef OS
|
||||||
OS := unknown
|
OS := unknown
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(OS),Windows_NT)
|
ifeq (${OS},Windows_NT)
|
||||||
ifndef PYTHON_BIN
|
ifndef PYTHON_FILE
|
||||||
PYTHON_BIN := python
|
PYTHON_FILE := $(shell which python)
|
||||||
|
USE_CYGPATH_COMMAND := case "$$(uname -s)" in CYGWIN*|MINGW*|MSYS*) printf "yes";; esac;
|
||||||
|
USE_CYGPATH := $(shell ${USE_CYGPATH_COMMAND})
|
||||||
|
|
||||||
|
ifneq (,${USE_CYGPATH})
|
||||||
|
PYTHON_FILE := $(shell cygpath -w "${PYTHON_FILE}")
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
ifndef PYTHON_BIN
|
ifndef PYTHON_FILE
|
||||||
PYTHON_BIN := python3
|
PYTHON_FILE := $(shell which python3)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.SHELLFLAGS := -eu -o pipefail -c
|
|
||||||
.DELETE_ON_ERROR:
|
.DELETE_ON_ERROR:
|
||||||
MAKEFLAGS += --warn-undefined-variables
|
|
||||||
MAKEFLAGS += --no-builtin-rules
|
|
||||||
|
|
||||||
$(shell mkdir -p .build ../dist)
|
$(shell mkdir -p .build ../dist)
|
||||||
|
|
||||||
OUTDIR := ../dist
|
OUTDIR := ../dist
|
||||||
|
@ -50,10 +61,10 @@ DEPS := .build/tools .build/vernum ../meta/buildhash \
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
build: $(DEPS)
|
build: $(DEPS)
|
||||||
rm -rf $(OUTDIR)/ankirspy*
|
rm -rf "$(OUTDIR)"/ankirspy*
|
||||||
touch ../proto/backend.proto
|
touch ../proto/backend.proto
|
||||||
FTL_TEMPLATE_DIRS="$(QT_FTL_TEMPLATES)" FTL_LOCALE_DIRS="$(QT_FTL_LOCALES)" \
|
FTL_TEMPLATE_DIRS="$(QT_FTL_TEMPLATES)" FTL_LOCALE_DIRS="$(QT_FTL_LOCALES)" \
|
||||||
maturin build -i $(shell which ${PYTHON_BIN}) -o $(OUTDIR) $(BUILDFLAGS)
|
maturin build -i "${PYTHON_FILE}" -o "$(OUTDIR)" $(BUILDFLAGS)
|
||||||
|
|
||||||
check: .build/check
|
check: .build/check
|
||||||
|
|
||||||
|
|
2
run
2
run
|
@ -1,4 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eu -o pipefail ${SHELLFLAGS}
|
||||||
|
|
||||||
python --version
|
python --version
|
||||||
make -C $(dirname $0) run RUNFLAGS="$*"
|
make -C $(dirname $0) run RUNFLAGS="$*"
|
||||||
|
|
Loading…
Reference in a new issue