Skip to content

Commit c8504ab

Browse files
authored
Merge pull request #59 from sdp24-2-CodingPing/develop
Merge/v1.1.0
2 parents a5d1f0f + 71c2cd5 commit c8504ab

92 files changed

Lines changed: 9600 additions & 7821 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.

.gitattributes

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,15 @@
2020
*.PDF diff=astextplain
2121
*.rtf diff=astextplain
2222
*.RTF diff=astextplain
23+
#
24+
# https://help.github.com/articles/dealing-with-line-endings/
25+
#
26+
# Linux start script should use lf
27+
/gradlew text eol=lf
28+
29+
# These are Windows script files and should use crlf
30+
*.bat text eol=crlf
31+
32+
# Binary files should be left untouched
33+
*.jar binary
34+

.github/workflows/gradle-test.yaml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Gradle CI
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
- develop
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
# 1. 코드 체크아웃
15+
- name: Checkout code
16+
uses: actions/checkout@v4
17+
18+
# 2. Java 환경 설정
19+
- name: Set up JDK 21
20+
uses: actions/setup-java@v4
21+
with:
22+
distribution: 'temurin'
23+
java-version: '21'
24+
25+
# 3. Gradle 캐시 활성화
26+
- name: Cache Gradle dependencies
27+
uses: actions/cache@v4
28+
with:
29+
path: |
30+
~/.gradle/caches
31+
~/.gradle/wrapper
32+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
33+
restore-keys: |
34+
${{ runner.os }}-gradle
35+
36+
# 4. Gradle 테스트 실행
37+
- name: Run tests
38+
run: ./gradlew test
39+
continue-on-error: true
40+
41+
# 5. 테스트 결과 파싱 및 요약 생성
42+
- name: Generate test summary
43+
if: always()
44+
run: |
45+
echo "Parsing test results..."
46+
mkdir -p test-results-summary
47+
python3 scripts/parse_test_results.py build/test-results/test/ > test-results-summary/summary.md
48+
49+
# 6. 테스트 리포트 아티팩트 업로드
50+
- name: Upload Test Report
51+
if: always()
52+
uses: actions/upload-artifact@v4
53+
with:
54+
name: test-report
55+
path: build/reports/tests/test # 테스트 리포트 디렉터리 경로
56+
57+
# 7. PR에 코멘트 작성
58+
- name: Comment on PR
59+
if: always() && github.event_name == 'pull_request'
60+
uses: actions/github-script@v6
61+
with:
62+
github-token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
63+
script: |
64+
const fs = require('fs');
65+
const summary = fs.readFileSync('test-results-summary/summary.md', 'utf8');
66+
github.rest.issues.createComment({
67+
issue_number: context.issue.number,
68+
owner: context.repo.owner,
69+
repo: context.repo.repo,
70+
body: summary
71+
});

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,3 +171,6 @@ log*
171171
.checkstyle
172172
.idea/
173173
*.iml
174+
175+
# Ignore Gradle project-specific cache directory
176+
.gradle

build.gradle

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
plugins {
2+
id 'java'
3+
id 'com.diffplug.spotless' version '6.25.0'
4+
}
5+
6+
repositories {
7+
mavenCentral()
8+
}
9+
10+
dependencies {
11+
testImplementation 'org.junit.jupiter:junit-jupiter:5.11.3'
12+
testImplementation sourceSets.main.output
13+
}
14+
15+
sourceSets {
16+
main {
17+
java {
18+
srcDirs = ['src'] // 기존 src 디렉토리 지정
19+
}
20+
resources {
21+
srcDirs = ['res'] // 기존 resources 디렉토리 지정
22+
}
23+
}
24+
test {
25+
java {
26+
srcDirs = ['test'] // 기존 test 디렉토리 지정
27+
}
28+
}
29+
}
30+
31+
test {
32+
useJUnitPlatform()
33+
maxHeapSize = "1g"
34+
jvmArgs '-XX:MaxMetaspaceSize=512m'
35+
}
36+
37+
38+
spotless {
39+
java {
40+
googleJavaFormat('1.25.0')
41+
endWithNewline()
42+
}
43+
}

gradle.properties

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# This file was generated by the Gradle 'init' task.
2+
# https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
3+
4+
org.gradle.configuration-cache=true
5+

gradle/libs.versions.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# This file was generated by the Gradle 'init' task.
2+
# https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format
3+
4+
[versions]
5+
guava = "33.2.1-jre"
6+
junit-jupiter = "5.10.3"
7+
8+
[libraries]
9+
guava = { module = "com.google.guava:guava", version.ref = "guava" }
10+
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit-jupiter" }

gradle/wrapper/gradle-wrapper.jar

42.6 KB
Binary file not shown.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
distributionBase=GRADLE_USER_HOME
2+
distributionPath=wrapper/dists
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip
4+
networkTimeout=10000
5+
validateDistributionUrl=true
6+
zipStoreBase=GRADLE_USER_HOME
7+
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)