plugins { id 'java-library' } group = 'com.eactive.ext.djb' version = '1.0.0' java { toolchain { languageVersion = JavaLanguageVersion.of(8) } } sourceSets { stub { java { srcDirs = ['src/stub/java'] } } } dependencies { // scpdb 가짜 시그니처. 메인 컴파일 통과 전용. 최종 jar 에는 포함되지 않음. compileOnly sourceSets.stub.output } tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' } jar { archiveBaseName = 'damo-manager' archiveVersion = '' manifest { attributes( 'Implementation-Title' : 'damo-manager', 'Implementation-Version': project.version, 'Built-By' : 'damo-manager gradle build', 'Main-Class' : 'com.eactive.ext.djb.DamoCli' ) } } // Fake 모드 스모크 검증용 (-Ddamo-manager.enabled=true + scpdb 부재). 실행: gradle runFakeSmoke tasks.register('runFakeSmoke', JavaExec) { group = 'verification' description = 'Run DamoManager main() with -Ddamo-manager.enabled=true and no scpdb (fake mode smoke test)' classpath = sourceSets.main.runtimeClasspath mainClass = 'com.eactive.ext.djb.DamoManager' systemProperty 'damo-manager.enabled', 'true' dependsOn 'classes' } // Bypass 모드 스모크 검증용 (기본값, 옵션 없음). 실행: gradle runBypassSmoke tasks.register('runBypassSmoke', JavaExec) { group = 'verification' description = 'Run DamoManager main() with no option (default bypass mode smoke test)' classpath = sourceSets.main.runtimeClasspath mainClass = 'com.eactive.ext.djb.DamoManager' dependsOn 'classes' }