Skip to content

Commit

Permalink
gradle: Update to gradle 5.1.1 and fix build files
Browse files Browse the repository at this point in the history
  • Loading branch information
Narflex committed May 19, 2021
1 parent 9412206 commit 7d05076
Show file tree
Hide file tree
Showing 2 changed files with 79 additions and 68 deletions.
145 changes: 78 additions & 67 deletions build.gradle
Expand Up @@ -165,10 +165,13 @@ test {
*/
tasks.withType(JavaCompile) {
//options.fork=true
options.compilerArgs << "-sourcepath" << sourceSets.main.java.srcDirs.join(java.io.File.pathSeparator)
options.sourcepath = project.files([])
options.sourcepath.setFrom(sourceSets.main.java.srcDirs)
}

task miniclient(type: JavaCompile) << {
task miniclient(type: JavaCompile) {
doLast {
}
}

// remove the Sage.jar before updating it
Expand All @@ -181,7 +184,7 @@ task sageJar(type: Jar) {
description = 'Build the Sage.jar'
archiveName = sageJarName
destinationDir = file(sageJarDestinationDir)
from files(sourceSets.main.output.classesDir) {
from files(sourceSets.main.output.classesDirs) {
// exclude the Mac stuff for now
excludes = [
'sage/miniclient/**',
Expand Down Expand Up @@ -213,7 +216,7 @@ task cleanMiniJar(type: Delete) {
task miniclientJar(type: Jar) {
archiveName = miniJarName
destinationDir = file(miniJarDestinationDir)
from files(sourceSets.miniclient.output.classesDir) {
from files(sourceSets.miniclient.output.classesDirs) {
}

// Add in images and localization files
Expand All @@ -238,39 +241,41 @@ def linuxScript(String script) {
}

// currently Linux Only -- Need to look at supporting Windows
task(linuxMiniClientRelease) << {
if (!OperatingSystem.current().isLinux()) {
throw new GradleException('This target is not supported on Windows, yet.');
}
task(linuxMiniClientRelease) {
doLast {
if (!OperatingSystem.current().isLinux()) {
throw new GradleException('This target is not supported on Windows, yet.');
}

if (!(new File('build/so/libSage.so')).exists()) {
linuxScript('./buildso.sh');
}
if (!(new File('build/so/libSage.so')).exists()) {
linuxScript('./buildso.sh');
}

if (!(new File('build/elf/mplayer')).exists()) {
linuxScript('./build3rdparty.sh');
}
if (!(new File('build/elf/mplayer')).exists()) {
linuxScript('./build3rdparty.sh');
}

delete miniclientReleaseDestinationDir
delete miniclientReleaseDestinationDir

copy {
from('build/minirelease/MiniClient.jar') {
}
from('build/clientfiles/')
from 'third_party/swscale/libswscale.so'
copy {
from('build/minirelease/MiniClient.jar') {
}
from('build/clientfiles/')
from 'third_party/swscale/libswscale.so'

from('build/so/libSageX11.so') {
rename 'libSageX11.so', 'libSage.so'
}
from('build/so/libjtux.so')
from('build/so/libImageLoader.so')
from('build/elf/mplayer')
from('build/so/libSageX11.so') {
rename 'libSageX11.so', 'libSage.so'
}
from('build/so/libjtux.so')
from('build/so/libImageLoader.so')
from('build/elf/mplayer')

from(configurations.miniclientRuntime)
from(configurations.miniclientRuntime)

into(miniclientReleaseDestinationDir)
into(miniclientReleaseDestinationDir)

exclude '**/*-macosx-*', '**/*-solaris-*', '**/*-windows-*', '**/*-android-*', '**/*-linux-arm*'
exclude '**/*-macosx-*', '**/*-solaris-*', '**/*-windows-*', '**/*-android-*', '**/*-linux-arm*'
}
}
}

Expand All @@ -282,16 +287,18 @@ task sageJavadoc(type: Javadoc) {
/**
* Package SageTV jar and the STV together
*/
task(packageSageJar) << {
file(sageJarPackageDestinationDir).mkdirs();
task(packageSageJar) {
doLast {
file(sageJarPackageDestinationDir).mkdirs();

ant.zip(destfile: new File(sageJarPackageDestinationDir, "SageJar-${baseVersion}.zip").getAbsolutePath()) {
fileset(dir: sageJarDestinationDir) {
include(name: '*.jar')
}
zipfileset(dir: 'stvs/SageTV7', prefix: 'STVs/SageTV7/') {
include(name: 'SageTV7.xml')
ant.zip(destfile: new File(sageJarPackageDestinationDir, "SageJar-${baseVersion}.zip").getAbsolutePath()) {
fileset(dir: sageJarDestinationDir) {
include(name: '*.jar')
}
zipfileset(dir: 'stvs/SageTV7', prefix: 'STVs/SageTV7/') {
include(name: 'SageTV7.xml')

}
}
}
}
Expand Down Expand Up @@ -340,47 +347,51 @@ def getBuildNumber() {
* Task to update the build number in SageConstants based on the # of git commits
* Not sure I like it, yet.
*/
task(updateBuildNumber) << {
buildVersion = getBuildNumber()
task(updateBuildNumber) {
doLast {
buildVersion = getBuildNumber()

def file = new File('java/sage/SageConstants.java');
def fileBak = new File('java/sage/SageConstants.java.bak');
def file = new File('java/sage/SageConstants.java');
def fileBak = new File('java/sage/SageConstants.java.bak');

if (!fileBak.exists()) {
fileBak.text = file.text
System.out.println("Backed up ${file}")
}
if (!fileBak.exists()) {
fileBak.text = file.text
System.out.println("Backed up ${file}")
}

// update SageConstants.java
ant.replaceregexp(
file: 'java/sage/SageConstants.java',
match: "public static final int BUILD_VERSION = [0-9]+;",
replace: "public static final int BUILD_VERSION = ${buildVersion};"
)
// update SageConstants.java
ant.replaceregexp(
file: 'java/sage/SageConstants.java',
match: "public static final int BUILD_VERSION = [0-9]+;",
replace: "public static final int BUILD_VERSION = ${buildVersion};"
)

// reupdate these values since buildVersion changes
baseVersion = "${majorVersion}.${minorVersion}.${microVersion}.${buildVersion}"
versionArch = "${baseVersion}_" + (arch == 64 ? 'amd64' : 'i386')
// reupdate these values since buildVersion changes
baseVersion = "${majorVersion}.${minorVersion}.${microVersion}.${buildVersion}"
versionArch = "${baseVersion}_" + (arch == 64 ? 'amd64' : 'i386')

System.out.println("SAGETV VERSION ${versionArch}");
System.out.println("SAGETV VERSION ${versionArch}");

// save buildnumber to file
// we'll be referencing it later
// Eventually we'll do this, but for now, fetch it every time
// new File('.buildnumber').write(buildVersion)
// save buildnumber to file
// we'll be referencing it later
// Eventually we'll do this, but for now, fetch it every time
// new File('.buildnumber').write(buildVersion)
}
}

/**
* restore the SageConstants.java that was modified during updateBuildNumber
*/
task(restoreSageConstants) << {
def file = new File('java/sage/SageConstants.java');
def fileBak = new File('java/sage/SageConstants.java.bak');

if (fileBak.exists()) {
file.text = fileBak.text
System.out.println("Restored ${file}");
fileBak.deleteOnExit()
task(restoreSageConstants) {
doLast {
def file = new File('java/sage/SageConstants.java');
def fileBak = new File('java/sage/SageConstants.java.bak');

if (fileBak.exists()) {
file.text = fileBak.text
System.out.println("Restored ${file}");
fileBak.deleteOnExit()
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.6-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

0 comments on commit 7d05076

Please sign in to comment.