diff --git a/.travis/build.sh b/.travis/build.sh index e9934fb717..f7f05c0d7f 100755 --- a/.travis/build.sh +++ b/.travis/build.sh @@ -10,9 +10,18 @@ unset ESPTOOL2 export SMING_HOME=$TRAVIS_BUILD_DIR/Sming +cd $SMING_HOME + # Check coding style if [ "$TRAVIS_BUILD_STAGE_NAME" == "Test" ]; then - .travis/tools/clang/format-pr.sh; + make cs + DIFFS=$(git diff) + if [ "$DIFFS" != "" ]; then + echo "!!! Coding Style issues Found!!!" + echo " Run: 'make cs' to fix them. " + echo "$DIFFS" + exit 1 + fi fi # Setup ARCH SDK paths @@ -28,8 +37,6 @@ fi # Full compile checks please export STRICT=1 -cd $SMING_HOME - # Move samples and tests into directory outside of the Sming repo. export SMING_PROJECTS_DIR=$HOME/projects mkdir $SMING_PROJECTS_DIR diff --git a/.travis/tools/clang/format-diff.py b/.travis/tools/clang/format-diff.py deleted file mode 100644 index ffa30e70dd..0000000000 --- a/.travis/tools/clang/format-diff.py +++ /dev/null @@ -1,121 +0,0 @@ -#!/usr/bin/env python -# -#===- clang-format-diff.py - ClangFormat Diff Reformatter ----*- python -*--===# -# -# The LLVM Compiler Infrastructure -# -# This file is distributed under the University of Illinois Open Source -# License. See LICENSE.TXT for details. -# -#===------------------------------------------------------------------------===# - -r""" -ClangFormat Diff Reformatter -============================ - -This script reads input from a unified diff and reformats all the changed -lines. This is useful to reformat all the lines touched by a specific patch. -Example usage for git/svn users: - - git diff -U0 --no-color HEAD^ | clang-format-diff.py -p1 -i - svn diff --diff-cmd=diff -x-U0 | clang-format-diff.py -i - -""" - -import argparse -import difflib -import re -import string -import subprocess -import StringIO -import sys - - -def main(): - parser = argparse.ArgumentParser(description= - 'Reformat changed lines in diff. Without -i ' - 'option just output the diff that would be ' - 'introduced.') - parser.add_argument('-i', action='store_true', default=False, - help='apply edits to files instead of displaying a diff') - parser.add_argument('-p', metavar='NUM', default=0, - help='strip the smallest prefix containing P slashes') - parser.add_argument('-regex', metavar='PATTERN', default=None, - help='custom pattern selecting file paths to reformat ' - '(case sensitive, overrides -iregex)') - parser.add_argument('-iregex', metavar='PATTERN', default= - r'.*\.(cpp|cc|c\+\+|cxx|c|cl|h|hpp|m|mm|inc|js|ts|proto' - r'|protodevel|java)', - help='custom pattern selecting file paths to reformat ' - '(case insensitive, overridden by -regex)') - parser.add_argument('-sort-includes', action='store_true', default=False, - help='let clang-format sort include blocks') - parser.add_argument('-v', '--verbose', action='store_true', - help='be more verbose, ineffective without -i') - parser.add_argument('-style', - help='formatting style to apply (LLVM, Google, Chromium, ' - 'Mozilla, WebKit)') - parser.add_argument('-binary', default='clang-format', - help='location of binary to use for clang-format') - args = parser.parse_args() - - # Extract changed lines for each file. - filename = None - lines_by_file = {} - for line in sys.stdin: - match = re.search('^\+\+\+\ (.*?/){%s}(\S*)' % args.p, line) - if match: - filename = match.group(2) - if filename == None: - continue - - if args.regex is not None: - if not re.match('^%s$' % args.regex, filename): - continue - else: - if not re.match('^%s$' % args.iregex, filename, re.IGNORECASE): - continue - - match = re.search('^@@.*\+(\d+)(,(\d+))?', line) - if match: - start_line = int(match.group(1)) - line_count = 1 - if match.group(3): - line_count = int(match.group(3)) - if line_count == 0: - continue - end_line = start_line + line_count - 1; - lines_by_file.setdefault(filename, []).extend( - ['-lines', str(start_line) + ':' + str(end_line)]) - - # Reformat files containing changes in place. - for filename, lines in lines_by_file.iteritems(): - if args.i and args.verbose: - print 'Formatting', filename - command = [args.binary, filename] - if args.i: - command.append('-i') - if args.sort_includes: - command.append('-sort-includes') - command.extend(lines) - if args.style: - command.extend(['-style', args.style]) - p = subprocess.Popen(command, stdout=subprocess.PIPE, - stderr=None, stdin=subprocess.PIPE) - stdout, stderr = p.communicate() - if p.returncode != 0: - sys.exit(p.returncode); - - if not args.i: - with open(filename) as f: - code = f.readlines() - formatted_code = StringIO.StringIO(stdout).readlines() - diff = difflib.unified_diff(code, formatted_code, - filename, filename, - '(before formatting)', '(after formatting)') - diff_string = string.join(diff, '') - if len(diff_string) > 0: - sys.stdout.write(diff_string) - -if __name__ == '__main__': - main() diff --git a/.travis/tools/clang/format-pr.sh b/.travis/tools/clang/format-pr.sh deleted file mode 100755 index 4f4c644935..0000000000 --- a/.travis/tools/clang/format-pr.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# Script taken from here: https://github.com/citra-emu/citra -# and is distributed under the same license as the original script - -# Default clang-format points to default 3.5 version one -CLANG_FORMAT=/usr/bin/clang-format -$CLANG_FORMAT --version - -cd $SMING_HOME/.. - -# Get list of modified files -files_to_lint="$(git diff --name-only --diff-filter=ACMRTUXB $TRAVIS_COMMIT_RANGE | grep '^[^.]*[.]\(c\|cpp\|h\)$' | \ - grep -e Sming/Core -e Sming/Platform -e Sming/Arch/.+/Core -e Sming/Arch/.+/Platform -e samples -e tests || true)" - -for f in $files_to_lint; do - - d=$(diff -u "$f" <($CLANG_FORMAT "$f") || true) - if ! [ -z "$d" ]; then - echo "!!! $f not compliant to coding style, here is the fix:" - echo "$d" - fail=1 - fi -done - -if [ "$fail" = 1 ]; then - exit 1 -fi \ No newline at end of file diff --git a/Sming/Arch/Host/Core/HardwarePWM.cpp b/Sming/Arch/Host/Core/HardwarePWM.cpp index 9fdafe5123..6b5eccf70d 100644 --- a/Sming/Arch/Host/Core/HardwarePWM.cpp +++ b/Sming/Arch/Host/Core/HardwarePWM.cpp @@ -25,31 +25,38 @@ #include "HardwarePWM.h" -HardwarePWM::HardwarePWM(uint8* pins, uint8 no_of_pins) : - channel_count(no_of_pins) { +HardwarePWM::HardwarePWM(uint8* pins, uint8 no_of_pins) : channel_count(no_of_pins) +{ } -HardwarePWM::~HardwarePWM() { +HardwarePWM::~HardwarePWM() +{ } -uint8 HardwarePWM::getChannel(uint8 pin) { +uint8 HardwarePWM::getChannel(uint8 pin) +{ return PWM_BAD_CHANNEL; } -uint32 HardwarePWM::getDutyChan(uint8 chan) { +uint32 HardwarePWM::getDutyChan(uint8 chan) +{ return 0; } -bool HardwarePWM::setDutyChan(uint8 chan, uint32 duty, bool update) { +bool HardwarePWM::setDutyChan(uint8 chan, uint32 duty, bool update) +{ return false; } -uint32 HardwarePWM::getPeriod() { +uint32 HardwarePWM::getPeriod() +{ return 0; } -void HardwarePWM::setPeriod(uint32 period) { +void HardwarePWM::setPeriod(uint32 period) +{ } -void HardwarePWM::update() { +void HardwarePWM::update() +{ }