diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a95406b..a821ad2 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -24,7 +24,7 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Build artifacts
- run: make
+ run: python3 build.py
- name: Create release
uses: softprops/action-gh-release@v1
with:
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 19cc8bc..0000000
--- a/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-ANDROIDSTUDIO_KEYWORD='androidstudio'
-ANDROIDSTUDIO_NAME='Android\ Studio'
-APPCODE_KEYWORD='appcode'
-APPCODE_NAME='AppCode'
-CLION_KEYWORD='clion'
-CLION_NAME='CLion'
-DATAGRIP_KEYWORD='datagrip'
-DATAGRIP_NAME='DataGrip'
-GOLAND_KEYWORD='goland'
-GOLAND_NAME='GoLand'
-INTELLIJ_KEYWORD='idea'
-INTELLIJ_NAME='IntelliJ\ IDEA'
-PYCHARM_KEYWORD='pycharm'
-PYCHARM_NAME='PyCharm'
-WEBSTORM_KEYWORD='webstorm'
-WEBSTORM_NAME='WebStorm'
-APPS=ANDROIDSTUDIO APPCODE CLION DATAGRIP GOLAND INTELLIJ PYCHARM WEBSTORM
-
-.PHONY: clean build
-
-all: clean build
-
-clean:
- rm -fr out *.alfredworkflow
-
-build: $(APPS)
-
-$(APPS):%:
- mkdir -p out/$($@_KEYWORD)
- cp icons/$($@_KEYWORD).png ./out/$($@_KEYWORD)/icon.png
- cp icons/$($@_KEYWORD).png ./out/$($@_KEYWORD)/36E4312B-0CAB-4AE7-A8B6-E30EAF07B766.png
- sed -e 's/%APPNAME%/$($@_NAME)/g;s/%KEYWORD%/$($@_KEYWORD)/g' alfred/info.plist > out/$($@_KEYWORD)/info.plist
- zip -j -r $($@_KEYWORD).alfredworkflow out/$($@_KEYWORD)/* recent_projects.py products.json
diff --git a/README.md b/README.md
index 4f33dc7..99785fa 100644
--- a/README.md
+++ b/README.md
@@ -68,7 +68,6 @@ coverage report -m # display coverage figures
## Built With
* [Python 3.9](https://docs.python.org/3.9/)
-* [GNU Make](https://www.gnu.org/software/make/manual/make.html) - Build scripting
* [coverage.py](https://coverage.readthedocs.io/) - Code coverage measurement
## Contributing
diff --git a/alfred/info.plist b/alfred/info.plist
index 103ce5f..90246aa 100644
--- a/alfred/info.plist
+++ b/alfred/info.plist
@@ -89,7 +89,7 @@
escaping
102
script
- open -na "%APPNAME%.app" --args $@
+ open -nb "%BUNDLE%" --args $@
scriptargtype
1
scriptfile
diff --git a/build.py b/build.py
new file mode 100644
index 0000000..d0dc9a7
--- /dev/null
+++ b/build.py
@@ -0,0 +1,44 @@
+import os
+
+APPS = [
+ ['Android Studio', 'androidstudio', 'com.google.android.studio'],
+ ['AppCode', 'appcode', 'com.jetbrains.appcode'],
+ ['CLion', 'clion', 'com.jetbrains.clion'],
+ ['DataGrip', 'datagrip', 'com.jetbrains.datagrip'],
+ ['GoLand', 'goland', 'com.jetbrains.goland'],
+ ['IntelliJ IDEA', 'idea', 'com.jetbrains.intellij'],
+ ['PyCharm', 'pycharm', 'com.jetbrains.pycharm'],
+ ['WebStorm', 'webstorm', 'com.jetbrains.webstorm'],
+]
+
+
+def prepare_workflow(app):
+ app_name, keyword, bundle = app
+ print(f"Building {app_name}")
+ os.system(f'mkdir -p out/{keyword}')
+ os.system(f'cp icons/{keyword}.png ./out/{keyword}/icon.png')
+ os.system(f'cp icons/{keyword}.png ./out/{keyword}/36E4312B-0CAB-4AE7-A8B6-E30EAF07B766.png')
+ os.system('sed '
+ f'-e "s/%APPNAME%/{app_name}/g" '
+ f'-e "s/%KEYWORD%/{keyword}/g" '
+ f'-e "s/%BUNDLE%/{bundle}/g" '
+ f' alfred/info.plist > out/{keyword}/info.plist')
+ os.system(f'zip -j -r {keyword}.alfredworkflow out/{keyword}/* recent_projects.py products.json')
+
+
+def build():
+ for app in APPS:
+ prepare_workflow(app)
+
+
+def clean():
+ os.system("rm *.alfredworkflow")
+
+
+def main():
+ clean()
+ build()
+
+
+if __name__ == '__main__':
+ main()