forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3,620 changed files
with
154,042 additions
and
40,243 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,7 @@ | ||
FROM debian:9 | ||
|
||
RUN apt-get update && apt-get install --no-install-recommends -y \ | ||
avr-libc \ | ||
avrdude \ | ||
binutils-arm-none-eabi \ | ||
binutils-avr \ | ||
build-essential \ | ||
dfu-programmer \ | ||
dfu-util \ | ||
gcc \ | ||
gcc-arm-none-eabi \ | ||
gcc-avr \ | ||
git \ | ||
libnewlib-arm-none-eabi \ | ||
software-properties-common \ | ||
unzip \ | ||
wget \ | ||
zip \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
ENV KEYBOARD=ergodox_ez | ||
ENV KEYMAP=default | ||
FROM qmkfm/base_container | ||
|
||
VOLUME /qmk_firmware | ||
WORKDIR /qmk_firmware | ||
COPY . . | ||
|
||
CMD make clean ; make git-submodule ; make $KEYBOARD:$KEYMAP | ||
CMD make all:default |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
#!/usr/bin/env python3 | ||
"""CLI wrapper for running QMK commands. | ||
""" | ||
import os | ||
import subprocess | ||
import sys | ||
from glob import glob | ||
from time import strftime | ||
from importlib import import_module | ||
from importlib.util import find_spec | ||
|
||
# Add the QMK python libs to our path | ||
script_dir = os.path.dirname(os.path.realpath(__file__)) | ||
qmk_dir = os.path.abspath(os.path.join(script_dir, '..')) | ||
python_lib_dir = os.path.abspath(os.path.join(qmk_dir, 'lib', 'python')) | ||
sys.path.append(python_lib_dir) | ||
|
||
# Change to the root of our checkout | ||
os.environ['ORIG_CWD'] = os.getcwd() | ||
os.chdir(qmk_dir) | ||
|
||
# Make sure our modules have been setup | ||
with open('requirements.txt', 'r') as fd: | ||
for line in fd.readlines(): | ||
line = line.strip().replace('<', '=').replace('>', '=') | ||
|
||
if line[0] == '#': | ||
continue | ||
|
||
if '#' in line: | ||
line = line.split('#')[0] | ||
|
||
module = line.split('=')[0] if '=' in line else line | ||
if not find_spec(module): | ||
print('Your QMK build environment is not fully setup!\n') | ||
print('Please run `./util/qmk_install.sh` to setup QMK.') | ||
exit(255) | ||
|
||
# Figure out our version | ||
command = ['git', 'describe', '--abbrev=6', '--dirty', '--always', '--tags'] | ||
result = subprocess.run(command, text=True, capture_output=True) | ||
|
||
if result.returncode == 0: | ||
os.environ['QMK_VERSION'] = 'QMK ' + result.stdout.strip() | ||
else: | ||
os.environ['QMK_VERSION'] = 'QMK ' + strftime('%Y-%m-%d-%H:%M:%S') | ||
|
||
# Setup the CLI | ||
import milc | ||
milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}ψ{style_reset_all}' | ||
|
||
# If we were invoked as `qmk <cmd>` massage sys.argv into `qmk-<cmd>`. | ||
# This means we can't accept arguments to the qmk script itself. | ||
script_name = os.path.basename(sys.argv[0]) | ||
if script_name == 'qmk': | ||
if len(sys.argv) == 1: | ||
milc.cli.log.error('No subcommand specified!\n') | ||
|
||
if len(sys.argv) == 1 or sys.argv[1] in ['-h', '--help']: | ||
milc.cli.echo('usage: qmk <subcommand> [...]') | ||
milc.cli.echo('\nsubcommands:') | ||
subcommands = glob(os.path.join(qmk_dir, 'bin', 'qmk-*')) | ||
for subcommand in sorted(subcommands): | ||
subcommand = os.path.basename(subcommand).split('-', 1)[1] | ||
milc.cli.echo('\t%s', subcommand) | ||
milc.cli.echo('\nqmk <subcommand> --help for more information') | ||
exit(1) | ||
|
||
if sys.argv[1] in ['-V', '--version']: | ||
milc.cli.echo(os.environ['QMK_VERSION']) | ||
exit(0) | ||
|
||
sys.argv[0] = script_name = '-'.join((script_name, sys.argv[1])) | ||
del sys.argv[1] | ||
|
||
# Look for which module to import | ||
if script_name == 'qmk': | ||
milc.cli.print_help() | ||
exit(0) | ||
elif not script_name.startswith('qmk-'): | ||
milc.cli.log.error('Invalid symlink, must start with "qmk-": %s', script_name) | ||
else: | ||
subcommand = script_name.replace('-', '.').replace('_', '.').split('.') | ||
subcommand.insert(1, 'cli') | ||
subcommand = '.'.join(subcommand) | ||
|
||
try: | ||
import_module(subcommand) | ||
except ModuleNotFoundError as e: | ||
if e.__class__.__name__ != subcommand: | ||
raise | ||
|
||
milc.cli.log.error('Invalid subcommand! Could not import %s.', subcommand) | ||
exit(1) | ||
|
||
if __name__ == '__main__': | ||
milc.cli() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
qmk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
qmk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
qmk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
qmk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Look for a json keymap file | ||
ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_5)/keymap.json)","") | ||
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c | ||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_5)/keymap.json | ||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_5) | ||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_4)/keymap.json)","") | ||
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c | ||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_4)/keymap.json | ||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_4) | ||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_3)/keymap.json)","") | ||
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c | ||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_3)/keymap.json | ||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_3) | ||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_2)/keymap.json)","") | ||
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c | ||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_2)/keymap.json | ||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_2) | ||
else ifneq ("$(wildcard $(MAIN_KEYMAP_PATH_1)/keymap.json)","") | ||
KEYMAP_C := $(KEYBOARD_OUTPUT)/src/keymap.c | ||
KEYMAP_JSON := $(MAIN_KEYMAP_PATH_1)/keymap.json | ||
KEYMAP_PATH := $(MAIN_KEYMAP_PATH_1) | ||
endif | ||
|
||
# Generate the keymap.c | ||
ifneq ("$(KEYMAP_JSON)","") | ||
_ = $(shell test -e $(KEYMAP_C) || bin/qmk-json-keymap $(KEYMAP_JSON) -o $(KEYMAP_C)) | ||
endif |
Oops, something went wrong.