Compare commits

...

1 commit

Author SHA1 Message Date
d63d1d996c update to unofficial_38
some slightly different patching requirements
2022-01-20 19:18:24 -08:00
6 changed files with 170 additions and 36 deletions

View file

@ -2,18 +2,14 @@ stages:
- build - build
variables: variables:
version: "v2.15.3_unofficial_34" version: "v2.15.3_unofficial_38"
GRADLE_OPTS: -Dorg.gradle.daemon=false GRADLE_OPTS: -Dorg.gradle.daemon=false
build: build:
image: gradle:7.2 image: gradle:7.2
stage: build stage: build
script: script:
- git clone https://github.com/Turasa/libsignal-service-java - ./build.sh
- cd libsignal-service-java && git checkout "$version"
- git config user.email nobody@signald.org && git config user.name signald
- git am ../libsignal-service-java.patch
- gradle assemble publish
parallel: parallel:
matrix: matrix:
- TARGET: - TARGET:
@ -27,10 +23,6 @@ build x86_64-apple-darwin:
stage: build stage: build
tags: [darwin-builder] tags: [darwin-builder]
script: script:
- git clone https://github.com/Turasa/libsignal-service-java - ./build.sh
- cd libsignal-service-java && git checkout "$version"
- git config user.email nobody@signald.org && git config user.name signald
- git am ../libsignal-service-java.patch
- ./gradlew assemble publish
variables: variables:
TARGET: x86_64-apple-darwin TARGET: x86_64-apple-darwin

10
build.sh Executable file
View file

@ -0,0 +1,10 @@
#!/bin/bash
set -exuo pipefail
git clone https://github.com/Turasa/libsignal-service-java.git
cd libsignal-service-java
git config user.email nobody@signald.org
git config user.name signald
git am ../libsignal-service-java.patch
python3 ../update-verification-metadata.py
git diff --color=always
gradle assemble publish || (gradle --write-verification-metadata sha256 && git diff --color=always && exit 1)

26
hashes.json Normal file
View file

@ -0,0 +1,26 @@
{
"aarch64-unknown-linux-gnu": {
"jar": "842116b54ce7a64e7d1a2f5b95e089c274ab35fee45f0e108864b9a6bb47b5db",
"module": "30bb4de626a589810b6f01aede8be1d3df1d3adb01d674fc1ba75ee93ed0fa69"
},
"arm-unknown-linux-gnueabi": {
"jar": "5178c42d4347d727da39f34659c8b964befb9d82225ea069d91517397b638ace",
"module": "b60d58873960d1bede4704ca6c07801cc1ca95543cc04da683aa228d6c35dbdc"
},
"arm-unknown-linux-gnueabihf": {
"jar": "b5f8779a593c0fe37169a884eccbc0a70b8c55c0e389a0bace5e466e379af367",
"module": "dbda76abc260ad88d9cc4986f37f0327ed79fb1a12d0b9f397793ad2004f4e65"
},
"armv7-unknown-linux-gnueabihf": {
"jar": "b60df2af653e37cdb858fa844c49b81d568be9d158e6bcf9a99584f2a9fd9463",
"module": "135d0a143b581407a4f04d50460f497a7302d46aa9bc532fa9a1d039e60007d2"
},
"x86_64-unknown-linux-gnu": {
"jar": "b7ac682938e12f3b2b9f88a5ad7bd843d86abc4368742e404bc8d1b9e4fc6de5",
"module": "224b6332067e77650065e6dbd4f6b2d8eed1f4830bcf0e4ab31d3c4483352f0c"
},
"x86_64-apple-darwin": {
"jar": "7d22516d32ab6be5648d4b2d728daafa755ac188f0880a99c956265e175e7840",
"module": "efa44dab7df24db4d60030ed613c17bff9f439bc7797124db8cdc18b177acc8f"
}
}

View file

