2023-01-03 22:29:13 +08:00
|
|
|
/*
|
|
|
|
* Copyright 2023 Alexey Andreev.
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
plugins {
|
|
|
|
`java-library`
|
|
|
|
`teavm-publish`
|
|
|
|
}
|
|
|
|
|
|
|
|
description = "Java class library emulation"
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
compileOnly(project(":core"))
|
|
|
|
|
2023-01-26 21:07:12 +08:00
|
|
|
api(project(":platform"))
|
|
|
|
api(project(":jso:apis"))
|
|
|
|
api(project(":jso:impl"))
|
|
|
|
api(project(":metaprogramming:impl"))
|
|
|
|
api(libs.commons.io)
|
|
|
|
api(libs.jzlib)
|
|
|
|
api(libs.jodaTime)
|
2023-01-03 22:29:13 +08:00
|
|
|
|
|
|
|
testImplementation(libs.junit)
|
|
|
|
testImplementation(project(":core"))
|
|
|
|
}
|
|
|
|
|
|
|
|
tasks {
|
2023-09-21 15:52:29 +08:00
|
|
|
val generatedClassesDir = layout.buildDirectory.dir("generated/classes/java/main")
|
2023-01-03 22:29:13 +08:00
|
|
|
val generateTzCache by registering(JavaExec::class) {
|
2023-09-21 15:52:29 +08:00
|
|
|
val outputFile = generatedClassesDir.map { it.dir( "org/teavm/classlib/impl/tz/cache") }
|
2023-01-03 22:29:13 +08:00
|
|
|
classpath(sourceSets.main.get().runtimeClasspath, sourceSets.main.get().compileClasspath)
|
|
|
|
outputs.file(outputFile)
|
|
|
|
inputs.files(sourceSets.main.get().runtimeClasspath)
|
|
|
|
dependsOn(compileJava)
|
2023-09-21 15:52:29 +08:00
|
|
|
mainClass = "org.teavm.classlib.impl.tz.TimeZoneCache"
|
|
|
|
args(outputFile.get().asFile.absolutePath)
|
2023-01-03 22:29:13 +08:00
|
|
|
}
|
|
|
|
jar {
|
|
|
|
dependsOn(generateTzCache)
|
|
|
|
from(generatedClassesDir)
|
|
|
|
exclude("html/**")
|
|
|
|
exclude("org/teavm/classlib/impl/tz/tzdata*.zip")
|
|
|
|
}
|
2023-01-26 21:57:23 +08:00
|
|
|
sourcesJar {
|
|
|
|
exclude("**/*.zip")
|
|
|
|
exclude("**/UnicodeData.txt")
|
|
|
|
exclude("**/iso*.xml")
|
|
|
|
exclude("**/iso*.csv")
|
|
|
|
}
|
2023-01-03 22:29:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
teavmPublish {
|
|
|
|
artifactId = "teavm-classlib"
|
|
|
|
}
|
2023-09-11 03:22:07 +08:00
|
|
|
|