diff --git a/.circleci/config.yml b/.circleci/config.yml index a20eb37..592890a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,7 +4,7 @@ defaults: &defaults environment: JVM_OPTS: -Xmx3200m TERM: dumb - CI: true + CI_NAME: "CircleCI" defaults_gradle: &defaults_gradle steps: @@ -18,7 +18,8 @@ defaults_gradle: &defaults_gradle name: Gradle Dependencies command: ./gradlew dependencies - save_cache: - paths: ~/.m2 + paths: + - ~/.m2 key: gradle-dependencies-{{ checksum "build.gradle" }} - run: name: Run All Checks @@ -30,26 +31,25 @@ defaults_gradle: &defaults_gradle path: build/reports/ jobs: - build_gradle_jdk12: + build_gradle_jdk17: <<: *defaults docker: - - image: openjdk:12-jdk + - image: cimg/openjdk:17.0 <<: *defaults_gradle - build_gradle_jdk8: + build_gradle_jdk11: <<: *defaults docker: - - image: circleci/openjdk:8-jdk + - image: cimg/openjdk:11.0 <<: *defaults_gradle workflows: version: 2 gradle: - jobs: - - build_gradle_jdk8 - - build_gradle_jdk12 - + jobs: + - build_gradle_jdk11 + - build_gradle_jdk17 diff --git a/.editorconfig b/.editorconfig index a6971e1..1f808de 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,2 +1,2 @@ [*] -insert_final_newline=true +insert_final_newline = true diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml new file mode 100644 index 0000000..c814746 --- /dev/null +++ b/.github/workflows/gradle.yml @@ -0,0 +1,73 @@ +name: gradle-ci + +on: [ push, pull_request, workflow_dispatch ] + +jobs: + build: + runs-on: ubuntu-latest + + env: + GRADLE_OPTS: "-Dorg.gradle.jvmargs=-XX:MaxMetaspaceSize=512m" + SONAR_JDK: "11" + + strategy: + matrix: + java-version: [ 11, 17 ] + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Set up JDK ${{ matrix.java-version }} + uses: actions/setup-java@v1 + with: + java-version: ${{ matrix.java-version }} + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + - name: Cache SonarCloud packages + if: matrix.java-version == env.SONAR_JDK + uses: actions/cache@v1 + with: + path: ~/.sonar/cache + key: ${{ runner.os }}-sonar + restore-keys: ${{ runner.os }}-sonar + + - name: Cache Gradle packages + uses: actions/cache@v2 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ matrix.java-version }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle-${{ matrix.java-version }}- + + - name: Test with Gradle + env: + CI_NAME: "GitHub CI" + ALPHAVANTAGE_API_KEY: ${{ secrets.ALPHAVANTAGE_API_KEY }} + GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} + GOOGLE_CSE_CX: ${{ secrets.GOOGLE_CSE_CX }} + OWM_API_KEY: ${{ secrets.OWM_API_KEY }} + PINBOARD_API_TOKEN: ${{ secrets.PINBOARD_API_TOKEN }} + TWITTER_CONSUMERKEY: ${{ secrets.TWITTER_CONSUMERKEY }} + TWITTER_CONSUMERSECRET: ${{ secrets.TWITTER_CONSUMERSECRET }} + TWITTER_HANDLE: ${{ secrets.TWITTER_HANDLE }} + TWITTER_TOKEN: ${{ secrets.TWITTER_TOKEN }} + TWITTER_TOKENSECRET: ${{ secrets.TWITTER_TOKENSECRET }} + run: ./gradlew build check --stacktrace + + - name: SonarCloud + if: success() && matrix.java-version == env.SONAR_JDK + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: ./gradlew sonarqube + + - name: Cleanup Gradle Cache + run: | + rm -f ~/.gradle/caches/modules-2/modules-2.lock + rm -f ~/.gradle/caches/modules-2/gc.properties diff --git a/.gitignore b/.gitignore index 4d04f45..2b959f1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,44 +1,9 @@ -__pycache__ !.vscode/extensions.json !.vscode/launch.json !.vscode/settings.json !.vscode/tasks.json !gradle-wrapper.jar !properties/* -.classpath -.DS_Store -.gradle -.history -.idea_modules/ -.idea/**/contentModel.xml -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/dataSources/ -.idea/**/dbnavigator.xml -.idea/**/dictionaries -.idea/**/dynamic.xml -.idea/**/gradle.xml -.idea/**/libraries -.idea/**/mongoSettings.xml -.idea/**/shelf -.idea/**/sqlDataSources.xml -.idea/**/tasks.xml -.idea/**/uiDesigner.xml -.idea/**/usage.statistics.xml -.idea/**/workspace.xml -.idea/**/caches/build_file_checksums.ser -.idea/**/httpRequests -.idea/**/replstate.xml -.idea/**/shelf/ -.kobalt -.mtj.tmp/ -.mvn/timing.properties -.mvn/wrapper/maven-wrapper.jar -.nb-gradle -.project -.scannerwork -.settings -.vscode/* *.class *.code-workspace *.ctxt @@ -52,6 +17,43 @@ __pycache__ *.tar.gz *.war *.zip +.DS_Store +.classpath +.gradle +.history +.idea/**/caches/build_file_checksums.ser +.idea/**/contentModel.xml +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/dataSources/ +.idea/**/dbnavigator.xml +.idea/**/dictionaries +.idea/**/dynamic.xml +.idea/**/gradle.xml +.idea/**/httpRequests +.idea/**/libraries +.idea/**/mongoSettings.xml +.idea/**/replstate.xml +.idea/**/shelf +.idea/**/shelf/ +.idea/**/sonarlint* +.idea/**/sqlDataSources.xml +.idea/**/tasks.xml +.idea/**/uiDesigner.xml +.idea/**/usage.statistics.xml +.idea/**/workspace.xml +.idea_modules/ +.kobalt +.mtj.tmp/ +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar +.nb-gradle +.project +.scannerwork +.settings +.vscode/* +Thumbs.db +__pycache__ atlassian-ide-plugin.xml bin/ build/ @@ -85,5 +87,4 @@ project.properties release.properties target/ test-output -Thumbs.db venv diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..67f2bb4 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,32 @@ +image: gradle:7-jdk17 + +variables: + GRADLE_OPTS: "-Dorg.gradle.daemon=false" + CI_NAME: "GitLab CI" + +before_script: + - export GRADLE_USER_HOME=`pwd`/.gradle + +stages: + - build + - test + +build: + stage: build + script: gradle --build-cache assemble + cache: + key: "$CI_COMMIT_REF_NAME" + policy: push + paths: + - build + - .gradle + +test: + stage: test + script: gradle check + cache: + key: "$CI_COMMIT_REF_NAME" + policy: pull + paths: + - build + - .gradle diff --git a/.idea/checkstyle-idea.xml b/.idea/checkstyle-idea.xml deleted file mode 100644 index 21a0f73..0000000 --- a/.idea/checkstyle-idea.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..3ad4dc5 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,15 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml index d91f848..79ee123 100644 --- a/.idea/codeStyles/codeStyleConfig.xml +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -1,5 +1,5 @@ - \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml index bec3928..fb7f4a8 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,30 +1,6 @@ - - - - - - - - - - - - - + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 838047c..f243f08 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -30,7 +30,7 @@