Skip to content

Instantly share code, notes, and snippets.

View pgreze's full-sized avatar

Pierrick Greze pgreze

View GitHub Profile
@pgreze
pgreze / args.py
Created October 6, 2020 06:00
Provide all remaining bash arguments to a subscript
import sys
print(sys.argv)
@pgreze
pgreze / devices.txt
Created September 9, 2020 03:43
Test Lab Available devices
┌───────────────────┬────────────────────┬──────────────────────────────────────┬──────────┬─────────────┬──────────────────────┬─────────────────────────────────────────────┐
│ MODEL_ID │ MAKE │ MODEL_NAME │ FORM │ RESOLUTION │ OS_VERSION_IDS │ TAGS │
├───────────────────┼────────────────────┼──────────────────────────────────────┼──────────┼─────────────┼──────────────────────┼─────────────────────────────────────────────┤
│ 602SO │ Sony │ Sony XZs │ PHYSICAL │ 1920 x 1080 │ 26 │ │
│ 801SO │ Sony │ Sony XZ3 801SO │ PHYSICAL │ 2880 x 1440 │ 28 │ │
│ A0001 │ OnePlus │ OnePlus One │ PHYSICAL │ 1920 x 1080 │ 22 │
@pgreze
pgreze / git.diff
Created April 27, 2020 07:50
Force ANDROID SDK in gradlew
diff --git a/gradle/android-studio-paths.sh b/gradle/android-studio-paths.sh
new file mode 100644
index 0000000..ae3d1e0
--- /dev/null
+++ b/gradle/android-studio-paths.sh
@@ -0,0 +1,51 @@
+#
+# In order to avoid "Daemon could not be reused" when using command line and Android Studio,
+# this is forcing the JAVA_HOME by looking at common places for Android Studio installations.
+#
@pgreze
pgreze / sdkman.sh
Last active April 14, 2020 06:23
Install Kscript on Linux with sdkman
# Install sdkman
curl -s https://get.sdkman.io | bash # 2s
source "$HOME/.sdkman/bin/sdkman-init.sh"
# Install kotlin and kscript
sdk install kotlin # 10s ...
sdk install kscript # 6s
@pgreze
pgreze / detekt.html
Created April 6, 2020 10:15
Detekt build/reports/detekt/ examples
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>detekt report</title>
<style>
h2 {
background-color: #666666;
padding: 0.2em;
color: #ffffff;
@pgreze
pgreze / studio.py
Created April 5, 2020 09:50
Script installed in /usr/bin/env/studio by Android Studio
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import socket
import struct
import sys
import traceback
# see com.intellij.idea.SocketLock for the server side of this interface
@pgreze
pgreze / platform-tools-base.error
Last active March 15, 2020 05:01
Error when trying to mirror AGP platform-tools-base studio-master-dev branch
🍏 ➜ git push mirror studio-master-dev
Alias tip: gp mirror studio-master-dev
Enumerating objects: 407011, done.
Counting objects: 100% (391280/391280), done.
Delta compression using up to 8 threads
Compressing objects: 100% (79384/79384), done.
Writing objects: 100% (389441/389441), 1.10 GiB | 3.51 MiB/s, done.
Total 389441 (delta 205818), reused 376062 (delta 195538)
remote: Resolving deltas: 100% (205818/205818), completed with 881 local objects.
remote: Checking connectivity: 389441, done.
@pgreze
pgreze / CustomExtension.kt
Created March 14, 2020 11:03
Android custom Plugin
package com.android.build.gradle
import com.android.build.gradle.api.ApplicationVariant
import com.android.build.gradle.api.BaseVariant
import com.android.build.gradle.api.BaseVariantOutput
import com.android.build.gradle.internal.ExtraModelInfo
import com.android.build.gradle.internal.dependency.SourceSetManager
import com.android.build.gradle.internal.dsl.BuildType
import com.android.build.gradle.internal.dsl.ProductFlavor
import com.android.build.gradle.internal.dsl.SigningConfig
@pgreze
pgreze / kscriptw
Last active January 7, 2020 00:05
kscript on demand (inspired by gradlew).
#!/usr/bin/env sh
#
# kscript on demand (inspired by gradlew).
#
# Convenient way to run Kotlin scripts (.kts) without having to install kscript
# relying on https://github.com/holgerbrandl/homebrew-tap/blob/master/kscript.rb logic.
#
# Requirements: curl and kscript requirements (KOTLIN_HOME or kotlin in path)
#
@pgreze
pgreze / gist:5dc2aa87f5b5925637072db5831cfff8
Created August 15, 2019 05:31
Junit5 stacktrace with latest alpha AGP
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.wrapException(LifecycleProjectEvaluator.java:79)
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:72)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$600(LifecycleProjectEvaluator.java:53)
at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate.run(LifecycleProjectEvaluator.java:198)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gr