@ -1,17 +1,18 @@
From 9c663c86765a9a0b2950ae8850bffc9fe4abe335 Mon Sep 17 00:00:00 2001 From 15483c7c0a29067bad3752cdaa12634beb351995 Mon Sep 17 00:00:00 2001
From: finn <finn@janky.solutions> From: signald <nobody@signald.org>
Date: Thu, 18 Nov 2021 18:55:31 -0800 Date: Sat, 15 Jan 2022 17:34:03 -0800
Subject: [PATCH] update gradle files Subject: [PATCH] update gradle files
--- ---
build.gradle | 10 +--------- build.gradle | 18 +++---------------
dependencies.gradle | 3 +-- dependencies.gradle | 3 +--
service/build.gradle | 21 ++++++++++----------- gradle/verification-metadata.xml | 12 +++++++++---
settings.gradle | 2 +- service/build.gradle | 24 +++++++++++-------------
4 files changed, 13 insertions(+), 23 deletions(-) settings.gradle | 1 -
5 files changed, 24 insertions(+), 34 deletions(-)
diff --git a/build.gradle b/build.gradle diff --git a/build.gradle b/build.gradle
index 5a4cded..a1d8d70 100644 index 818516d..2083332 100644
--- a/build.gradle --- a/build.gradle
+++ b/build.gradle +++ b/build.gradle
@@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
@ -21,7 +22,20 @@ index 5a4cded..a1d8d70 100644
google() google()
mavenCentral() mavenCentral()
} }
@@ -23,15 +24,6 @@ def getRepositoryPassword() { @@ -9,11 +10,7 @@ buildscript {
}
}
-plugins {
- id("io.github.gradle-nexus.publish-plugin") version "1.1.0"
-}
-
-project.group = "com.github.turasa"
+project.group = "org.signald"
def getRepositoryUsername() {
return hasProperty('whisperSonatypeUsername') ? whisperSonatypeUsername : ""
@@ -23,18 +20,9 @@ def getRepositoryPassword() {
return hasProperty('whisperSonatypePassword') ? whisperSonatypePassword : "" return hasProperty('whisperSonatypePassword') ? whisperSonatypePassword : ""
} }
@ -35,10 +49,14 @@ index 5a4cded..a1d8d70 100644
-} -}
- -
subprojects { subprojects {
ext.lib_signal_service_version_number = "2.15.3_unofficial_34" ext.lib_signal_service_version_number = "2.15.3_unofficial_38"
ext.lib_signal_service_group_info = "com.github.turasa" - ext.lib_signal_service_group_info = "com.github.turasa"
+ ext.lib_signal_service_group_info = "org.signald"
if (JavaVersion.current().isJava8Compatible()) {
allprojects {
diff --git a/dependencies.gradle b/dependencies.gradle diff --git a/dependencies.gradle b/dependencies.gradle
index c1288ca..fc83d0f 100644 index c3a0278..b28c32d 100644
--- a/dependencies.gradle --- a/dependencies.gradle
+++ b/dependencies.gradle +++ b/dependencies.gradle
@@ -8,8 +8,7 @@ dependencyResolutionManagement { @@ -8,8 +8,7 @@ dependencyResolutionManagement {
@ -50,12 +68,42 @@ index c1288ca..fc83d0f 100644
+ alias('signal-client-java').to('org.whispersystems', 'signal-client-java-' + System.getenv("TARGET")).versionRef('signal-client') + alias('signal-client-java').to('org.whispersystems', 'signal-client-java-' + System.getenv("TARGET")).versionRef('signal-client')
// Third Party // Third Party
alias('jackson-core').to('com.fasterxml.jackson.core:jackson-databind:2.9.9.2') alias('jackson-core').to('com.fasterxml.jackson.core:jackson-databind:2.13.0')
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 447b720..5fa2f62 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -477,6 +477,9 @@
<artifact name="protoc-3.10.0-linux-x86_64.exe">
<sha256 value="eed3ea189a99e3ad4e4209332e7161b255dc8f39bbde4c8e9fc25535f0f6f4f5" origin="Generated by Gradle"/>
</artifact>
+ <artifact name="protoc-3.10.0-osx-x86_64.exe">
+ <sha256 value="a73d5bc8a2a4ab2a541901aa5ce81beacf8a7be5635be06a99c88f5ec10e840f" origin="Generated by Gradle"/>
+ </artifact>
</component>
<component group="com.google.testing.platform" name="core-proto" version="0.0.8-alpha04">
<artifact name="core-proto-0.0.8-alpha04.jar">
@@ -1140,9 +1143,12 @@
<sha256 value="970c62e785f9364860a6cba69e481d2d4b830827e616eec470b5dd29410753f1" origin="Generated by Gradle"/>
</artifact>
</component>
- <component group="org.whispersystems" name="signal-client-java" version="0.11.0">
- <artifact name="signal-client-java-0.11.0.jar">
- <sha256 value="7bd19ccfbfc9c0f98c80aafc44bedc18706ab2e142e257e91f592bf9cbbd070a" origin="Generated by Gradle"/>
+ <component group="org.whispersystems" name="signal-client-java-{TARGET}" version="0.11.0">
+ <artifact name="signal-client-java-{TARGET}-0.11.0.jar">
+ <sha256 value="{TARGET_JAR_SHA256}" origin="Generated by Gradle"/>
+ </artifact>
+ <artifact name="signal-client-java-{TARGET}-0.11.0.module">
+ <sha256 value="{TARGET_MODULE_SHA256}" origin="Generated by Gradle"/>
</artifact>
</component>
<component group="xerces" name="xercesImpl" version="2.12.0">
diff --git a/service/build.gradle b/service/build.gradle diff --git a/service/build.gradle b/service/build.gradle
index 98377c1..ca5a4c0 100644 index 076cf4b..817cbf1 100644
--- a/service/build.gradle --- a/service/build.gradle
+++ b/service/build.gradle +++ b/service/build.gradle
@@ -23,6 +23,7 @@ compileJava { @@ -21,6 +21,7 @@ compileJava {
} }
repositories { repositories {
@ -63,7 +111,15 @@ index 98377c1..ca5a4c0 100644
mavenCentral() mavenCentral()
mavenLocal() mavenLocal()
} }
@@ -103,8 +104,8 @@ def getRepositoryPassword() { @@ -74,7 +75,6 @@ protobuf {
idea {
module {
generatedSourceDirs += file("${protobuf.generatedFilesBaseDir}/main/java")
- scopes.COMPILE.plus += [configurations.ideaTestFixturesImplementation]
}
}
@@ -97,8 +97,8 @@ def getRepositoryPassword() {
publishing { publishing {
publications { publications {
@ -74,7 +130,7 @@ index 98377c1..ca5a4c0 100644
from components.java from components.java
pom { pom {
@@ -145,16 +146,14 @@ publishing { @@ -139,16 +139,14 @@ publishing {
repositories { repositories {
maven { maven {
@ -86,30 +142,31 @@ index 98377c1..ca5a4c0 100644
+ credentials(HttpHeaderCredentials) { + credentials(HttpHeaderCredentials) {
+ name = 'Job-Token' + name = 'Job-Token'
+ value = System.getenv("CI_JOB_TOKEN") + value = System.getenv("CI_JOB_TOKEN")
+ } }
+ authentication { + authentication {
+ header(HttpHeaderAuthentication) + header(HttpHeaderAuthentication)
} + }
} }
} }
} -}
- -
-signing { -signing {
- required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") } - required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
- sign publishing.publications.mavenJava - sign publishing.publications.mavenJava
-} -}
+}
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle diff --git a/settings.gradle b/settings.gradle
index 8861c00..c180376 100644 index 8861c00..8dd0342 100644
--- a/settings.gradle --- a/settings.gradle
+++ b/settings.gradle +++ b/settings.gradle
@@ -1,6 +1,6 @@ @@ -1,6 +1,5 @@
enableFeaturePreview('VERSION_CATALOGS') enableFeaturePreview('VERSION_CATALOGS')
-include ':android' -include ':android'
+
include 'libsignal-service' include 'libsignal-service'
project(':libsignal-service').projectDir = file('service') project(':libsignal-service').projectDir = file('service')
-- --
2.20.1 2.30.2

29
update-hashes.py Normal file
View file

@ -0,0 +1,29 @@
#!/usr/bin/env python3
import requests
import hashlib
import json
VERSION = "0.11.0"
TARGETS = [
"aarch64-unknown-linux-gnu",
"arm-unknown-linux-gnueabi",
"arm-unknown-linux-gnueabihf",
"armv7-unknown-linux-gnueabihf",
"x86_64-unknown-linux-gnu",
"x86_64-apple-darwin"
]
urlFormat = "https://gitlab.com/api/v4/groups/6853927/-/packages/maven/org/whispersystems/signal-client-java-{target}/{version}/signal-client-java-{target}-{version}.{ext}"
output = {}
for target in TARGETS:
output[target] = {}
for ext in ["jar", "module"]:
url = urlFormat.format(target=target, version=VERSION, ext=ext)
print("fetching {}".format(url))
r = requests.get(url, allow_redirects=True)
r.raise_for_status()
output[target][ext] = hashlib.sha256(r.content).hexdigest()
with open('hashes.json', 'w') as f:
json.dump(output, f, indent=4)

View file

@ -0,0 +1,20 @@
#!/usr/bin/env python3
import os
import json
filename = "gradle/verification-metadata.xml"
with open('../hashes.json') as f:
hashes = json.load(f)
target = os.getenv("TARGET")
if target not in hashes:
raise Exception("Target {} not in known hashes, please update the python script".format(os.getenv("TARGET")))
with open(filename) as f:
template = f.read()
output = template.format(TARGET=target, TARGET_JAR_SHA256=hashes[target]["jar"], TARGET_MODULE_SHA256=hashes[target]["module"])
with open(filename, 'w') as f:
f.write(output)