mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-20 09:16:01 +08:00
128 lines
3.7 KiB
Groovy
128 lines
3.7 KiB
Groovy
buildscript {
|
|
repositories {
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
dependencies {
|
|
classpath 'org.jreleaser:jreleaser-gradle-plugin:1.18.0'
|
|
}
|
|
}
|
|
|
|
ext {
|
|
libgdxVersion = { ->
|
|
def propsFile = new File(project.projectDir, 'gradle.properties')
|
|
if (!propsFile.exists()) {
|
|
throw new GradleException("gradle.properties file not found at ${propsFile.absolutePath}")
|
|
}
|
|
def lines = propsFile.readLines()
|
|
for (line in lines) {
|
|
if (line.startsWith('libgdx_version=')) {
|
|
return line.split('=')[1].trim()
|
|
}
|
|
}
|
|
throw new GradleException("libgdx_version property not found in gradle.properties")
|
|
}()
|
|
|
|
isReleaseBuild = {
|
|
return project.hasProperty("RELEASE")
|
|
}
|
|
|
|
getSnapshotRepositoryUrl = {
|
|
return project.hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL
|
|
: "https://central.sonatype.com/repository/maven-snapshots/"
|
|
}
|
|
|
|
getRepositoryUsername = {
|
|
return project.hasProperty('MAVEN_USERNAME') ? MAVEN_USERNAME : ""
|
|
}
|
|
|
|
getRepositoryPassword = {
|
|
return project.hasProperty('MAVEN_PASSWORD') ? MAVEN_PASSWORD : ""
|
|
}
|
|
}
|
|
|
|
allprojects {
|
|
apply plugin: "java"
|
|
|
|
group = 'com.esotericsoftware.spine'
|
|
version = project.getProperty('version')
|
|
|
|
sourceSets.main.java.srcDirs = ["src"]
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
|
|
maven { url "https://central.sonatype.com/repository/maven-snapshots/" }
|
|
mavenCentral()
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
sourceCompatibility = '1.8'
|
|
targetCompatibility = '1.8'
|
|
options.release.set(8)
|
|
}
|
|
}
|
|
|
|
project("spine-libgdx") {
|
|
apply plugin: "java-library"
|
|
apply plugin: "maven-publish"
|
|
apply plugin: "signing"
|
|
|
|
sourceSets {
|
|
main {
|
|
resources {
|
|
srcDirs = ["src"] // Add this line to include non-Java files from src directory
|
|
include "**/*.gwt.xml" // Add this to specifically include GWT module files
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation "com.badlogicgames.gdx:gdx:$libgdxVersion"
|
|
}
|
|
}
|
|
apply from: 'publishing.gradle'
|
|
|
|
project("spine-skeletonviewer") {
|
|
jar {
|
|
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
|
|
|
manifest {
|
|
attributes "Main-Class": "com.esotericsoftware.spine.SkeletonViewer"
|
|
}
|
|
|
|
from {
|
|
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
|
|
}
|
|
|
|
dependsOn(project(":spine-libgdx").tasks.named('jar'))
|
|
}
|
|
|
|
tasks.named('build').configure {
|
|
dependsOn(tasks.named('jar'))
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
sourceCompatibility = '1.8'
|
|
targetCompatibility = '1.8'
|
|
options.release.set(8) // Ensures Java 8 bytecode is produced
|
|
}
|
|
}
|
|
|
|
configure(subprojects - project("spine-libgdx")) {
|
|
sourceSets.main.resources.srcDirs = ["assets"]
|
|
|
|
dependencies {
|
|
implementation project(":spine-libgdx")
|
|
implementation "com.badlogicgames.gdx:gdx:$libgdxVersion"
|
|
implementation "com.badlogicgames.gdx:gdx-platform:$libgdxVersion:natives-desktop"
|
|
implementation "com.badlogicgames.gdx:gdx-backend-lwjgl3:$libgdxVersion"
|
|
implementation "com.badlogicgames.gdx:gdx-box2d:$libgdxVersion"
|
|
implementation "com.badlogicgames.gdx:gdx-box2d-platform:$libgdxVersion:natives-desktop"
|
|
}
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
println "Building with sourceCompatibility = ${sourceCompatibility}, targetCompatibility = ${targetCompatibility}"
|
|
}
|