Skip to content

Commit 9d0c4cd

Browse files
Merge pull request #44 from Ultraviolet-Ninja/dev
Dev
2 parents a1f2739 + da328af commit 9d0c4cd

275 files changed

Lines changed: 1405 additions & 772 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.circleci/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
jacoco:
88
docker:
99
# specify the version you desire here
10-
- image: cimg/openjdk:17.0.1
10+
- image: cimg/openjdk:17.0.2
1111

1212
# Specify service dependencies here if necessary
1313
# CircleCI maintains a library of pre-built images
@@ -37,7 +37,7 @@ jobs:
3737
path: ./build/reports
3838
pitest:
3939
docker:
40-
- image: cimg/openjdk:17.0.1
40+
- image: cimg/openjdk:17.0.2
4141
parallelism: 6
4242
resource_class: large
4343

.github/dependabot.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "gradle" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "weekly"
12+
allow:
13+
- dependency-name: "com.opencsv:opencsv"
14+
- dependency-name: "org.javatuples:javatuples"
15+
- dependency-name: "org.jgrapht:jgrapht-ext"
16+
- dependency-name: "org.jetbrains:annotations"
17+
- dependency-name: "org.testng:testng"
18+
- dependency-name: "org.slf4j:slf4j-api"
19+
- dependency-name: "org.slf4j:slf4j-simple"
20+
- dependency-name: "nl.jqno.equalsverifier:equalsverifier"
21+
ignore:
22+
- dependency-name: "com.jfoenix:jfoenix"
23+
- dependency-name: "io.github.palexdev:materialfx"
24+
25+
- package-ecosystem: "github-actions"
26+
directory: "/"
27+
schedule:
28+
interval: "monthly"
29+
allow:
30+
- dependency-type: "all"

.github/workflows/codeql.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: "CodeQL"
2+
3+
on:
4+
push:
5+
branches: [ "dev" ]
6+
pull_request:
7+
# The branches below must be a subset of the branches above
8+
branches: [ "dev" ]
9+
schedule:
10+
- cron: '30 10 * * 1'
11+
12+
jobs:
13+
analyze:
14+
name: Analyze
15+
runs-on: ubuntu-latest
16+
permissions:
17+
actions: read
18+
contents: read
19+
security-events: write
20+
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
language: [ 'java' ]
25+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
26+
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
27+
28+
steps:
29+
- name: Checkout repository
30+
uses: actions/checkout@v3
31+
32+
# Initializes the CodeQL tools for scanning.
33+
- name: Initialize CodeQL
34+
uses: github/codeql-action/init@v2
35+
with:
36+
languages: ${{ matrix.language }}
37+
# If you wish to specify custom queries, you can do so here or in a config file.
38+
# By default, queries listed here will override any specified in a config file.
39+
# Prefix the list here with "+" to use these queries and those in the config file.
40+
41+
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
42+
# queries: security-extended,security-and-quality
43+
44+
- name: Set up JDK 17
45+
uses: actions/setup-java@v2
46+
with:
47+
java-version: 17
48+
distribution: 'adopt'
49+
check-latest: true
50+
51+
- name: Grant execute permission for gradlew
52+
run: chmod +x gradlew
53+
54+
- name: Build with Gradle
55+
run: ./gradlew build
56+
57+
- name: Perform CodeQL Analysis
58+
uses: github/codeql-action/analyze@v2
59+
with:
60+
category: "/language:${{matrix.language}}"

.github/workflows/gradle.yml

Lines changed: 0 additions & 48 deletions
This file was deleted.
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# This workflow will build a Java project with Gradle
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
3+
4+
name: Publishing Executable files using Gradle
5+
6+
on:
7+
push:
8+
branches:
9+
- main
10+
11+
jobs:
12+
windows-pipeline:
13+
14+
runs-on: windows-latest
15+
16+
steps:
17+
- uses: actions/checkout@v3
18+
19+
- name: Set up JDK 17
20+
uses: actions/setup-java@v2
21+
with:
22+
java-version: 17
23+
distribution: 'adopt'
24+
check-latest: true
25+
26+
- name: Grant execute permission for gradlew
27+
run: chmod +x gradlew
28+
29+
# - name: Build with Gradle
30+
# run: ./gradlew build
31+
32+
- name: Creating the Executable
33+
run: ./gradlew jpackageImage
34+
35+
# - name: Set up QEMU
36+
# uses: docker/setup-qemu-action@v1
37+
#
38+
# - name: Set up Docker Buildx
39+
# uses: docker/setup-buildx-action@v1
40+
#
41+
# - name: Login to DockerHub
42+
# uses: docker/login-action@v1
43+
# with:
44+
# username: ${{ secrets.DOCKER_USERNAME }}
45+
# password: ${{ secrets.DOCKER_PASSWORD }}
46+
#
47+
# - name: Docker Build and Push
48+
# id: docker_build
49+
# run: ./gradlew dockerPushDockerHub
50+
51+
- name: Upload Releases
52+
run: ./gradlew releaseToGitHub -PauthToken=${{ secrets.GITHUB_TOKEN }}
53+
54+
linux-pipeline:
55+
56+
runs-on: ubuntu-latest
57+
needs: windows-pipeline
58+
59+
steps:
60+
- uses: actions/checkout@v2
61+
62+
- name: Set up JDK 17
63+
uses: actions/setup-java@v2
64+
with:
65+
java-version: 17
66+
distribution: 'adopt'
67+
check-latest: true
68+
69+
- name: Grant execute permission for gradlew
70+
run: chmod +x gradlew
71+
72+
- name: Build with Gradle
73+
run: ./gradlew build
74+
75+
# - name: Linking Dependencies with Gradle
76+
# run: ./gradlew jlink
77+
78+
# - name: Packaging with Gradle
79+
# run: ./gradlew jpackage
80+
81+
# - name: Auto-Upload Releases
82+
# run: ./gradlew releaseToGitHub -PauthToken=${{ secrets.GITHUB_TOKEN }}
83+
84+
mac-pipeline:
85+
86+
runs-on: macos-latest
87+
needs: linux-pipeline
88+
89+
steps:
90+
- uses: actions/checkout@v2
91+
92+
- name: Set up JDK 17
93+
uses: actions/setup-java@v2
94+
with:
95+
java-version: 17
96+
distribution: 'adopt'
97+
check-latest: true
98+
99+
- name: Grant execute permission for gradlew
100+
run: chmod +x gradlew
101+
102+
- name: Build with Gradle
103+
run: ./gradlew build
104+
105+
# - name: Linking Dependencies with Gradle
106+
# run: ./gradlew jlink
107+
108+
# - name: Packaging with Gradle
109+
# run: ./gradlew jpackage
110+
111+
# - name: Auto-Upload Releases
112+
# run: ./gradlew releaseToGitHub -PauthToken=${{ secrets.GITHUB_TOKEN }}

