Reorganize project
This commit is contained in:
parent
b233903290
commit
ae57008f4c
7 changed files with 63 additions and 46 deletions
58
.github/workflows/default.yml
vendored
58
.github/workflows/default.yml
vendored
|
|
@ -23,7 +23,7 @@ jobs:
|
||||||
os: [ubuntu-20.04, ubuntu-22.04]
|
os: [ubuntu-20.04, ubuntu-22.04]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- uses: actions/setup-python@v4
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
|
|
@ -36,22 +36,26 @@ jobs:
|
||||||
- name: Setup Env Vars
|
- name: Setup Env Vars
|
||||||
run: |
|
run: |
|
||||||
echo "BUILD_DIR=build" >> $GITHUB_ENV
|
echo "BUILD_DIR=build" >> $GITHUB_ENV
|
||||||
export VER="$(cat info.py | grep -w version | awk -F'"' '$0=$2')"
|
FILE_LOC=$(find . -name info.py)
|
||||||
export PROJ_NAME="$(cat info.py | grep -w name | awk -F'"' '$0=$2')"
|
export VER="$(cat $FILE_LOC | grep -w version | awk -F'"' '$0=$2')"
|
||||||
export PROJ_MOD="$(cat info.py | grep -w module_name | awk -F'"' '$0=$2')"
|
export PROJ_NAME="$(cat $FILE_LOC | grep -w name | awk -F'"' '$0=$2')"
|
||||||
export MAIN_FILE="$(cat info.py | grep -w main_file | awk -F'"' '$0=$2')"
|
export PROJ_MOD="$(cat $FILE_LOC | grep -w module_name | awk -F'"' '$0=$2')"
|
||||||
export BUNDLE_ID="$(cat info.py | grep -w bundle_identifier | awk -F'"' '$0=$2')"
|
export MAIN_FILE="$(cat $FILE_LOC | grep -w main_file | awk -F'"' '$0=$2')"
|
||||||
export EMAIL="$(cat info.py | grep -w email | awk -F'"' '$0=$2')"
|
export MAIN_MOD="$(cat $FILE_LOC | grep -w main_module | awk -F'"' '$0=$2')"
|
||||||
export DESCRIPTION="$(cat info.py | grep -w description | awk -F'"' '$0=$2')"
|
export BUNDLE_ID="$(cat $FILE_LOC | grep -w bundle_identifier | awk -F'"' '$0=$2')"
|
||||||
|
export EMAIL="$(cat $FILE_LOC | grep -w email | awk -F'"' '$0=$2')"
|
||||||
|
export DESCRIPTION="$(cat $FILE_LOC | grep -w description | awk -F'"' '$0=$2')"
|
||||||
echo "VER=$VER" >> $GITHUB_ENV
|
echo "VER=$VER" >> $GITHUB_ENV
|
||||||
echo "DESCRIPTION=$DESCRIPTION" >> $GITHUB_ENV
|
echo "DESCRIPTION=$DESCRIPTION" >> $GITHUB_ENV
|
||||||
echo "PROJECT_NAME=$PROJ_NAME" >> $GITHUB_ENV
|
echo "PROJECT_NAME=$PROJ_NAME" >> $GITHUB_ENV
|
||||||
echo "PROJ_DIR=$PROJ_MOD" >> $GITHUB_ENV
|
echo "PROJ_DIR=$PROJ_MOD" >> $GITHUB_ENV
|
||||||
echo "PROJ_PATH=$PROJ_MOD" >> $GITHUB_ENV
|
echo "PROJ_PATH=$PROJ_MOD" >> $GITHUB_ENV
|
||||||
echo "PROJ_MOD=$PROJ_MOD" >> $GITHUB_ENV
|
echo "PROJ_MOD=$PROJ_MOD" >> $GITHUB_ENV
|
||||||
|
echo "MAIN_MOD=$MAIN_MOD" >> $GITHUB_ENV
|
||||||
echo "MAIN_FILE=$MAIN_FILE" >> $GITHUB_ENV
|
echo "MAIN_FILE=$MAIN_FILE" >> $GITHUB_ENV
|
||||||
echo "BUNDLE_ID=$BUNDLE_ID" >> $GITHUB_ENV
|
echo "BUNDLE_ID=$BUNDLE_ID" >> $GITHUB_ENV
|
||||||
echo "EMAIL=$EMAIL" >> $GITHUB_ENV
|
echo "EMAIL=$EMAIL" >> $GITHUB_ENV
|
||||||
|
cat > pyinstaller.py <(envsubst < pyinstallertemplate.py)
|
||||||
|
|
||||||
- name: Check Python install
|
- name: Check Python install
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -91,15 +95,14 @@ jobs:
|
||||||
--icon "${{ env.PROJ_DIR }}/resources/icon.png" \
|
--icon "${{ env.PROJ_DIR }}/resources/icon.png" \
|
||||||
--hidden-import configobj \
|
--hidden-import configobj \
|
||||||
--distpath "${{ env.BUILD_DIR }}/ProjectLinux" \
|
--distpath "${{ env.BUILD_DIR }}/ProjectLinux" \
|
||||||
--onefile -n "${{ env.PROJ_MOD }}-bin" "${{ env.PROJ_DIR }}/${{ env.MAIN_FILE }}"
|
--onefile -n "${{ env.PROJ_MOD }}-bin" pyinstaller.py
|
||||||
cp "${{ env.BUILD_DIR }}/ProjectLinux/${{ env.PROJ_MOD }}-bin" .
|
cp "${{ env.BUILD_DIR }}/ProjectLinux/${{ env.PROJ_MOD }}-bin" .
|
||||||
ls -al "${{ env.BUILD_DIR }}/ProjectLinux"
|
ls -al "${{ env.BUILD_DIR }}/ProjectLinux"
|
||||||
ci/deb-script.sh
|
ci/deb-script.sh
|
||||||
|
|
||||||
- uses: jiro4989/build-deb-action@v2
|
- uses: jiro4989/build-deb-action@v2
|
||||||
with:
|
with:
|
||||||
package: ${{ env.PROJ_PATH }}
|
package: ${{ env.PROJ_PATH }}_${{ env.VER }}
|
||||||
file_name: ${{ env.PROJ_PATH }}_${{ env.VER }}.deb
|
|
||||||
package_root: .debpkg
|
package_root: .debpkg
|
||||||
maintainer: ${{ env.EMAIL }}
|
maintainer: ${{ env.EMAIL }}
|
||||||
version: ${{ env.VER }} # refs/tags/v*.*.*
|
version: ${{ env.VER }} # refs/tags/v*.*.*
|
||||||
|
|
@ -110,14 +113,14 @@ jobs:
|
||||||
- name: Deploy bin
|
- name: Deploy bin
|
||||||
uses: actions/upload-artifact@v2.0.1
|
uses: actions/upload-artifact@v2.0.1
|
||||||
with:
|
with:
|
||||||
name: ${{ env.PROJ_PATH }}_${{ env.VER }}
|
name: ${{ env.PROJ_PATH }}_${{ env.VER }}-Ubuntu
|
||||||
path: |
|
path: |
|
||||||
${{ env.PROJ_MOD }}-bin
|
${{ env.PROJ_MOD }}-bin
|
||||||
|
|
||||||
- name: Deploy deb
|
- name: Deploy deb
|
||||||
uses: actions/upload-artifact@v2.0.1
|
uses: actions/upload-artifact@v2.0.1
|
||||||
with:
|
with:
|
||||||
name: ${{ env.PROJ_PATH }}_${{ env.VER }}.deb
|
name: ${{ env.PROJ_PATH }}_${{ env.VER }}-Ubuntu
|
||||||
path: |
|
path: |
|
||||||
${{ env.PROJ_PATH }}_*.deb
|
${{ env.PROJ_PATH }}_*.deb
|
||||||
# windows:
|
# windows:
|
||||||
|
|
@ -131,7 +134,7 @@ jobs:
|
||||||
os: [macos-11, macos-12]
|
os: [macos-11, macos-12]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Setup Homebrew
|
- name: Setup Homebrew
|
||||||
run: |
|
run: |
|
||||||
|
|
@ -145,19 +148,25 @@ jobs:
|
||||||
- name: Setup Env Vars
|
- name: Setup Env Vars
|
||||||
run: |
|
run: |
|
||||||
echo "BUILD_DIR=build" >> $GITHUB_ENV
|
echo "BUILD_DIR=build" >> $GITHUB_ENV
|
||||||
export VER="$(cat info.py | grep -w version | awk -F'"' '$0=$2')"
|
FILE_LOC=$(find . -name info.py)
|
||||||
export PROJ_NAME="$(cat info.py | grep -w name | awk -F'"' '$0=$2')"
|
export VER="$(cat $FILE_LOC | grep -w version | awk -F'"' '$0=$2')"
|
||||||
export PROJ_MOD="$(cat info.py | grep -w module_name | awk -F'"' '$0=$2')"
|
export PROJ_NAME="$(cat $FILE_LOC | grep -w name | awk -F'"' '$0=$2')"
|
||||||
export MAIN_FILE="$(cat info.py | grep -w main_file | awk -F'"' '$0=$2')"
|
export PROJ_MOD="$(cat $FILE_LOC | grep -w module_name | awk -F'"' '$0=$2')"
|
||||||
export BUNDLE_ID="$(cat info.py | grep -w bundle_identifier | awk -F'"' '$0=$2')"
|
export MAIN_FILE="$(cat $FILE_LOC | grep -w main_file | awk -F'"' '$0=$2')"
|
||||||
|
export MAIN_MOD="$(cat $FILE_LOC | grep -w main_module | awk -F'"' '$0=$2')"
|
||||||
|
export BUNDLE_ID="$(cat $FILE_LOC | grep -w bundle_identifier | awk -F'"' '$0=$2')"
|
||||||
export DIST_DIR="dist_actions"
|
export DIST_DIR="dist_actions"
|
||||||
echo "VER=$VER" >> $GITHUB_ENV
|
echo "VER=$VER" >> $GITHUB_ENV
|
||||||
echo "PROJECT_NAME=$PROJ_NAME" >> $GITHUB_ENV
|
echo "PROJECT_NAME=$PROJ_NAME" >> $GITHUB_ENV
|
||||||
echo "PROJ_DIR=$PROJ_MOD" >> $GITHUB_ENV
|
echo "PROJ_DIR=$PROJ_MOD" >> $GITHUB_ENV
|
||||||
|
echo "PROJ_MOD=$PROJ_MOD" >> $GITHUB_ENV
|
||||||
echo "MAIN_FILE=$MAIN_FILE" >> $GITHUB_ENV
|
echo "MAIN_FILE=$MAIN_FILE" >> $GITHUB_ENV
|
||||||
|
echo "MAIN_MOD=$MAIN_MOD" >> $GITHUB_ENV
|
||||||
echo "BUNDLE_ID=$BUNDLE_ID" >> $GITHUB_ENV
|
echo "BUNDLE_ID=$BUNDLE_ID" >> $GITHUB_ENV
|
||||||
echo "DIST_DIR=$DIST_DIR" >> $GITHUB_ENV
|
echo "DIST_DIR=$DIST_DIR" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
cat > pyinstaller.py <(envsubst < pyinstallertemplate.py)
|
||||||
|
|
||||||
- name: Check Python install
|
- name: Check Python install
|
||||||
run: |
|
run: |
|
||||||
pip3 install --upgrade pip
|
pip3 install --upgrade pip
|
||||||
|
|
@ -209,16 +218,17 @@ jobs:
|
||||||
--osx-bundle-identifier "${{ env.BUNDLE_ID }}" \
|
--osx-bundle-identifier "${{ env.BUNDLE_ID }}" \
|
||||||
--hidden-import pkg_resources \
|
--hidden-import pkg_resources \
|
||||||
--distpath "${{ env.BUILD_DIR }}/ProjectMac" \
|
--distpath "${{ env.BUILD_DIR }}/ProjectMac" \
|
||||||
--onefile -n "${{ env.PROJECT_NAME }}" "${{ env.PROJ_DIR }}/${{ env.MAIN_FILE }}"
|
-n "${{ env.PROJECT_NAME }}" pyinstaller.py
|
||||||
ls -al "${{ env.BUILD_DIR }}/ProjectMac"
|
ls -al "${{ env.BUILD_DIR }}/ProjectMac"
|
||||||
zip -r "${{ env.PROJECT_NAME }}-${{ env.VER }}.zip" "${{ env.BUILD_DIR }}/ProjectMac/${{ env.PROJECT_NAME }}.app"
|
cp -r "${{ env.BUILD_DIR }}/ProjectMac/${{ env.PROJECT_NAME }}.app" .
|
||||||
|
zip -r "${{ env.PROJECT_NAME }}-${{ env.VER }}.zip" "${{ env.PROJECT_NAME }}.app"
|
||||||
|
|
||||||
- name: Prepare for deployment
|
- name: Prepare for deployment
|
||||||
run: |
|
run: |
|
||||||
source venv/bin/activate
|
source venv/bin/activate
|
||||||
mkdir -p "${{ env.DIST_DIR }}/dmg"
|
mkdir -p "${{ env.DIST_DIR }}/dmg"
|
||||||
test -f "${{ env.PROJECT_NAME }}_${{ env.VER }}.dmg" && rm "${{ env.PROJECT_NAME }}_${{ env.VER }}.dmg"
|
test -f "${{ env.PROJECT_NAME }}_${{ env.VER }}.dmg" && rm "${{ env.PROJECT_NAME }}_${{ env.VER }}.dmg"
|
||||||
cp -r "${{ env.BUILD_DIR }}/ProjectMac/${{ env.PROJECT_NAME }}.app" "${{ env.DIST_DIR}}/dmg"
|
cp -r "${{ env.PROJECT_NAME }}.app" "${{ env.DIST_DIR}}/dmg"
|
||||||
create-dmg \
|
create-dmg \
|
||||||
--volname "${{ env.PROJECT_NAME }}-${{ env.VER }} Installer" \
|
--volname "${{ env.PROJECT_NAME }}-${{ env.VER }} Installer" \
|
||||||
--volicon "${{ env.PROJ_DIR }}/resources/icon.icns" \
|
--volicon "${{ env.PROJ_DIR }}/resources/icon.icns" \
|
||||||
|
|
@ -235,14 +245,14 @@ jobs:
|
||||||
- name: Deploy Zip
|
- name: Deploy Zip
|
||||||
uses: actions/upload-artifact@v2.0.1
|
uses: actions/upload-artifact@v2.0.1
|
||||||
with:
|
with:
|
||||||
name: ${{ env.PROJECT_NAME }}-${{ env.VER }}.zip
|
name: ${{ env.PROJECT_NAME }}-${{ env.VER }}-MacOS
|
||||||
path: |
|
path: |
|
||||||
${{ env.PROJECT_NAME }}-${{ env.VER }}.zip
|
${{ env.PROJECT_NAME }}-${{ env.VER }}.zip
|
||||||
|
|
||||||
- name: Deploy DMG
|
- name: Deploy DMG
|
||||||
uses: actions/upload-artifact@v2.0.1
|
uses: actions/upload-artifact@v2.0.1
|
||||||
with:
|
with:
|
||||||
name: ${{ env.PROJECT_NAME }}_${{ env.VER }}.dmg
|
name: ${{ env.PROJECT_NAME }}_${{ env.VER }}-MacOS
|
||||||
path: |
|
path: |
|
||||||
${{ env.PROJECT_NAME }}_${{ env.VER }}.dmg
|
${{ env.PROJECT_NAME }}_${{ env.VER }}.dmg
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,24 +9,25 @@ mkdir -p "$BUILD_DIR"
|
||||||
# store repo root as variable
|
# store repo root as variable
|
||||||
REPO_ROOT=$(readlink -f $(dirname $(dirname "$0")))
|
REPO_ROOT=$(readlink -f $(dirname $(dirname "$0")))
|
||||||
OLD_CWD=$(readlink -f .)
|
OLD_CWD=$(readlink -f .)
|
||||||
|
FILE_LOC=$(find $REPO_ROOT -name info.py)
|
||||||
|
|
||||||
export VER="$(cat $REPO_ROOT/info.py | grep -w version | awk -F'"' '$0=$2')"
|
export VER="$(cat $FILE_LOC | grep -w version | awk -F'"' '$0=$2')"
|
||||||
export PROJ_NAME="$(cat $REPO_ROOT/info.py | grep -w name | awk -F'"' '$0=$2')"
|
export PROJ_NAME="$(cat $FILE_LOC | grep -w name | awk -F'"' '$0=$2')"
|
||||||
export PROJ_MOD="$(cat $REPO_ROOT/info.py | grep -w module_name | awk -F'"' '$0=$2')"
|
export PROJ_MOD="$(cat $FILE_LOC | grep -w module_name | awk -F'"' '$0=$2')"
|
||||||
export MAIN_FILE="$(cat $REPO_ROOT/info.py | grep -w main_file | awk -F'"' '$0=$2')"
|
export MAIN_FILE="$(cat $FILE_LOC | grep -w main_file | awk -F'"' '$0=$2')"
|
||||||
export BUNDLE_ID="$(cat $REPO_ROOT/info.py | grep -w bundle_identifier | awk -F'"' '$0=$2')"
|
export BUNDLE_ID="$(cat $FILE_LOC | grep -w bundle_identifier | awk -F'"' '$0=$2')"
|
||||||
export PROJECT_LICENSE="$(cat $REPO_ROOT/info.py | grep -w project_license | awk -F'"' '$0=$2')"
|
export PROJECT_LICENSE="$(cat $FILE_LOC | grep -w project_license | awk -F'"' '$0=$2')"
|
||||||
export SCREENSHOT="$(cat $REPO_ROOT/info.py | grep -w screenshot | awk -F'"' '$0=$2')"
|
export SCREENSHOT="$(cat $FILE_LOC | grep -w screenshot | awk -F'"' '$0=$2')"
|
||||||
export METADATA_LICENSE="$(cat $REPO_ROOT/info.py | grep -w metadata_license | awk -F'"' '$0=$2')"
|
export METADATA_LICENSE="$(cat $FILE_LOC | grep -w metadata_license | awk -F'"' '$0=$2')"
|
||||||
export DESCRIPTION="$(cat $REPO_ROOT/info.py | grep -w description | awk -F'"' '$0=$2')"
|
export DESCRIPTION="$(cat $FILE_LOC | grep -w description | awk -F'"' '$0=$2')"
|
||||||
export HOMEPAGE="$(cat $REPO_ROOT/info.py | grep -w homepage | awk -F'"' '$0=$2')"
|
export HOMEPAGE="$(cat $FILE_LOC | grep -w homepage | awk -F'"' '$0=$2')"
|
||||||
export SUMMARY="$(cat $REPO_ROOT/info.py | grep -w summary | awk -F'"' '$0=$2')"
|
export SUMMARY="$(cat $FILE_LOC | grep -w summary | awk -F'"' '$0=$2')"
|
||||||
export CATEGORIES="$(cat $REPO_ROOT/info.py | grep -w categories | awk -F'"' '$0=$2')"
|
export CATEGORIES="$(cat $FILE_LOC | grep -w categories | awk -F'"' '$0=$2')"
|
||||||
export MIMETYPE="$(cat $REPO_ROOT/info.py | grep -w mimetype | awk -F'"' '$0=$2')"
|
export MIMETYPE="$(cat $FILE_LOC | grep -w mimetype | awk -F'"' '$0=$2')"
|
||||||
export KEYWORDS="$(cat $REPO_ROOT/info.py | grep -w keywords | awk -F'"' '$0=$2')"
|
export KEYWORDS="$(cat $FILE_LOC | grep -w keywords | awk -F'"' '$0=$2')"
|
||||||
export APP_TYPE="$(cat $REPO_ROOT/info.py | grep -w application_type | awk -F'"' '$0=$2')"
|
export APP_TYPE="$(cat $FILE_LOC | grep -w application_type | awk -F'"' '$0=$2')"
|
||||||
export MAIN_MOD="$(cat $REPO_ROOT/info.py | grep -w main_module | awk -F'"' '$0=$2')"
|
export MAIN_MOD="$(cat $FILE_LOC | grep -w main_module | awk -F'"' '$0=$2')"
|
||||||
export EMAIL="$(cat $REPO_ROOT/info.py | grep -w email | awk -F'"' '$0=$2')"
|
export EMAIL="$(cat $FILE_LOC | grep -w email | awk -F'"' '$0=$2')"
|
||||||
|
|
||||||
pushd "$BUILD_DIR"
|
pushd "$BUILD_DIR"
|
||||||
|
|
||||||
|
|
|
||||||
3
info.cfg
3
info.cfg
|
|
@ -1,3 +0,0 @@
|
||||||
version="0.1.0"
|
|
||||||
name="Project"
|
|
||||||
module_name="project"
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
from .. import info
|
from . import info
|
||||||
|
|
||||||
version = info.version
|
version = info.version
|
||||||
name = info.name
|
name = info.name
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,10 @@ class MainWindow(QMainWindow):
|
||||||
|
|
||||||
self.show()
|
self.show()
|
||||||
|
|
||||||
if __name__ == '__main__':
|
def main():
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
w = MainWindow()
|
w = MainWindow()
|
||||||
app.exec_()
|
app.exec_()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
|
||||||
6
pyinstallertemplate.py
Normal file
6
pyinstallertemplate.py
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
"""
|
||||||
|
This file is needed to get pyinstaller to understand modules.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from $PROJ_MOD.$MAIN_MOD import main
|
||||||
|
main()
|
||||||
Loading…
Add table
Add a link
Reference in a new issue