remove unofficial wallet rpcs binaries
This commit is contained in:
parent
492e48899d
commit
a3159e23c8
1 changed files with 0 additions and 116 deletions
116
build.gradle
116
build.gradle
|
@ -453,122 +453,6 @@ configure(project(':core')) {
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
}
|
}
|
||||||
|
|
||||||
task havenoDeps {
|
|
||||||
doLast {
|
|
||||||
// get monero binaries download url
|
|
||||||
Map moneroBinaries = [
|
|
||||||
'linux-x86_64' : 'https://github.com/haveno-dex/monero/releases/download/release4/monero-bins-haveno-linux-x86_64.tar.gz',
|
|
||||||
'linux-x86_64-sha256' : '0810808292fd5ad595a46a7fcc8ecb28d251d80f8d75c0e7a7d51afbeb413b68',
|
|
||||||
'linux-aarch64' : 'https://github.com/haveno-dex/monero/releases/download/release4/monero-bins-haveno-linux-aarch64.tar.gz',
|
|
||||||
'linux-aarch64-sha256' : '61222ee8e2021aaf59ab8813543afc5548f484190ee9360bc9cfa8fdf21cc1de',
|
|
||||||
'mac' : 'https://github.com/haveno-dex/monero/releases/download/release4/monero-bins-haveno-mac.tar.gz',
|
|
||||||
'mac-sha256' : '5debb8d8d8dd63809e8351368a11aa85c47987f1a8a8f2dcca343e60bcff3287',
|
|
||||||
'windows' : 'https://github.com/haveno-dex/monero/releases/download/release4/monero-bins-haveno-windows.zip',
|
|
||||||
'windows-sha256' : 'd7c14f029db37ae2a8bc6b74c35f572283257df5fbcc8cc97b704d1a97be9888'
|
|
||||||
]
|
|
||||||
|
|
||||||
String osKey
|
|
||||||
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
|
|
||||||
osKey = 'windows'
|
|
||||||
} else if (Os.isFamily(Os.FAMILY_MAC)) {
|
|
||||||
osKey = 'mac'
|
|
||||||
} else {
|
|
||||||
String architecture = System.getProperty("os.arch").toLowerCase()
|
|
||||||
if (architecture.contains('aarch64') || architecture.contains('arm')) {
|
|
||||||
osKey = 'linux-aarch64'
|
|
||||||
} else {
|
|
||||||
osKey = 'linux-x86_64'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String moneroDownloadUrl = moneroBinaries[osKey]
|
|
||||||
String moneroSHA256Hash = moneroBinaries[osKey + '-sha256']
|
|
||||||
String moneroArchiveFileName = moneroDownloadUrl.tokenize('/').last()
|
|
||||||
String localnetDirName = '.localnet'
|
|
||||||
File localnetDir = new File(project.rootDir, localnetDirName)
|
|
||||||
localnetDir.mkdirs()
|
|
||||||
File moneroArchiveFile = new File(localnetDir, moneroArchiveFileName)
|
|
||||||
ext.downloadAndVerifyDependencies(moneroDownloadUrl, moneroSHA256Hash, moneroArchiveFile)
|
|
||||||
|
|
||||||
// extract if dependencies are missing or if archive was updated
|
|
||||||
File monerodFile
|
|
||||||
File moneroRpcFile
|
|
||||||
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
|
|
||||||
monerodFile = new File(localnetDir, 'monerod.exe')
|
|
||||||
moneroRpcFile = new File(localnetDir, 'monero-wallet-rpc.exe')
|
|
||||||
} else {
|
|
||||||
monerodFile = new File(localnetDir, 'monerod')
|
|
||||||
moneroRpcFile = new File(localnetDir, 'monero-wallet-rpc')
|
|
||||||
}
|
|
||||||
if (ext.dependencyDownloadedAndVerified || !monerodFile.exists() || !moneroRpcFile.exists()) {
|
|
||||||
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
|
|
||||||
ext.extractArchiveZip(moneroArchiveFile, localnetDir)
|
|
||||||
} else {
|
|
||||||
ext.extractArchiveTarGz(moneroArchiveFile, localnetDir)
|
|
||||||
}
|
|
||||||
|
|
||||||
// add the current platform's monero dependencies into the resources folder for installation
|
|
||||||
copy {
|
|
||||||
from "${monerodFile}"
|
|
||||||
into "${project(':core').projectDir}/src/main/resources/bin"
|
|
||||||
}
|
|
||||||
copy {
|
|
||||||
from "${moneroRpcFile}"
|
|
||||||
into "${project(':core').projectDir}/src/main/resources/bin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ext.extractArchiveTarGz = { File tarGzFile, File destinationDir ->
|
|
||||||
println "Extracting tar.gz ${tarGzFile}"
|
|
||||||
// Gradle's tar extraction preserves permissions (crucial for jpackage to function correctly)
|
|
||||||
copy {
|
|
||||||
from tarTree(resources.gzip(tarGzFile))
|
|
||||||
into destinationDir
|
|
||||||
}
|
|
||||||
println "Extracted to ${destinationDir}"
|
|
||||||
}
|
|
||||||
|
|
||||||
ext.extractArchiveZip = { File zipFile, File destinationDir ->
|
|
||||||
println "Extracting zip ${zipFile}..."
|
|
||||||
ant.unzip(src: zipFile, dest: destinationDir)
|
|
||||||
println "Extracted to ${destinationDir}"
|
|
||||||
}
|
|
||||||
|
|
||||||
ext.downloadAndVerifyDependencies = { String archiveURL, String archiveSHA256, File destinationArchiveFile ->
|
|
||||||
ext.dependencyDownloadedAndVerified = false
|
|
||||||
|
|
||||||
// if archive exists, check to see if its already up to date
|
|
||||||
if (destinationArchiveFile.exists()) {
|
|
||||||
println "Verifying existing archive ${destinationArchiveFile}"
|
|
||||||
ant.archiveHash = archiveSHA256
|
|
||||||
ant.checksum(file: destinationArchiveFile, algorithm: 'SHA-256', property: '${archiveHash}', verifyProperty: 'existingHashMatches')
|
|
||||||
if (ant.properties['existingHashMatches'] != 'true') {
|
|
||||||
println "Existing archive does not match hash ${archiveSHA256}"
|
|
||||||
} else {
|
|
||||||
println "Existing archive matches hash"
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// download archives
|
|
||||||
println "Downloading ${archiveURL}"
|
|
||||||
ant.get(src: archiveURL, dest: destinationArchiveFile)
|
|
||||||
println 'Download saved to ' + destinationArchiveFile
|
|
||||||
|
|
||||||
// verify checksum
|
|
||||||
println 'Verifying checksum for downloaded binary ...'
|
|
||||||
ant.archiveHash = archiveSHA256
|
|
||||||
ant.checksum(file: destinationArchiveFile, algorithm: 'SHA-256', property: '${archiveHash}', verifyProperty: 'downloadedHashMatches') // use a different verifyProperty name from existing verification or it will always fail
|
|
||||||
if (ant.properties['downloadedHashMatches'] != 'true') {
|
|
||||||
ant.fail('Checksum mismatch: Downloaded archive has a different checksum than expected')
|
|
||||||
}
|
|
||||||
println 'Checksum verified'
|
|
||||||
ext.dependencyDownloadedAndVerified = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
processResources.dependsOn havenoDeps // before both test and build
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configure(project(':cli')) {
|
configure(project(':cli')) {
|
||||||
|
|
Loading…
Reference in a new issue