You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

94 lines
2.1 KiB

plugins {
id 'java'
id 'application'
}
// 编码设置 - UTF-8に統一
// タスクの文字エンコーディング設定
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
tasks.withType(Javadoc) {
options.encoding = 'UTF-8'
}
tasks.withType(Test) {
jvmArgs '-Dfile.encoding=UTF-8'
}
run {
jvmArgs '-Dfile.encoding=UTF-8'
}
group = 'co.jp.techsor.pdf'
version = '1.0.0'
sourceCompatibility = '17'
repositories {
mavenCentral()
}
dependencies {
implementation 'com.itextpdf:kernel:8.0.2'
implementation 'com.itextpdf:layout:8.0.2'
implementation 'commons-cli:commons-cli:1.5.0'
testImplementation 'junit:junit:4.13.2'
}
application {
mainClass = 'co.jp.techsor.pdf.App'
}
jar {
manifest {
attributes(
'Main-Class': 'co.jp.techsor.pdf.App'
)
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
task fatJar(type: Jar) {
archiveBaseName = 'pdf-memo-layers'
from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
// PDF解析ツール用のJAR
task probeJar(type: Jar) {
archiveBaseName = 'pdf-probe'
manifest {
attributes 'Main-Class': 'co.jp.techsor.pdf.PdfProbeApp'
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
with jar
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
// 両方のJARを作成するタスク
task allJars {
dependsOn fatJar, probeJar
}
// 图层修复测试タスク
task runLayerTest(type: JavaExec) {
mainClass = 'co.jp.techsor.pdf.TestLayerFix'
classpath = sourceSets.main.runtimeClasspath
jvmArgs '-Dfile.encoding=UTF-8'
}
// 详细图层修复测试タスク
task runLayerTestDetailed(type: JavaExec) {
mainClass = 'co.jp.techsor.pdf.TestLayerFixDetailed'
classpath = sourceSets.main.runtimeClasspath
jvmArgs '-Dfile.encoding=UTF-8'
}