mirror of
https://github.com/bitcoinj/bitcoinj.git
synced 2024-11-20 02:09:29 +01:00
47660f6418
This commit contains rather hard to review diffs to the protobuf test datasets in .txt format. To aid the review, this Python script can be used to convert the data from the old to the new format: ``` import sys file = open(sys.argv[1]) outfile = open(sys.argv[1] + ".lite", "w") line = file.readline() lines = [] def sortAndPrint(group, removeLastLB=False, removeFirstLB=False): group.sort() if removeFirstLB and group[0] == "\n": group.remove("\n") for i in range(len(group)): if i == len(group) - 1 and removeLastLB: group[i] = group[i].rstrip() print(group[i], end="", file=outfile) def sign32neg(value): if 0x80000000 <= value <= 0xFFFFFFFF: value &= 0x7FFFFFFF value = int(value) value = ~value value ^= 0x7FFFFFFF return value def processPath(path): parts = path.rstrip().split(":") number = int(parts[1].lstrip()) if number >= 0x80000000: number = sign32neg(number) return parts[0] + ": " + str(number) + "\n" groupcount = 0 while len(line) > 0: if line.startswith("type:"): if len(lines): sortAndPrint(lines, removeFirstLB=groupcount==0) groupcount += 1 lines.clear() lines.append(line) elif line.find("deterministic_key {") != -1: structure = line innerlines = [] line = file.readline() while not line.startswith('}'): if line.find("path") != -1: # preserve order of paths pathlines = processPath(line) line = file.readline() if line.startswith('}'): innerlines.append(pathlines) continue while line.find("path") != -1: pathlines += processPath(line) line = file.readline() innerlines.append(pathlines) if line.startswith('}'): continue if line.startswith(" sigsRequiredToSpend"): line = line.replace("sigsRequiredToSpend", "sigs_required_to_spend") innerlines.append(line) line = file.readline() innerlines.sort() for l in innerlines: structure += l structure += line.rstrip() + "\n" lines.append(structure) elif line.find("path") != -1: # preserve order of paths accountpathlines = processPath(line) line = file.readline() while line.find("path") != -1: accountpathlines += processPath(line) line = file.readline() lines.append(accountpathlines) lines.append(line) else: lines.append(line) line = file.readline() print(file=outfile) sortAndPrint(lines, removeLastLB=True) file.close() outfile.close() ```
82 lines
2.1 KiB
Groovy
82 lines
2.1 KiB
Groovy
plugins {
|
|
id 'java-library'
|
|
id 'com.google.protobuf'
|
|
id 'maven-publish'
|
|
id 'eclipse'
|
|
}
|
|
|
|
version = '0.16-SNAPSHOT'
|
|
|
|
dependencies {
|
|
api 'org.bouncycastle:bcprov-jdk15to18:1.68'
|
|
api 'com.google.guava:guava:30.0-android'
|
|
api 'com.google.protobuf:protobuf-javalite:3.13.0'
|
|
api 'com.squareup.okhttp3:okhttp:3.12.12'
|
|
implementation 'org.slf4j:slf4j-api:1.7.32'
|
|
implementation 'net.jcip:jcip-annotations:1.0'
|
|
compileOnly 'org.fusesource.leveldbjni:leveldbjni-all:1.8'
|
|
testImplementation 'junit:junit:4.13.1'
|
|
testImplementation 'org.easymock:easymock:3.2'
|
|
testImplementation 'com.fasterxml.jackson.core:jackson-databind:2.5.2'
|
|
testImplementation 'org.slf4j:slf4j-jdk14:1.7.32'
|
|
testImplementation 'com.h2database:h2:1.3.167'
|
|
testImplementation 'org.fusesource.leveldbjni:leveldbjni-all:1.8'
|
|
testImplementation 'nl.jqno.equalsverifier:equalsverifier:2.5.2'
|
|
testImplementation 'org.hamcrest:hamcrest-library:1.3'
|
|
}
|
|
|
|
sourceCompatibility = 1.7
|
|
compileJava.options.encoding = 'UTF-8'
|
|
compileTestJava.options.encoding = 'UTF-8'
|
|
javadoc.options.encoding = 'UTF-8'
|
|
|
|
protobuf {
|
|
protoc {
|
|
artifact = 'com.google.protobuf:protoc:3.13.0'
|
|
}
|
|
generateProtoTasks {
|
|
all().each { task ->
|
|
task.builtins {
|
|
java {
|
|
option "lite"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
generatedFilesBaseDir = new File(projectDir, '/src') // workaround for '$projectDir/src'
|
|
}
|
|
|
|
test {
|
|
exclude 'org/bitcoinj/core/PeerTest*'
|
|
exclude 'org/bitcoinj/core/TransactionBroadcastTest*'
|
|
exclude 'org/bitcoinj/net/discovery/DnsDiscoveryTest*'
|
|
testLogging {
|
|
events "failed"
|
|
exceptionFormat "full"
|
|
}
|
|
}
|
|
|
|
ext.moduleName = 'org.bitcoinj.core'
|
|
|
|
jar {
|
|
inputs.property("moduleName", moduleName)
|
|
manifest {
|
|
attributes 'Automatic-Module-Name': moduleName
|
|
}
|
|
}
|
|
|
|
task javadocJar(type: Jar, dependsOn: javadoc) {
|
|
classifier = 'javadoc'
|
|
from javadoc.destinationDir
|
|
}
|
|
|
|
task sourcesJar(type: Jar, dependsOn: classes) {
|
|
classifier = 'sources'
|
|
from sourceSets.main.allSource
|
|
}
|
|
|
|
artifacts {
|
|
archives sourcesJar
|
|
archives javadocJar
|
|
}
|