mirror of
https://github.com/xpipe-io/xpipe.git
synced 2024-11-25 09:00:26 +00:00
3e7fbe89ac
The changes have been squashed as the commit history and messages were not very carefully crafted. There isn't that much value in preserving random commit messages. Also due to diverging branches, rebasing or merging it was difficult.
92 lines
2.7 KiB
Groovy
92 lines
2.7 KiB
Groovy
|
|
plugins {
|
|
id 'org.beryx.jlink' version '3.0.1'
|
|
id "org.asciidoctor.jvm.convert" version "3.3.2"
|
|
id 'org.jreleaser' version '1.8.0'
|
|
id("com.netflix.nebula.ospackage") version "11.4.0"
|
|
id 'org.gradle.crypto.checksum' version '1.4.0'
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
task dist(type: DefaultTask) {}
|
|
|
|
|
|
distTar {
|
|
enabled = false;
|
|
}
|
|
|
|
distZip {
|
|
enabled = false;
|
|
}
|
|
|
|
|
|
import org.gradle.crypto.checksum.Checksum
|
|
|
|
import java.util.stream.Collectors
|
|
|
|
def distDir = layout.buildDirectory.get().dir('dist')
|
|
task createChecksums(type: Checksum) {
|
|
inputFiles.setFrom(distDir.dir('artifacts').getAsFileTree().files)
|
|
outputDirectory.set(layout.buildDirectory.dir("dist/checksums/artifacts"))
|
|
checksumAlgorithm.set(Checksum.Algorithm.SHA256)
|
|
|
|
doLast {
|
|
def artifactChecksumsSha256Hex = new HashMap<String, String>()
|
|
for (final def file in outputDirectory.get().getAsFileTree().files) {
|
|
if (file.toString().endsWith('mapping.map')) {
|
|
continue
|
|
}
|
|
|
|
def name = file.name.lastIndexOf('.').with {it != -1 ? file.name[0..<it] : file.name}
|
|
artifactChecksumsSha256Hex.put(name, file.text.trim())
|
|
}
|
|
|
|
file(layout.buildDirectory.dir("dist/checksums/sha256sums.txt")).text = artifactChecksumsSha256Hex.entrySet().stream()
|
|
.map(e -> e.getValue() + ' ' + e.getKey())
|
|
.collect(Collectors.joining('\n'))
|
|
}
|
|
}
|
|
|
|
def getArtifactChecksumSha256Hex(String name) {
|
|
var file = layout.buildDirectory.file("dist/checksums/artifacts/${name}.sha256")
|
|
return file.get().getAsFile().exists() ? file.get().getAsFile().text : "";
|
|
}
|
|
|
|
def getArtifactChecksumSha256Base64(String name) {
|
|
return Base64.getEncoder().encodeToString(HexFormat.of().parseHex(getArtifactChecksumSha256Hex(name)))
|
|
}
|
|
|
|
clean {
|
|
doFirst {
|
|
// Fix clean failing when file is read-only
|
|
if (file("$distDir").exists()) {
|
|
file("$distDir").traverse { f -> if (f.exists() && f.isFile()) f.writable = true }
|
|
}
|
|
}
|
|
}
|
|
|
|
apply from: 'base.gradle'
|
|
apply from: 'jpackage.gradle'
|
|
|
|
if (rootProject.fullVersion) {
|
|
apply from: 'cli.gradle'
|
|
apply from: 'portable.gradle'
|
|
apply from: 'proguard.gradle'
|
|
|
|
if (org.gradle.internal.os.OperatingSystem.current().isLinux()) {
|
|
apply from: 'linux_packages.gradle'
|
|
} else if (org.gradle.internal.os.OperatingSystem.current().isWindows()) {
|
|
apply from: 'msi.gradle'
|
|
} else if (org.gradle.internal.os.OperatingSystem.current().isMacOsX()) {
|
|
apply from: 'pkg.gradle'
|
|
}
|
|
|
|
apply from: 'jreleaser.gradle'
|
|
apply from: 'aur.gradle'
|
|
apply from: 'nix.gradle'
|
|
apply from: 'choco.gradle'
|
|
apply from: 'install.gradle'
|
|
}
|