.lgtm.yml

Lines changed: 0 additions & 4 deletions
This file was deleted.

Dockerfile

Lines changed: 0 additions & 6 deletions
This file was deleted.

Learned.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Another thing we talked about while he was on the project was moving back to Jav
1111
- Using the build.gradle file to organize dependencies and plugins, facilitate testing, set up distributions in zip and tar files, and releases for GitHub.
1212
- Making custom tasks and using parameters for CI pipelines to test certain parts of the code.
1313
- Automating tests with CircleCI using this [video](https://www.youtube.com/watch?v=9PgZCJNzY9M) as a guide.
14-
- Coming across [LGTM](https://lgtm.com/) and taking advantage of its code quality checking for flaws in my Java code.
14+
- Coming across ~~LGTM~~ (when it was still around) and taking advantage of its code quality checking for flaws in my Java code.
1515
## Graphs and their Algorithms
1616
- Creating graphs by looking up the concept or using the JGraphT library.
1717
- Making use of Dijkstra's Shortest Path and A* to solve different problems.

README.md

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,15 @@
22
*101 modules, 100 minutes, exponentially more problems.*
33

44
[![CircleCI](https://circleci.com/gh/Ultraviolet-Ninja/GradleCenturion/tree/main.svg?style=shield)](https://circleci.com/gh/Ultraviolet-Ninja/GradleCenturion/tree/main)
5-
[![Language grade: Java](https://img.shields.io/lgtm/grade/java/g/Ultraviolet-Ninja/GradleCenturion.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Ultraviolet-Ninja/GradleCenturion/context:java)
6-
![Project Version](https://img.shields.io/badge/version-0.22.0-blueviolet)
5+
![Project Version](https://img.shields.io/badge/version-0.22.3-blueviolet)
76

87
## Intro
98
This project is designed to solve all puzzles found on the Centurion Bomb from Keep Talking and Nobody Explodes, which is a combination of many community-made puzzles and some from the base game set in different languages.<br>
109

1110
This is a huge project for one man to tackle, but I've [learned a lot](Learned.md) from the challenges I've faced.
1211

1312
## Technologies
14-
- Java 16
13+
- Java 17
1514
- Gradle 7.4
1615
### Plugins
1716
- JavaFX
@@ -22,26 +21,22 @@ This is a huge project for one man to tackle, but I've [learned a lot](Learned.m
2221
- JFoenix ver. 9.0.4
2322
- JavaTuple ver. 1.2
2423
- JGraphT ver. 1.5.1
25-
- OpenCSV ver. 5.5.2
24+
- OpenCSV ver. 5.7.1
2625
### Other Technologies
2726
- Circle CI
28-
- LGTM Code Quality
2927
- CodeMR Free Trial
3028

3129
## Status - In progress
3230
See the running list of modules [here](Progress.md)
3331

3432
## How to run the program
35-
*Disclaimer:* Make sure you have Java [16](https://www.oracle.com/java/technologies/javase/jdk16-archive-downloads.html) or [17](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)
36-
and the JAVA_HOME is set.
37-
1. Grab the latest .zip/tar of the GradleCenturion-X.X.X and unzip it
38-
2. Using the command line, navigate to the unzipped directory
39-
3. Run the command
40-
- Windows: `gradlew run`
41-
- Linux: `./gradlew run`
33+
*Disclaimer*: This is referring to program versions `0.22.2` onward
34+
- The `source code` option of the [Release Page](https://github.com/Ultraviolet-Ninja/GradleCenturion/releases) contains an executable, a Windows batch file and all the necessary jar files to run the program
35+
- The `Gradle-Centurion-[VERSION]-[OPERATING SYSTEM]` contains a OS-specific executable file with a runtime environment for the program to run in
36+
- *Only supports Windows currently*
4237

4338
## Inspiration
44-
After my first manual turning out to be successful in solving the main-game bombs, I thought "Why stop there?".
39+
After my first manual turning out to be successful in solving the main-game bombs, I thought "*Why stop there?*".
4540
I started creating this project working on the auto-solver for the vanilla game, which was, by comparison, much easier.
4641

4742
### Example Bomb

0 commit comments

Comments
 (0)