Skip to content

Instantly share code, notes, and snippets.

@cdsap
cdsap / Benford.kt
Created December 15, 2022 19:05
Benford
class Benford(sample: Array<BigInteger>) {
override fun toString() = str
private val firstDigits = IntArray(9)
private val count = sample.size.toDouble()
private val str: String
init {
for (n in sample) {
firstDigits[n.toString().substring(0, 1).toInt() - 1]++
@cdsap
cdsap / CurlRequestValueSource.kt
Created October 27, 2022 21:26
CurlRequestValueSource
abstract class CurlRequestValueSource : ValueSource<String, CurlRequestValueSource.Parameters> {
interface Parameters : ValueSourceParameters {
val server: Property<String>
}
@get:Inject
abstract val execOperations: ExecOperations
override fun obtain(): String {
return execOperations.exec {
@cdsap
cdsap / README.md
Last active August 8, 2022 18:15 — forked from alextu/README.md

Snippet to apply retry plugin to all projects only supporting Junit5 platform

settings.gradle

plugins {
    id "org.gradle.test-retry" version "1.4.0" apply false
}

def isCiServer = System.getenv().containsKey("CI")
gradle.beforeProject { p ->
    p.pluginManager.withPlugin("java") {
@cdsap
cdsap / build.gradle.kts
Created August 4, 2022 00:34
Room + Ksp + Variants
androidComponents {
onVariants { variant ->
afterEvaluate {
tasks.named<KspTask>("ksp${variant.name.capitalize()}Kotlin").configure {
options.add(
org.jetbrains.kotlin.gradle.plugin.SubpluginOption(
"apoption",
"room.schemaLocation=${project.layout.projectDirectory.dir("schemas-${variant.name}").asFile.path}"
)
@cdsap
cdsap / pom.xml
Created July 21, 2022 00:03
License-maven-plugin
<pluginManagement>
<plugins>
<plugin>
<groupId>com.gradle</groupId>
<artifactId>gradle-enterprise-maven-extension</artifactId>
<configuration>
<gradleEnterprise>
<plugins>
<plugin>
<groupId>com.mycila</groupId>
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = "1.3.72"
repositories {
google()
jcenter()
maven {
url = "http://oss.jfrog.org/artifactory/oss-snapshot-local"
}
}
@cdsap
cdsap / InfluxDb Plugin
Created August 22, 2020 01:01
InfluxDb Talaiot Plugin
buildscript {
ext.kotlin_version = "1.3.72"
repositories {
google()
jcenter()
maven {
url = "http://oss.jfrog.org/artifactory/oss-snapshot-local"
}
}
@cdsap
cdsap / settings.gradle
Created April 15, 2020 01:33
settings.gradle
buildscript {
repositories {
mavenLocal()
maven {
url 'https://plugins.gradle.org/m2/'
}
}
dependencies {
classpath 'gradle.plugin.net.idlestate:gradle-redis-build-cache:1.2.1'
@cdsap
cdsap / K8s
Last active March 24, 2020 18:18
Remote Cache with Redis and K8s
kubectl apply -f https://k8s.io/examples/application/guestbook/redis-master-deployment.yaml
kubectl apply -f https://k8s.io/examples/application/guestbook/redis-master-service.yaml
kubectl apply -f https://k8s.io/examples/application/guestbook/redis-slave-deployment.yaml
kubectl apply -f https://k8s.io/examples/application/guestbook/redis-slave-service.yaml
kubectl expose deployment redis-master --type=LoadBalancer --name=my-service
@cdsap
cdsap / hybrid.kt
Last active August 20, 2019 09:12
Hybrid
hybridPublisher {
taskPublisher = ElasticSearchPublisherConfiguration().apply {
url = "http://localhost:9200"
taskIndexName = "task"
}
buildPublisher = InfluxDbPublisherConfiguration().apply {
dbName = "tracking"
url = "http://localhost:8086"
buildMetricName = "build"
}