Index: .coafile =================================================================== --- .coafile +++ .coafile @@ -1,10 +1,11 @@ [Source] bears = CPPCheckBear, LicenseYearBear +language = c++ files = source/**.(cpp|h) ignore = source/third_party/** [JS] bears = ESLintBear, JSHintBear -eslint_config = build/jenkins/lint-config/eslintrc.json -jshint_config = build/jenkins/lint-config/jshintrc.json +eslint_config = build/coala/lint-config/eslintrc.json +jshint_config = build/coala/lint-config/jshintrc.json files = binaries/data/**.js Index: build/jenkins/dockerfiles/coala.Dockerfile =================================================================== --- build/jenkins/dockerfiles/coala.Dockerfile +++ build/jenkins/dockerfiles/coala.Dockerfile @@ -1,10 +1,22 @@ -FROM python:3.7-alpine +FROM python:3.7 -RUN adduser -u 1006 -D builder +RUN useradd --uid 1006 builder -RUN apk add subversion cppcheck npm +RUN apt-get -yy update && apt-get -yy install \ + cppcheck \ + git \ + npm \ + subversion -RUN pip3 install coala-bears svn +RUN npm install -g npm@latest RUN npm install -g eslint@5.16.0 jshint eslint-plugin-brace-rules +RUN pip3 install svn + +RUN git clone https://github.com/coala/coala.git +RUN cd coala && pip3 install . + +RUN git clone https://github.com/na-Itms/coala-bears.git +RUN cd coala-bears && pip3 install . + USER builder Index: build/jenkins/lint-config/eslintrc.json =================================================================== --- build/jenkins/lint-config/eslintrc.json +++ build/jenkins/lint-config/eslintrc.json @@ -1,97 +0,0 @@ -{ - "parserOptions": { - "ecmaVersion": 6 - }, - "plugins": [ - "brace-rules" - ], - "rules": { - "no-caller": 1, - "no-cond-assign": 1, - "no-constant-condition": ["error", { "checkLoops": false }], - "no-dupe-args": 1, - "no-dupe-keys": 1, - "no-duplicate-case": 1, - "no-empty": 1, - "no-extra-boolean-cast": 0, - "no-extra-parens": 0, - "no-extra-semi": 1, - "no-floating-decimal": 1, - "no-func-assign": 1, - "no-negated-in-lhs": 1, - "no-obj-calls": 1, - "no-unreachable": 1, - "no-use-before-define": ["error", "nofunc"], - "use-isnan": 1, - "valid-jsdoc": 0, - "valid-typeof": 1, - - "block-scoped-var": 0, - "consistent-return": 1, - "default-case": 1, - "dot-notation": 1, - "no-else-return": 1, - "no-invalid-this": 1, - "no-loop-func": 0, - "no-multi-spaces": ["warn", { "ignoreEOLComments": true }], - "no-new": 1, - "no-redeclare": 0, - "no-return-assign": 1, - "no-self-assign": 1, - "no-self-compare": 1, - "no-unmodified-loop-condition": 1, - "no-unused-expressions": 1, - "no-unused-labels": 1, - "no-useless-concat": 0, - "yoda": 1, - - "no-delete-var": 1, - "no-label-var": 1, - "no-shadow-restricted-names": 1, - "no-shadow": 1, - "no-undef": 0, - "no-undef-init": 1, - "no-unused-vars": 0, - - "comma-spacing": 1, - "indent": ["warn", "tab", { "outerIIFEBody": 0 }], - "key-spacing": 1, - "new-cap": 0, - "new-parens": 1, - "no-mixed-spaces-and-tabs": ["warn", "smart-tabs"], - "no-multi-assign": 1, - "no-trailing-spaces": 1, - "no-unneeded-ternary": 1, - "no-irregular-whitespace": 1, - "object-curly-spacing": ["warn", "always"], - "operator-assignment": 1, - "operator-linebreak": ["warn", "after"], - "quote-props": 1, - "semi": 1, - "semi-spacing": 1, - "space-before-function-paren": ["warn", "never"], - "space-in-parens": 1, - "space-unary-ops": 1, - "spaced-comment": ["warn", "always"], - - "no-class-assign": 1, - "no-const-assign": 1, - "no-dupe-class-members" : 1, - "prefer-const": 0, - - "brace-rules/brace-on-same-line": ["warn", { - "FunctionDeclaration": "never", - "FunctionExpression": "ignore", - "ArrowFunctionExpression": "always", - "IfStatement": "never", - "TryStatement": "ignore", - "CatchClause": "ignore", - "DoWhileStatement": "never", - "WhileStatement": "never", - "ForStatement": "never", - "ForInStatement": "never", - "ForOfStatement": "never", - "SwitchStatement": "never" - }, { "allowSingleLine": true }] - } -} Index: build/jenkins/lint-config/jshintrc.json =================================================================== --- build/jenkins/lint-config/jshintrc.json +++ build/jenkins/lint-config/jshintrc.json @@ -1,11 +0,0 @@ -{ - "esversion": 6, - "eqeqeq": false, - "freeze": true, - "latedef": "nofunc", - "loopfunc": true, - "noarg": true, - "nonbsp": true, - "undef": false, - "unused": false -} Index: build/jenkins/lint-patch.sh =================================================================== --- build/jenkins/lint-patch.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -# Lint errors should not count as build failures -set +e -set -v - -# Move to the root of the repository (this script is in build/jenkins/) -cd "$(dirname $0)"/../../ - -arc patch --diff "$DIFF_ID" --force - -svn st | grep '^[AM]' | cut -c 9- | xargs coala --ci --flush-cache --limit-files > .phabricator-comment