Autopack sprites when running
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 130 KiB |
@@ -1,6 +1,9 @@
|
|||||||
import com.badlogicgames.packr.Packr
|
import com.badlogicgames.packr.Packr
|
||||||
import com.badlogicgames.packr.PackrConfig
|
import com.badlogicgames.packr.PackrConfig
|
||||||
|
|
||||||
|
import java.nio.ByteBuffer
|
||||||
|
import java.security.MessageDigest
|
||||||
|
|
||||||
apply plugin: "java"
|
apply plugin: "java"
|
||||||
|
|
||||||
sourceCompatibility = 1.8
|
sourceCompatibility = 1.8
|
||||||
@@ -12,6 +15,27 @@ project.ext.assetsDir = new File("../core/assets")
|
|||||||
def enableTemplates = true
|
def enableTemplates = true
|
||||||
def JDK_DIR = "$System.env.JDK_DIR"
|
def JDK_DIR = "$System.env.JDK_DIR"
|
||||||
def ICON_DIR = new File("core/assets/icons/icon.icns")
|
def ICON_DIR = new File("core/assets/icons/icon.icns")
|
||||||
|
def spriteHashFile = new File(project.rootDir, "build/spritehash")
|
||||||
|
|
||||||
|
def hashDirectory = {
|
||||||
|
def root = new File(project.rootDir, "core/assets-raw/sprites/")
|
||||||
|
MessageDigest digest = MessageDigest.getInstance("MD5")
|
||||||
|
ByteBuffer buffer = ByteBuffer.allocate(16)
|
||||||
|
def files = []
|
||||||
|
root.eachFileRecurse{ file ->
|
||||||
|
files += file
|
||||||
|
}
|
||||||
|
|
||||||
|
files.sort()
|
||||||
|
|
||||||
|
for(File file : files){
|
||||||
|
buffer.position(0)
|
||||||
|
buffer.putLong(file.lastModified())
|
||||||
|
digest.update(buffer.array())
|
||||||
|
}
|
||||||
|
|
||||||
|
return digest.digest().encodeHex()
|
||||||
|
}
|
||||||
|
|
||||||
task run(dependsOn: classes, type: JavaExec){
|
task run(dependsOn: classes, type: JavaExec){
|
||||||
main = project.mainClassName
|
main = project.mainClassName
|
||||||
@@ -24,6 +48,14 @@ task run(dependsOn: classes, type: JavaExec){
|
|||||||
jvmArgs("-XstartOnFirstThread", "-Djava.awt.headless=true")
|
jvmArgs("-XstartOnFirstThread", "-Djava.awt.headless=true")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
spriteHashFile.parentFile.mkdirs()
|
||||||
|
|
||||||
|
String spriteHash = hashDirectory()
|
||||||
|
if(spriteHashFile.exists() && spriteHashFile.text != spriteHash){
|
||||||
|
dependsOn ":tools:pack"
|
||||||
|
}
|
||||||
|
spriteHashFile.text = spriteHash
|
||||||
|
|
||||||
if(project.hasProperty("args")){
|
if(project.hasProperty("args")){
|
||||||
args Eval.me(project.getProperties()["args"])
|
args Eval.me(project.getProperties()["args"])
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
org.gradle.daemon=true
|
org.gradle.daemon=true
|
||||||
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
||||||
archash=c3020adc9f3b6180662a1b8f9f3046b9266fe012
|
archash=b5b739a5e4a4eef3fee045944e220f40de0f6f85
|
||||||
|
|||||||
Reference in New Issue
Block a user