Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# EditorConfig is awesome: https://EditorConfig.org

# Top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

# Markdown files
[*.md]
trim_trailing_whitespace = false
max_line_length = off

# C++ files
[*.{cpp,h,hpp,cc}]
indent_style = space
indent_size = 4
max_line_length = 120

# Java files
[*.java]
indent_style = space
indent_size = 4
max_line_length = 120

# YAML files
[*.{yml,yaml}]
indent_style = space
indent_size = 2

# JSON files
[*.json]
indent_style = space
indent_size = 2

# Shell scripts
[*.sh]
indent_style = space
indent_size = 2
14 changes: 14 additions & 0 deletions .github/markdown-link-check-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"ignorePatterns": [
{
"pattern": "^http://localhost"
}
],
"replacementPatterns": [],
"httpHeaders": [],
"timeout": "20s",
"retryOn429": true,
"retryCount": 3,
"fallbackRetryDelay": "30s",
"aliveStatusCodes": [200, 206]
}
47 changes: 47 additions & 0 deletions .github/workflows/cpp-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: C++ Compilation Check

on:
push:
branches: [ main, develop ]
paths:
- '**.cpp'
- '**.h'
- '**.hpp'
pull_request:
branches: [ main, develop ]
paths:
- '**.cpp'
- '**.h'
- '**.hpp'

jobs:
build:
name: Build C++ Programs
runs-on: ubuntu-latest

permissions:
contents: read

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Install g++
run: |
sudo apt-get update
sudo apt-get install -y g++ build-essential

- name: Verify g++ Installation
run: g++ --version

- name: Find and Compile C++ Files
run: |
echo "🔍 Finding C++ source files..."
find . -name "*.cpp" -type f | while read file; do
echo "📝 Compiling: $file"
g++ -std=c++17 -c "$file" -o "${file%.cpp}.o" || echo "⚠️ Warning: $file failed to compile"
done
echo "✅ Compilation check complete!"

- name: Clean Up Object Files
run: find . -name "*.o" -delete
46 changes: 46 additions & 0 deletions .github/workflows/java-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Java Compilation Check

on:
push:
branches: [ main, develop ]
paths:
- '**.java'
pull_request:
branches: [ main, develop ]
paths:
- '**.java'

jobs:
build:
name: Build Java Programs
runs-on: ubuntu-latest

permissions:
contents: read

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

- name: Verify Java Installation
run: |
java -version
javac -version

- name: Find and Compile Java Files
run: |
echo "🔍 Finding Java source files..."
find . -name "*.java" -type f | while read file; do
echo "📝 Compiling: $file"
javac "$file" || echo "⚠️ Warning: $file failed to compile"
done
echo "✅ Compilation check complete!"

- name: Clean Up Class Files
run: find . -name "*.class" -delete
30 changes: 30 additions & 0 deletions .github/workflows/markdown-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Markdown Link Check

on:
push:
branches: [ main, develop ]
paths:
- '**.md'
pull_request:
branches: [ main, develop ]
paths:
- '**.md'

jobs:
markdown-check:
name: Check Markdown Links
runs-on: ubuntu-latest

permissions:
contents: read

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Check Markdown Links
uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
use-quiet-mode: 'yes'
config-file: '.github/markdown-link-check-config.json'
continue-on-error: true
121 changes: 121 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# C++ Compiled Files
# Prerequisites
*.d

Expand Down Expand Up @@ -30,3 +31,123 @@
*.exe
*.out
*.app

# Java Compiled Files
*.class

# Java Package Files
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# Virtual machine crash logs
hs_err_pid*
replay_pid*

# IDE and Editor Files
# Visual Studio Code
.vscode/
*.code-workspace

# IntelliJ IDEA
.idea/
*.iml
*.iws
*.ipr
out/

# Eclipse
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders

# NetBeans
nbproject/private/
build/
nbbuild/
dist/
nbdist/
.nb-gradle/

# VS Code
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace

# Vim
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]

# macOS
.DS_Store
.AppleDouble
.LSOverride
Icon
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

# Windows
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
*.stackdump
[Dd]esktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msix
*.msm
*.msp
*.lnk

# Linux
*~
.fuse_hidden*
.directory
.Trash-*
.nfs*

# Build directories
build/
Build/
BUILD/
target/
cmake-build-*/

# Logs
*.log

# Temporary files
temp/
tmp/
*.tmp
Loading
Loading