diff --git a/build.gradle b/build.gradle index 7b31499676a2bda97e22d296f10208da78cdb1fc..de744c1ab3fb604d85fb320f1e612af3bcd04dae 100644 --- a/build.gradle +++ b/build.gradle @@ -201,29 +201,35 @@ task prepareJsonAssets(dependsOn: prepareAssets) { } } -task copyDefaulAssets(){ -} - - -task prepareHdAssets(dependsOn: [prepareAssets, prepareSoundAssets, prepareJsonAssets]) { +task prepareHdAssets(dependsOn: prepareAssets) { def sourceDir = new File("${buildDir}/${assetsDirName}/src/") + def assetsDir = new File("${buildDir}/${assetsDirName}/") def hdSourceDir = new File(project(":desktop").projectDir.absolutePath + "/${assetsDirName}/${assetsHdDirName}") - inputs.dir(sourceDir.absolutePath) + inputs.dir(hdSourceDir.absolutePath) outputs.dir("${buildDir}/${assetsDirName}/${assetsHdDirName}/${assetsSourceDirName}/") - outputs.upToDateWhen { false } doLast { if (project.hasProperty('TABLEXIA_HD_ASSETS') && Boolean.valueOf(TABLEXIA_HD_ASSETS).booleanValue()) { - - task("copyingDefaultDest", type: Copy) { - from buildDir.absolutePath + "/${assetsDirName}/${assetsDestinationDirName}/" - into buildDir.absolutePath + "/${assetsDirName}/${assetsHdDirName}/${assetsDestinationDirName}/" - }.execute() - + new File("${assetsDir}/${assetsSourceDirName}/").eachDir() { langDir -> + langDir.eachDir() { sectionDir -> + sectionDir.eachDir() { atlasDir -> + task("${name}_sounds_" + sectionDir.name + "_" + atlasDir.name + "_" + langDir.name, type: Copy) { + from atlasDir + into "${buildDir}/${assetsDirName}/${assetsHdDirName}/${assetsDestinationDirName}/${langDir.name}/${sectionDir.name}/${atlasDir.name}/" + include '**/*.mp3', '**/*.json' + includeEmptyDirs false + eachFile { FileCopyDetails fcd -> + fcd.setPath(fcd.getRelativePath().toString().replace('/', '.')) + } + outputs.upToDateWhen { false } + }.execute() + } + } + } sourceDir.eachDir() { dir -> @@ -328,9 +334,8 @@ task zipAssets(dependsOn: [prepareSoundAssets, prepareGraphicAssets, prepareJson task prepareHdGraphicAssets(dependsOn: prepareHdAssets) { def assetsDir = new File("${buildDir}/${assetsDirName}/${assetsHdDirName}/") - inputs.dir("${assetsDir.absolutePath}/${assetsHdDirName}/${assetsSourceDirName}/") - outputs.dir("${assetsDir.absolutePath}/${assetsHdDirName}/${assetsDestinationDirName}/") - outputs.upToDateWhen { false } + inputs.dir("${assetsDir.absolutePath}/${assetsSourceDirName}/") + outputs.dir("${assetsDir.absolutePath}/${assetsDestinationDirName}/") doLast { if (project.hasProperty('TABLEXIA_HD_ASSETS') && Boolean.valueOf(TABLEXIA_HD_ASSETS).booleanValue()) { @@ -390,13 +395,6 @@ task prepareHdGraphicAssets(dependsOn: prepareHdAssets) { } task zipHdAssets(dependsOn: prepareHdGraphicAssets) { - - def assetsDir = new File("${buildDir}/${assetsDirName}/") - - inputs.dir("${assetsDir.absolutePath}/${assetsHdDirName}/${assetsSourceDirName}/") - outputs.dir("${assetsDir.absolutePath}/${assetsHdDirName}/${assetsDestinationDirName}/") - outputs.upToDateWhen { false } - doLast { if (project.hasProperty('TABLEXIA_HD_ASSETS') && Boolean.valueOf(TABLEXIA_HD_ASSETS).booleanValue()) { new File(project(":core").projectDir.absolutePath + "/${assetsDirName}/").eachDir() { dir -> @@ -448,17 +446,23 @@ task processAssets(dependsOn: [':util:checksum:runChecksum', ':util:checksum:run task prepareHdPack(dependsOn: [':util:checksum:runHdChecksum', ':util:checksum:runHdAssetsArchivesChecksum']) { doLast { //prepare and upload hd packs - if (project.hasProperty('TABLEXIA_HD_ASSETS_UPLOAD_USER') && project.hasProperty('TABLEXIA_ASSETS_UPLOAD_URL') && project.hasProperty('TABLEXIA_ASSETS_UPLOAD') && Boolean.valueOf(TABLEXIA_ASSETS_UPLOAD).booleanValue()) { + if (project.hasProperty('TABLEXIA_HD_ASSETS') && + project.hasProperty('TABLEXIA_ASSETS_UPLOAD_USER') && + project.hasProperty('TABLEXIA_ASSETS_UPLOAD_URL') && + project.hasProperty('TABLEXIA_ASSETS_UPLOAD') && + Boolean.valueOf(TABLEXIA_ASSETS_UPLOAD).booleanValue() && + Boolean.valueOf(TABLEXIA_HD_ASSETS).booleanValue()) { + def data = new URL(project.assetsDownloadUrl).getText() rootProject.ext.assetsHdPackDir.eachFile() { file -> String fileName = file.getName() - String[] fileNameParts = fileName.split("_SNAPSHOT\\."); - String packageName = "${fileNameParts[0]}_${assetsHdChecksum[fileNameParts[0]]}.${fileNameParts[1]}"; + String[] fileNameParts = fileName.split("_SNAPSHOT"); + String packageName = "${fileNameParts[0]}_${assetsHdChecksum[fileNameParts[0]]}${fileNameParts[1]}"; if (!data.contains(packageName)) { - String assetsUploadPath = "${project.assetsUploadURL}${packageName}" + String assetsUploadPath = "${project.assetsDebugURLPart}${packageName}" println "AssetsUploader: UPLOADING FILE: ${project.assetsDebugURLPart}${packageName}" - task ("${name}_${packageName}", type:Exec) { + task("${name}_${packageName}", type: Exec) { workingDir "${rootProject.projectDir}" commandLine 'scp', file.getAbsolutePath(), assetsUploadPath standardOutput = new ByteArrayOutputStream() @@ -571,6 +575,7 @@ def getMapConvertedToString(Map map) { project(":desktop") { apply plugin: "java" + tasks.processResources.dependsOn prepareHdPack dependencies { compile project(":core") @@ -623,7 +628,6 @@ project(":core") { sourceSets.test.java.srcDirs = ["test/"] tasks.processResources.dependsOn processAssets - tasks.processResources.dependsOn prepareHdPack dependencies { compile project(":util:checksum") diff --git a/desktop/build.gradle b/desktop/build.gradle index b27c1998b53382c1852ecbe8373ca38563f706bf..ac745182385d0053764d8f33137d04dbc5e3c7f9 100644 --- a/desktop/build.gradle +++ b/desktop/build.gradle @@ -1,3 +1,5 @@ +import com.badlogic.gdx.graphics.Texture +import com.badlogic.gdx.tools.texturepacker.TexturePacker import edu.sc.seis.launch4j.tasks.Launch4jLibraryTask import groovy.io.FileType import org.apache.tools.ant.filters.ReplaceTokens diff --git a/util/checksum/build.gradle b/util/checksum/build.gradle index 9b1ff5267ab3fc3b7b5f39c093eb7c6a2af2461b..29f8dcd98d242f40cd5d4f510ab159865aa7152f 100644 --- a/util/checksum/build.gradle +++ b/util/checksum/build.gradle @@ -66,43 +66,47 @@ task runAssetsArchivesChecksum(dependsOn: [classes, rootProject.tasks.zipAssets] task runHdChecksum(dependsOn: [classes, rootProject.tasks.prepareHdGraphicAssets]) { doLast { - def sourceDir = new File("${rootProject.buildDir}/assets/hd/dest/") - sourceDir.eachDir() { dir -> - String dirName = dir.getName() - task("${name}_${dirName}", type: JavaExec) { - main = MAIN_CLASS - args = [dir] - classpath sourceSets.main.output.classesDir - classpath += sourceSets.main.runtimeClasspath - def stdout = new ByteArrayOutputStream() - standardOutput = stdout - - doLast { - rootProject.ext.assetsHdChecksum[dirName] = stdout.toString().trim() - } - }.execute() - } - } -} - -task runHdAssetsArchivesChecksum(dependsOn: [classes, rootProject.tasks.zipHdAssets]) { - doLast { - rootProject.ext.assetsHdPackDir.eachFile() { file -> - String fileName = file.getName() - if (fileName.endsWith(".zip")) { - task("${name}_${fileName}", type: JavaExec) { + if (project.hasProperty("TABLEXIA_HD_ASSETS") && Boolean.valueOf(TABLEXIA_HD_ASSETS).booleanValue()) { + def sourceDir = new File("${rootProject.buildDir}/assets/hd/dest/") + sourceDir.eachDir() { dir -> + String dirName = dir.getName() + task("${name}_${dirName}", type: JavaExec) { main = MAIN_CLASS - args = [file] + args = [dir] classpath sourceSets.main.output.classesDir classpath += sourceSets.main.runtimeClasspath def stdout = new ByteArrayOutputStream() standardOutput = stdout doLast { - (new File("${assetsHdPackDir.getAbsolutePath()}/${fileName.split("\\.")[0]}.checksum")).write(stdout.toString().trim()); + rootProject.ext.assetsHdChecksum[dirName] = stdout.toString().trim() } }.execute() } } } +} + +task runHdAssetsArchivesChecksum(dependsOn: [classes, rootProject.tasks.zipHdAssets]) { + doLast { + if (project.hasProperty("TABLEXIA_HD_ASSETS") && Boolean.valueOf(TABLEXIA_HD_ASSETS).booleanValue()) { + rootProject.ext.assetsHdPackDir.eachFile() { file -> + String fileName = file.getName() + if (fileName.endsWith(".zip")) { + task("${name}_${fileName}", type: JavaExec) { + main = MAIN_CLASS + args = [file] + classpath sourceSets.main.output.classesDir + classpath += sourceSets.main.runtimeClasspath + def stdout = new ByteArrayOutputStream() + standardOutput = stdout + + doLast { + (new File("${assetsHdPackDir.getAbsolutePath()}/${fileName.split("\\.")[0]}.checksum")).write(stdout.toString().trim()); + } + }.execute() + } + } + } + } } \ No newline at end of file