2019-09-23 00:09:58 +03:00
|
|
|
import org.doomedsociety.gradlecpp.GradleCppUtils
|
|
|
|
import org.apache.commons.io.FilenameUtils
|
|
|
|
|
|
|
|
void _copyFileToDir(String from, String to) {
|
|
|
|
if (!project.file(from).exists()) {
|
|
|
|
println 'WARNING: Could not find: ' + from;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!project.file(to).exists()) {
|
|
|
|
project.file(to).mkdirs();
|
|
|
|
}
|
|
|
|
|
|
|
|
def dst = new File(project.file(to), FilenameUtils.getName(from))
|
|
|
|
GradleCppUtils.copyFile(project.file(from), dst, false)
|
|
|
|
}
|
|
|
|
|
|
|
|
void _copyFile(String from, String to) {
|
|
|
|
if (!project.file(from).exists()) {
|
|
|
|
println 'WARNING: Could not find: ' + from;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
GradleCppUtils.copyFile(project.file(from), project.file(to), false)
|
|
|
|
}
|
|
|
|
|
|
|
|
task publishPrepareFiles {
|
|
|
|
doLast {
|
|
|
|
def pubRootDir = project.file('publish/publishRoot')
|
|
|
|
if (pubRootDir.exists()) {
|
|
|
|
if (!pubRootDir.deleteDir()) {
|
|
|
|
throw new RuntimeException("Failed to delete ${pubRootDir}")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
pubRootDir.mkdirs()
|
|
|
|
project.file('publish/publishRoot/bin/win32/cstrike/dlls').mkdirs()
|
|
|
|
project.file('publish/publishRoot/bin/linux32/cstrike/dlls').mkdirs()
|
|
|
|
|
|
|
|
// bugfixed binaries
|
|
|
|
_copyFile('publish/releaseRegamedllFixes/mp.dll', 'publish/publishRoot/bin/win32/cstrike/dlls/mp.dll')
|
|
|
|
_copyFile('publish/releaseRegamedllFixes/cs.so', 'publish/publishRoot/bin/linux32/cstrike/dlls/cs.so')
|
|
|
|
|
|
|
|
// copy files from folder dist
|
|
|
|
copy {
|
|
|
|
from('dist')
|
|
|
|
into 'publish/publishRoot/bin/win32/cstrike'
|
|
|
|
}
|
|
|
|
|
|
|
|
copy {
|
|
|
|
from('dist')
|
|
|
|
into 'publish/publishRoot/bin/linux32/cstrike'
|
|
|
|
}
|
|
|
|
|
|
|
|
// cssdk
|
|
|
|
project.file('publish/publishRoot/cssdk').mkdirs()
|
|
|
|
copy {
|
|
|
|
from 'regamedll/extra/cssdk'
|
|
|
|
into 'publish/publishRoot/cssdk'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
task publishPackage(type: Zip, dependsOn: 'publishPrepareFiles') {
|
|
|
|
baseName = "regamedll-dist-${project.version}"
|
|
|
|
destinationDir file('publish')
|
|
|
|
from 'publish/publishRoot'
|
|
|
|
}
|
|
|
|
|
|
|
|
publishing {
|
|
|
|
publications {
|
|
|
|
maven(MavenPublication) {
|
|
|
|
version project.version
|
|
|
|
artifact publishPackage
|
|
|
|
|
|
|
|
pom.withXml {
|
|
|
|
asNode().children().last() + {
|
|
|
|
resolveStrategy = DELEGATE_FIRST
|
|
|
|
name project.name
|
|
|
|
description project.description
|
|
|
|
properties {
|
|
|
|
commitDate project.ext.regamedllVersionInfo.commitDate
|
|
|
|
commitSHA project.ext.regamedllVersionInfo.commitSHA
|
|
|
|
}
|
|
|
|
|
|
|
|
//url github
|
|
|
|
//scm {
|
|
|
|
// url "${github}.git"
|
|
|
|
// connection "scm:git:${github}.git"
|
|
|
|
//}
|
|
|
|
/*
|
|
|
|
licenses {
|
|
|
|
license {
|
|
|
|
name 'The Apache Software License, Version 2.0'
|
|
|
|
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
|
|
|
distribution 'repo'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
developers {
|
|
|
|
developer {
|
|
|
|
id 'dreamstalker'
|
|
|
|
name 'dreamstalker'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Properties repoCreds = new Properties()
|
|
|
|
project.ext.repoCreds = repoCreds
|
|
|
|
if (file('repo_creds.properties').exists()) {
|
|
|
|
println 'Loading maven repo credentials'
|
|
|
|
file('repo_creds.properties').withReader('UTF-8', { Reader r ->
|
|
|
|
repoCreds.load(r)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
publishing {
|
|
|
|
repositories {
|
|
|
|
maven {
|
|
|
|
if (project.version.contains('dev')) {
|
|
|
|
url "http://nexus.rehlds.org/nexus/content/repositories/regamedll-dev/"
|
|
|
|
} else {
|
|
|
|
url "http://nexus.rehlds.org/nexus/content/repositories/regamedll-releases/"
|
|
|
|
}
|
|
|
|
credentials {
|
|
|
|
username repoCreds.getProperty('username')
|
|
|
|
password repoCreds.getProperty('password')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
task doPublish {
|
|
|
|
dependsOn 'publishPackage'
|
|
|
|
if (repoCreds.getProperty('username') && repoCreds.getProperty('password')) {
|
|
|
|
dependsOn 'publish'
|
|
|
|
}
|
|
|
|
}
|