Skip to content

Instantly share code, notes, and snippets.

View maxirosson's full-sized avatar

Maxi Rosson maxirosson

View GitHub Profile
@maxirosson
maxirosson / labeler_config.yml
Created August 31, 2021 20:21
Github Action - Labeler - PR Size
version: 1
labels:
- label: "xsmall-diff"
size-below: 10
- label: "small-diff"
size-above: 9
size-below: 100
- label: "medium-diff"
size-above: 99
size-below: 500
version: 1
labels:
- label: "xsmall-diff"
size-below: 10
- label: "small-diff"
size-above: 9
size-below: 100
- label: "medium-diff"
size-above: 99
size-below: 500
name: "Pull Request Labeler"
on:
- pull_request
jobs:
label:
runs-on: ubuntu-latest
steps:
# https://github.com/marketplace/actions/pr-labeler-based-on-multiple-rules
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.dipien">
<application>
<!-- StartupTimeProvider is already initializing Firebase.
https://firebase.googleblog.com/2017/03/take-control-of-your-firebase-init-on.html -->
<provider
class MyApplication : Application() {
override fun onCreate() {
...
registerActivityLifecycleCallbacks(StartUpTimeActivityLifecycleCallbacks)
}
}
apply plugin: 'com.android.application'
ext.versionMajor = 1
ext.versionMinor = 2
ext.versionPatch = 3
ext.versionClassifier = null
ext.isSnapshot = true
android {
defaultConfig {
object CrashlyticsHelper {
fun sendCustomKeys(context: Context) {
val builder = CustomKeysAndValues.Builder()
builder.putString("abi", Build.SUPPORTED_ABIS[0])
builder.putString("locale", getLocale(context).toString())
builder.putBoolean("isGooglePlayServicesAvailable", isGooglePlayServicesAvailable(context))
getInstallSource(context)?.let {
builder.putString("installSource", it)
}
@maxirosson
maxirosson / fail_on_kotlin_warning.gradle.kts
Last active May 31, 2022 17:09
Fail every time a Kotlin warning is found, except for "is deprecated" warnings. https://medium.com/dipien/fail-your-build-on-kotlin-warnings-96c4d9b3fd33
import org.gradle.api.Project
import org.gradle.api.internal.GradleInternal
import org.gradle.configurationcache.extensions.serviceOf
import org.gradle.internal.logging.events.operations.LogEventBuildOperationProgressDetails
import org.gradle.internal.operations.BuildOperationDescriptor
import org.gradle.internal.operations.BuildOperationListener
import org.gradle.internal.operations.BuildOperationListenerManager
import org.gradle.internal.operations.OperationFinishEvent
import org.gradle.internal.operations.OperationIdentifier
import org.gradle.internal.operations.OperationProgressEvent
object AppUtils {
// The package name of the application
const val manifestPackageName = "com.example.myapp"
// The application id of the application
val applicationId: String
get() {
val context = ...
// You could receive the context as parameter here
plugins {
id("com.dipien.byebyejetifier") version "1.1.2" apply false
}
ext {
propertyResolver = new PropertyResolver(project)
}
if (propertyResolver.getBooleanProp(GradleProperty.BYE_BYE_JETIFIER_ENABLED)) {
apply plugin: "com.dipien.byebyejetifier"