-
Notifications
You must be signed in to change notification settings - Fork 0
chore: 프로젝트 초기 설정 #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 4 commits
a655680
403a670
3d59e16
a39924f
ebbd174
237094c
5a01c45
5a402e2
3e509b8
efdbd89
4f559f6
f4e7066
a3b557a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| root = true | ||
|
|
||
| [*] | ||
| charset = utf-8 | ||
| indent_size = 4 | ||
| indent_style = space | ||
| max_line_length = 150 | ||
| insert_final_newline = true | ||
| trim_trailing_whitespace = true | ||
|
|
||
| [*.{kt,kts}] | ||
| ij_kotlin_allow_trailing_comma = true | ||
| ij_kotlin_allow_trailing_comma_on_call_site = true |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,47 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name: Android CI | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| env: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED: true | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pull_request: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| concurrency: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| group: build-${{ github.ref }} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cancel-in-progress: true | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ci-build: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Checkout | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Setup JDK 17 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uses: actions/setup-java@v3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| distribution: 'corretto' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| java-version: 17 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Setup Android SDK | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uses: android-actions/setup-android@v2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Setup Gradle | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uses: gradle/gradle-build-action@v2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| gradle-home-cache-cleanup: true | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+20
to
+37
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick (assertive) 들여쓰기 후 하이픈 뒤 공백이 3칸( YAML 스펙에는 문제없지만 actionlint / yamllint 경고가 계속 출력됩니다. 🧰 Tools🪛 YAMLlint (1.37.1)[error] 21-21: too many spaces after hyphen (hyphens) [error] 24-24: too many spaces after hyphen (hyphens) [error] 30-30: too many spaces after hyphen (hyphens) [error] 33-33: too many spaces after hyphen (hyphens) 🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Generate local.properties | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo '${{ secrets.LOCAL_PROPERTIES }}' >> ./local.properties | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+39
to
+41
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Secrets가 문자열 그대로 출력됩니다 – 따옴표를 제거하세요.
-echo '${{ secrets.LOCAL_PROPERTIES }}' >> ./local.properties
+echo "${{ secrets.LOCAL_PROPERTIES }}" > ./local.properties• 따옴표를 이중 따옴표로 바꾸고 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
Comment on lines
+38
to
+41
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick (assertive)
- echo '${{ secrets.LOCAL_PROPERTIES }}' >> ./local.properties
+ echo '${{ secrets.LOCAL_PROPERTIES }}' > ./local.properties📝 Committable suggestion
Suggested change
🧰 Tools🪛 YAMLlint (1.37.1)[error] 38-38: too many spaces after hyphen (hyphens) 🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Code style checks | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ./gradlew ktlintCheck detekt | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: Run build | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+21
to
+46
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick (assertive) YAML 스타일:
- - name: Checkout
+ - name: Checkout모든 step‐블록에 동일하게 적용해 경고를 제거할 수 있습니다. 📝 Committable suggestion
Suggested change
🧰 Tools🪛 YAMLlint (1.37.1)[error] 21-21: too many spaces after hyphen (hyphens) [error] 24-24: too many spaces after hyphen (hyphens) [error] 30-30: too many spaces after hyphen (hyphens) [error] 33-33: too many spaces after hyphen (hyphens) [error] 38-38: too many spaces after hyphen (hyphens) [error] 42-42: too many spaces after hyphen (hyphens) [error] 46-46: too many spaces after hyphen (hyphens) 🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| run: ./gradlew buildDebug --stacktrace | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+46
to
+47
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
AGP 기본 태스크는 - - name: Run build
- run: ./gradlew buildDebug --stacktrace
+ - name: Assemble debug APK
+ run: ./gradlew assembleDebug --stacktrace📝 Committable suggestion
Suggested change
🧰 Tools🪛 YAMLlint (1.37.1)[error] 46-46: too many spaces after hyphen (hyphens) 🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| @Suppress("DSL_SCOPE_VIOLATION") | ||
|
|
||
| plugins { | ||
| `kotlin-dsl` | ||
| alias(libs.plugins.gradle.dependency.handler.extensions) | ||
| } | ||
|
|
||
| group = "com.ninecraft.booket.buildlogic" | ||
|
|
||
| dependencies { | ||
| compileOnly(libs.android.gradle.plugin) | ||
| compileOnly(libs.kotlin.gradle.plugin) | ||
| implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location)) | ||
| } | ||
|
|
||
| gradlePlugin { | ||
| val conventionPluginClasses = listOf( | ||
| "android.application" to "AndroidApplicationConventionPlugin", | ||
| "android.application.compose" to "AndroidApplicationComposeConventionPlugin", | ||
| "android.library" to "AndroidLibraryConventionPlugin", | ||
| "android.library.compose" to "AndroidLibraryComposeConventionPlugin", | ||
| "android.feature" to "AndroidFeatureConventionPlugin", | ||
| "android.hilt" to "AndroidHiltConventionPlugin", | ||
| "jvm-library" to "JvmLibraryConventionPlugin", | ||
| "kotlin-library-serialization" to "KotlinLibrarySerializationConventionPlugin", | ||
| ) | ||
|
Comment on lines
+17
to
+26
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 플러그인 구현 클래스는 FQCN(풀 패키지 경로)로 지정해야 합니다
- "android.application" to "AndroidApplicationConventionPlugin",
+ "android.application" to "com.ninecraft.booket.convention.AndroidApplicationConventionPlugin",같은 방식으로 목록 전반을 수정해 주세요. 🤖 Prompt for AI Agents |
||
|
|
||
| plugins { | ||
| conventionPluginClasses.forEach { pluginClass -> | ||
| pluginRegister(pluginClass) | ||
| } | ||
| } | ||
| } | ||
|
|
||
| java { | ||
| toolchain { | ||
| languageVersion.set(JavaLanguageVersion.of(17)) | ||
| } | ||
| } | ||
|
|
||
| kotlin { | ||
| jvmToolchain(17) | ||
| } | ||
|
|
||
| // Pair<PluginName, ClassName> | ||
| fun NamedDomainObjectContainer<PluginDeclaration>.pluginRegister(data: Pair<String, String>) { | ||
| val (pluginName, className) = data | ||
| register(pluginName) { | ||
| id = "booket.$pluginName" | ||
| implementationClass = className | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| dependencyResolutionManagement { | ||
| repositories { | ||
| google() | ||
| mavenCentral() | ||
| gradlePluginPortal() | ||
| } | ||
| versionCatalogs { | ||
| create("libs") { | ||
| from(files("../gradle/libs.versions.toml")) | ||
| } | ||
| } | ||
| } | ||
|
|
||
| rootProject.name = "build-logic" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| import com.android.build.api.dsl.ApplicationExtension | ||
| import com.ninecraft.booket.convention.Plugins | ||
| import com.ninecraft.booket.convention.applyPlugins | ||
| import com.ninecraft.booket.convention.configureCompose | ||
| import org.gradle.api.Plugin | ||
| import org.gradle.api.Project | ||
| import org.gradle.kotlin.dsl.configure | ||
|
|
||
|
Comment on lines
+1
to
+
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion 패키지 선언 누락 – 기본 패키지 사용은 피해주세요 +package com.ninecraft.booket.convention
+
import com.android.build.api.dsl.ApplicationExtension
...🤖 Prompt for AI Agents |
||
| internal class AndroidApplicationComposeConventionPlugin : Plugin<Project> { | ||
| override fun apply(target: Project) { | ||
| with(target) { | ||
| applyPlugins( | ||
| Plugins.ANDROID_APPLICATION, | ||
| ) | ||
|
|
||
| extensions.configure<ApplicationExtension> { | ||
| configureCompose(this) | ||
| } | ||
| } | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| import com.android.build.api.dsl.ApplicationExtension | ||
| import com.ninecraft.booket.convention.ApplicationConstants | ||
| import com.ninecraft.booket.convention.Plugins | ||
| import com.ninecraft.booket.convention.applyPlugins | ||
| import com.ninecraft.booket.convention.configureAndroid | ||
| import org.gradle.api.Plugin | ||
| import org.gradle.api.Project | ||
| import org.gradle.kotlin.dsl.configure | ||
|
|
||
|
Comment on lines
+1
to
+9
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 패키지 선언 누락으로 컴파일 오류 발생 다른 파일과 동일한 패키지를 추가해 주세요. +package com.ninecraft.booket.convention
+
import com.android.build.api.dsl.ApplicationExtension🤖 Prompt for AI Agents |
||
| internal class AndroidApplicationConventionPlugin : Plugin<Project> { | ||
| override fun apply(target: Project) { | ||
| with(target) { | ||
| applyPlugins( | ||
| Plugins.ANDROID_APPLICATION, | ||
| Plugins.KOTLIN_ANDROID, | ||
| ) | ||
|
|
||
| extensions.configure<ApplicationExtension> { | ||
| configureAndroid(this) | ||
|
|
||
| defaultConfig { | ||
| targetSdk = ApplicationConstants.targetSdk | ||
| versionName = ApplicationConstants.versionName | ||
| versionCode = ApplicationConstants.versionCode | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| import com.ninecraft.booket.convention.applyPlugins | ||
| import org.gradle.api.Plugin | ||
| import org.gradle.api.Project | ||
| import org.gradle.kotlin.dsl.dependencies | ||
|
|
||
| internal class AndroidFeatureConventionPlugin : Plugin<Project> { | ||
| override fun apply(target: Project) { | ||
| with(target) { | ||
| applyPlugins( | ||
| "booket-android-library", | ||
| "booket-android-hilt", | ||
| "booket-android-library-compose", | ||
| ) | ||
|
|
||
| dependencies { | ||
|
|
||
| } | ||
| } | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| import com.ninecraft.booket.convention.Plugins | ||
| import com.ninecraft.booket.convention.applyPlugins | ||
| import com.ninecraft.booket.convention.implementation | ||
| import com.ninecraft.booket.convention.ksp | ||
| import com.ninecraft.booket.convention.libs | ||
| import org.gradle.api.Plugin | ||
| import org.gradle.api.Project | ||
| import org.gradle.kotlin.dsl.dependencies | ||
|
|
||
| internal class AndroidHiltConventionPlugin : Plugin<Project> { | ||
| override fun apply(target: Project) { | ||
| with(target) { | ||
| applyPlugins( | ||
| Plugins.HILT, | ||
| Plugins.KSP, | ||
| ) | ||
|
|
||
| dependencies { | ||
| implementation(libs.hilt.android) | ||
| ksp(libs.hilt.compiler) | ||
| } | ||
|
Comment on lines
+18
to
+21
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion 테스트 소스셋용 KSP/의존성 추가 검토 Hilt 컴파일러가 dependencies {
implementation(libs.hilt.android)
- ksp(libs.hilt.compiler)
+ ksp(libs.hilt.compiler)
+ kspAndroidTest(libs.hilt.compiler)
+ kspTest(libs.hilt.compiler)
}🤖 Prompt for AI Agents |
||
| } | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| import com.android.build.gradle.LibraryExtension | ||
| import com.ninecraft.booket.convention.Plugins | ||
| import com.ninecraft.booket.convention.applyPlugins | ||
| import com.ninecraft.booket.convention.configureCompose | ||
| import org.gradle.api.Plugin | ||
| import org.gradle.api.Project | ||
| import org.gradle.kotlin.dsl.configure | ||
|
|
||
| class AndroidLibraryComposeConventionPlugin : Plugin<Project> { | ||
| override fun apply(target: Project) { | ||
| with(target) { | ||
| applyPlugins( | ||
| Plugins.ANDROID_LIBRARY, | ||
| ) | ||
|
|
||
| extensions.configure<LibraryExtension> { | ||
| configureCompose(this) | ||
| } | ||
| } | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| import com.android.build.gradle.LibraryExtension | ||
| import com.ninecraft.booket.convention.Plugins | ||
| import org.gradle.api.Plugin | ||
| import org.gradle.api.Project | ||
| import com.ninecraft.booket.convention.applyPlugins | ||
| import com.ninecraft.booket.convention.configureAndroid | ||
| import org.gradle.kotlin.dsl.configure | ||
|
|
||
| internal class AndroidLibraryConventionPlugin : Plugin<Project> { | ||
| override fun apply(target: Project) { | ||
| with(target) { | ||
| applyPlugins( | ||
| Plugins.ANDROID_LIBRARY, | ||
| Plugins.KOTLIN_ANDROID, | ||
| ) | ||
|
|
||
| extensions.configure<LibraryExtension> { | ||
| configureAndroid(this) | ||
| } | ||
| } | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| import com.ninecraft.booket.convention.ApplicationConstants | ||
| import com.ninecraft.booket.convention.Plugins | ||
| import com.ninecraft.booket.convention.applyPlugins | ||
| import com.ninecraft.booket.convention.implementation | ||
| import com.ninecraft.booket.convention.libs | ||
| import org.gradle.api.Plugin | ||
| import org.gradle.api.Project | ||
| import org.gradle.api.plugins.JavaPluginExtension | ||
|
Comment on lines
+1
to
+8
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion 패키지 선언 누락 🤖 Prompt for AI Agents |
||
| import org.gradle.kotlin.dsl.configure | ||
| import org.gradle.kotlin.dsl.dependencies | ||
| import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension | ||
|
|
||
| internal class JvmLibraryConventionPlugin : Plugin<Project> { | ||
| override fun apply(target: Project) { | ||
| with(target) { | ||
| applyPlugins( | ||
| Plugins.JAVA_LIBRARY, | ||
| Plugins.KOTLIN_JVM, | ||
| ) | ||
|
|
||
| extensions.configure<JavaPluginExtension> { | ||
| sourceCompatibility = ApplicationConstants.javaVersion | ||
| targetCompatibility = ApplicationConstants.javaVersion | ||
| } | ||
|
|
||
| extensions.configure<KotlinProjectExtension> { | ||
| jvmToolchain(ApplicationConstants.javaVersionInt) | ||
| } | ||
|
|
||
| dependencies { | ||
| implementation(libs.detekt.formatting) | ||
| } | ||
| } | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| import com.ninecraft.booket.convention.Plugins | ||
| import com.ninecraft.booket.convention.applyPlugins | ||
| import com.ninecraft.booket.convention.implementation | ||
| import com.ninecraft.booket.convention.libs | ||
| import org.gradle.api.Plugin | ||
| import org.gradle.api.Project | ||
| import org.gradle.kotlin.dsl.dependencies | ||
|
|
||
|
Comment on lines
+1
to
+8
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion 패키지 선언 누락 🤖 Prompt for AI Agents |
||
| internal class KotlinLibrarySerializationConventionPlugin : Plugin<Project> { | ||
| override fun apply(target: Project) { | ||
| with(target) { | ||
| applyPlugins( | ||
| Plugins.KOTLINX_SERIALIZATION | ||
| ) | ||
|
|
||
| dependencies { | ||
| implementation(libs.kotlinx.serialization.json) | ||
| } | ||
| } | ||
| } | ||
| } | ||
Uh oh!
There was an error while loading. Please reload this page.