Add ed25519 ssh key to keychain with passphrase
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
Modify ~/.ssh/config
Host *
// This script should be placed inside your pipeline script | |
def getTriggeringUser() { | |
def user = 'UNKNOWN' // Default value if user cannot be determined | |
// Check each cause for the build to find a user cause | |
currentBuild.rawBuild.getCauses().each { cause -> | |
if (cause instanceof hudson.model.Cause$UserIdCause) { | |
user = cause.getUserId() | |
} else if (cause instanceof org.jenkinsci.plugins.workflow.support.steps.build.BuildUpstreamCause) { | |
// If the build was triggered upstream, recursively check upstream builds |
import androidx.lifecycle.DefaultLifecycleObserver | |
import androidx.lifecycle.Lifecycle | |
import androidx.lifecycle.LifecycleOwner | |
import de.check24.profis.partner.shared.logger.ProfiLogger | |
import kotlinx.coroutines.ExperimentalCoroutinesApi | |
import kotlinx.coroutines.suspendCancellableCoroutine | |
@OptIn(ExperimentalCoroutinesApi::class) | |
suspend fun Lifecycle.waitForLifecycleEvent(event: Lifecycle.Event) = suspendCancellableCoroutine { continuation -> |
import Foundation | |
public extension Thread { | |
public static var callStack : [String] { | |
Thread | |
.callStackSymbols // drop Thread.callStack | |
.dropFirst( | |
).map { line in | |
let parts = line.split(separator:" ") |
Add ed25519 ssh key to keychain with passphrase
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
Modify ~/.ssh/config
Host *
import Foundation | |
class Queue { | |
private var counter = 0.0 | |
private let queue = DispatchQueue(label: "counter") | |
func increment() { | |
queue.sync { | |
counter += 1.2 |
/** | |
* A modifier that clips the composable content using a circular reveal animation. The circle will | |
* expand or shrink whenever [isVisible] changes. | |
* | |
* For more control over the transition, consider using this method's variant which allows passing | |
* a [State] object to control the progress of the reveal animation. | |
* | |
* By default, the circle is centered in the content. However, custom positions can be specified using |
#!/bin/bash | |
# https://stackoverflow.com/a/76070326/1006741 | |
# Set the version and build numbers | |
VERSION_NUMBER="2.1.0" | |
BUILD_NUMBER="29" | |
APP_NAME="MyApp" | |
TEAM_ID="ABCDEFGH" |
#!/bin/bash | |
let upSeconds="$(/usr/bin/cut -d. -f1 /proc/uptime)" | |
let secs=$((${upSeconds}%60)) | |
let mins=$((${upSeconds}/60%60)) | |
let hours=$((${upSeconds}/3600%24)) | |
let days=$((${upSeconds}/86400)) | |
UPTIME=`printf "%d days, %02dh%02dm%02ds" "$days" "$hours" "$mins" "$secs"` | |
# get the load averages | |
read one five fifteen rest < /proc/loadavg |
https://blog.gradle.org/wrapper-attack-report
you can check the checksum on mac with
shasum -a 256 gradle/wrapper/gradle-wrapper.jar
and verify against the release versions on https://gradle.org/release-checksums/
so for current 7.6 it would be
c5a643cf80162e665cc228f7b16f343fef868e47d3a4836f62e18b7e17ac018a
which means your project is not affected
import android.graphics.Canvas | |
import android.graphics.Rect | |
import android.support.v7.widget.RecyclerView | |
import android.view.LayoutInflater | |
import android.view.View | |
import android.view.ViewGroup | |
/** | |
* Created with Android Studio | |
* User: Sergey Petrov s.a.petrov.spb@gmail.com |