Skip to content

Commit 9f277cd

Browse files
technoir42hotchemi
authored andcommitted
Update Gradle, AGP, Kotlin and KotlinPoet (#625)
1 parent d248545 commit 9f277cd

File tree

14 files changed

+176
-181
lines changed

14 files changed

+176
-181
lines changed

gradle.properties

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,30 +12,28 @@ VCS_URL = https://github.com/permissions-dispatcher/PermissionsD
1212
LICENSES = ['Apache-2.0']
1313

1414
# Plugin versions
15-
GRADLE_PLUGIN_VERSION = 3.2.1
16-
KOTLIN_VERSION = 1.3.21
17-
KOTLIN_COMPILER_LIB_VERSION = 1.3.21
15+
GRADLE_PLUGIN_VERSION = 3.3.2
16+
KOTLIN_VERSION = 1.3.31
17+
KOTLIN_COMPILER_LIB_VERSION = 1.3.31
1818
KOTLIN_METADATA_VERSION = 0.0.5
1919
CONFIG_PLUGIN_VERSION = 2.2.2
2020
JFROG_PLUGIN_VERSION = 4.1.1
2121
BINTRAY_PLUGIN_VERSION = 1.8.4
22-
SUPPORT_LIBRARY_VERSION = 27.0.2
2322
ANDROIDX_LIBRARY_VERSION= 1.0.0
2423
JAVAPOET_VERSION = 1.9.0
25-
KOTLINPOET_VERSION = 1.0.1
24+
KOTLINPOET_VERSION = 1.3.0
2625
JUNIT_VERSION = 4.12
2726
MOCKITO_VERSION = 2.28.2
2827
POWERMOCK_VERSION = 2.0.2
2928
COMPILE_TESTING_VERSION = 0.12
30-
LINT_VERSION = 26.2.0-alpha06
29+
LINT_VERSION = 26.3.2
3130
ROBOLECTRIC_VERSION = 3.3.2
3231
COMMONS_IO_VERSION = 2.6
3332
CONDUCTOR_VERSION = 2.1.5
3433
KOMPILE_TESTING_VERSION = 0.1.1
3534

3635
# Android configuration
3736
COMPILE_SDK_VERSION = android-28
38-
BUILD_TOOLS_VERSION = 28.0.3
3937
TARGET_SDK_VERSION = 28
4038
MIN_SDK_VERSION = 14
4139

gradle/wrapper/gradle-wrapper.jar

3.82 KB
Binary file not shown.
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
#Sat Apr 07 20:40:24 JST 2018
21
distributionBase=GRADLE_USER_HOME
32
distributionPath=wrapper/dists
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-all.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

gradlew

Lines changed: 43 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,43 @@
1-
#!/usr/bin/env bash
1+
#!/usr/bin/env sh
22

33
##############################################################################
44
##
55
## Gradle start up script for UN*X
66
##
77
##############################################################################
88

9-
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10-
DEFAULT_JVM_OPTS=""
9+
# Attempt to set APP_HOME
10+
# Resolve links: $0 may be a link
11+
PRG="$0"
12+
# Need this for relative symlinks.
13+
while [ -h "$PRG" ] ; do
14+
ls=`ls -ld "$PRG"`
15+
link=`expr "$ls" : '.*-> \(.*\)$'`
16+
if expr "$link" : '/.*' > /dev/null; then
17+
PRG="$link"
18+
else
19+
PRG=`dirname "$PRG"`"/$link"
20+
fi
21+
done
22+
SAVED="`pwd`"
23+
cd "`dirname \"$PRG\"`/" >/dev/null
24+
APP_HOME="`pwd -P`"
25+
cd "$SAVED" >/dev/null
1126

1227
APP_NAME="Gradle"
1328
APP_BASE_NAME=`basename "$0"`
1429

30+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
31+
DEFAULT_JVM_OPTS=""
32+
1533
# Use the maximum available, or set MAX_FD != -1 to use that value.
1634
MAX_FD="maximum"
1735

18-
warn ( ) {
36+
warn () {
1937
echo "$*"
2038
}
2139

22-
die ( ) {
40+
die () {
2341
echo
2442
echo "$*"
2543
echo
@@ -30,6 +48,7 @@ die ( ) {
3048
cygwin=false
3149
msys=false
3250
darwin=false
51+
nonstop=false
3352
case "`uname`" in
3453
CYGWIN* )
3554
cygwin=true
@@ -40,31 +59,11 @@ case "`uname`" in
4059
MINGW* )
4160
msys=true
4261
;;
62+
NONSTOP* )
63+
nonstop=true
64+
;;
4365
esac
4466

45-
# For Cygwin, ensure paths are in UNIX format before anything is touched.
46-
if $cygwin ; then
47-
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
48-
fi
49-
50-
# Attempt to set APP_HOME
51-
# Resolve links: $0 may be a link
52-
PRG="$0"
53-
# Need this for relative symlinks.
54-
while [ -h "$PRG" ] ; do
55-
ls=`ls -ld "$PRG"`
56-
link=`expr "$ls" : '.*-> \(.*\)$'`
57-
if expr "$link" : '/.*' > /dev/null; then
58-
PRG="$link"
59-
else
60-
PRG=`dirname "$PRG"`"/$link"
61-
fi
62-
done
63-
SAVED="`pwd`"
64-
cd "`dirname \"$PRG\"`/" >&-
65-
APP_HOME="`pwd -P`"
66-
cd "$SAVED" >&-
67-
6867
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
6968

7069
# Determine the Java command to use to start the JVM.
@@ -90,7 +89,7 @@ location of your Java installation."
9089
fi
9190

9291
# Increase the maximum file descriptors if we can.
93-
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
92+
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
9493
MAX_FD_LIMIT=`ulimit -H -n`
9594
if [ $? -eq 0 ] ; then
9695
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@@ -114,6 +113,7 @@ fi
114113
if $cygwin ; then
115114
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
116115
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
116+
JAVACMD=`cygpath --unix "$JAVACMD"`
117117

118118
# We build the pattern for arguments to be converted via cygpath
119119
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
@@ -154,11 +154,19 @@ if $cygwin ; then
154154
esac
155155
fi
156156

157-
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
158-
function splitJvmOpts() {
159-
JVM_OPTS=("$@")
157+
# Escape application args
158+
save () {
159+
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
160+
echo " "
160161
}
161-
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
162-
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
162+
APP_ARGS=$(save "$@")
163+
164+
# Collect all arguments for the java command, following the shell quoting and substitution rules
165+
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
166+
167+
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
168+
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
169+
cd "$(dirname "$0")"
170+
fi
163171

164-
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
172+
exec "$JAVACMD" "$@"

gradlew.bat

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
@rem Set local scope for the variables with windows NT shell
99
if "%OS%"=="Windows_NT" setlocal
1010

11-
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12-
set DEFAULT_JVM_OPTS=
13-
1411
set DIRNAME=%~dp0
1512
if "%DIRNAME%" == "" set DIRNAME=.
1613
set APP_BASE_NAME=%~n0
1714
set APP_HOME=%DIRNAME%
1815

16+
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17+
set DEFAULT_JVM_OPTS=
18+
1919
@rem Find java.exe
2020
if defined JAVA_HOME goto findJavaFromJavaHome
2121

@@ -46,10 +46,9 @@ echo location of your Java installation.
4646
goto fail
4747

4848
:init
49-
@rem Get command-line arguments, handling Windowz variants
49+
@rem Get command-line arguments, handling Windows variants
5050

5151
if not "%OS%" == "Windows_NT" goto win9xME_args
52-
if "%@eval[2+2]" == "4" goto 4NT_args
5352

5453
:win9xME_args
5554
@rem Slurp the command line arguments.
@@ -60,11 +59,6 @@ set _SKIP=2
6059
if "x%~1" == "x" goto execute
6160

6261
set CMD_LINE_ARGS=%*
63-
goto execute
64-
65-
:4NT_args
66-
@rem Get arguments from the 4NT Shell from JP Software
67-
set CMD_LINE_ARGS=%$
6862

6963
:execute
7064
@rem Setup the command line

library/build.gradle

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ apply plugin: 'com.jfrog.bintray'
77

88
android {
99
compileSdkVersion COMPILE_SDK_VERSION
10-
buildToolsVersion BUILD_TOOLS_VERSION
1110
defaultConfig {
1211
minSdkVersion MIN_SDK_VERSION
1312
targetSdkVersion TARGET_SDK_VERSION
@@ -23,7 +22,7 @@ android {
2322
}
2423

2524
libraryVariants.all {
26-
it.generateBuildConfig.enabled = false
25+
it.generateBuildConfigProvider.configure { enabled = false }
2726
}
2827
}
2928

processor/src/main/kotlin/permissions/dispatcher/processor/impl/kotlin/KotlinActivityProcessorUnit.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class KotlinActivityProcessorUnit : KotlinBaseProcessorUnit() {
1616

1717
override fun addShouldShowRequestPermissionRationaleCondition(builder: FunSpec.Builder, permissionField: String, isPositiveCondition: Boolean) {
1818
val condition = if (isPositiveCondition) "" else "!"
19-
builder.beginControlFlow("if (%N%T.shouldShowRequestPermissionRationale(%L, *%N))", condition, PERMISSION_UTILS, "this", permissionField)
19+
builder.beginControlFlow("if (%L%T.shouldShowRequestPermissionRationale(%L, *%N))", condition, PERMISSION_UTILS, "this", permissionField)
2020
}
2121

2222
override fun addRequestPermissionsStatement(builder: FunSpec.Builder, targetParam: String, permissionField: String, requestCodeField: String) {

processor/src/main/kotlin/permissions/dispatcher/processor/impl/kotlin/KotlinBaseProcessorUnit.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ abstract class KotlinBaseProcessorUnit : KtProcessorUnit {
1919
protected val PERMISSION_UTILS = ClassName("permissions.dispatcher", "PermissionUtils")
2020
private val BUILD = ClassName("android.os", "Build")
2121
private val INT_ARRAY = ClassName("kotlin", "IntArray")
22+
private val WEAK_REFERENCE = ClassName("java.lang.ref", "WeakReference")
2223
private val MANIFEST_WRITE_SETTING = "android.permission.WRITE_SETTINGS"
2324
private val MANIFEST_SYSTEM_ALERT_WINDOW = "android.permission.SYSTEM_ALERT_WINDOW"
2425
private val ADD_WITH_CHECK_BODY_MAP = hashMapOf(MANIFEST_SYSTEM_ALERT_WINDOW to SystemAlertWindowHelper(), MANIFEST_WRITE_SETTING to WriteSettingsHelper())
@@ -82,14 +83,14 @@ abstract class KotlinBaseProcessorUnit : KtProcessorUnit {
8283
}
8384

8485
private fun createPermissionProperty(e: ExecutableElement): PropertySpec {
85-
val permissionValue = e.getAnnotation(NeedsPermission::class.java).permissionValue()
86+
val permissionValue = e.getAnnotation(NeedsPermission::class.java).permissionValue()
8687
val formattedValue = permissionValue.joinToString(
8788
separator = ", ",
8889
transform = { "\"$it\"" }
8990
)
9091
val parameterType = ARRAY.plusParameter(ClassName("kotlin", "String"))
9192
return PropertySpec.builder(permissionFieldName(e), parameterType, KModifier.PRIVATE)
92-
.initializer("%N", "arrayOf($formattedValue)")
93+
.initializer("arrayOf(%L)", formattedValue)
9394
.build()
9495
}
9596

@@ -423,9 +424,9 @@ abstract class KotlinBaseProcessorUnit : KtProcessorUnit {
423424

424425
// Add required fields to the target
425426
val propName = "weakTarget"
426-
val parameterType = ClassName("java.lang.ref", "WeakReference").plusParameter(rpe.ktTypeName)
427+
val parameterType = WEAK_REFERENCE.plusParameter(rpe.ktTypeName)
427428
val propertySpec = PropertySpec.builder(propName, parameterType, KModifier.PRIVATE)
428-
propertySpec.initializer("%N", "WeakReference(target)")
429+
propertySpec.initializer("%T(target)", WEAK_REFERENCE)
429430
builder.addProperty(propertySpec.build())
430431

431432
needsMethod.parameters.forEach {

processor/src/main/kotlin/permissions/dispatcher/processor/impl/kotlin/KotlinConductorProcessorUnit.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ class KotlinConductorProcessorUnit() : KotlinBaseProcessorUnit() {
1313
override fun addShouldShowRequestPermissionRationaleCondition(builder: FunSpec.Builder, permissionField: String, isPositiveCondition: Boolean) {
1414
val condition = if (isPositiveCondition) "" else "!"
1515
val activity = getActivityName("this")
16-
builder.beginControlFlow("if (%N%T.shouldShowRequestPermissionRationale(%L, *%N))", condition, PERMISSION_UTILS, activity, permissionField)
16+
builder.beginControlFlow("if (%L%T.shouldShowRequestPermissionRationale(%L, *%N))", condition, PERMISSION_UTILS, activity, permissionField)
1717
}
1818

1919
override fun addRequestPermissionsStatement(builder: FunSpec.Builder, targetParam: String, permissionField: String, requestCodeField: String) {
2020
builder.addStatement("%L.requestPermissions(%L, %N)", targetParam, permissionField, requestCodeField)
2121
}
22-
}
22+
}

processor/src/main/kotlin/permissions/dispatcher/processor/impl/kotlin/KotlinFragmentProcessorUnit.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class KotlinFragmentProcessorUnit : KotlinBaseProcessorUnit() {
1515

1616
override fun addShouldShowRequestPermissionRationaleCondition(builder: FunSpec.Builder, permissionField: String, isPositiveCondition: Boolean) {
1717
val condition = if (isPositiveCondition) "" else "!"
18-
builder.beginControlFlow("if (%N%T.shouldShowRequestPermissionRationale(%L, *%N))", condition, PERMISSION_UTILS, "this" /* Fragment */, permissionField)
18+
builder.beginControlFlow("if (%L%T.shouldShowRequestPermissionRationale(%L, *%N))", condition, PERMISSION_UTILS, "this" /* Fragment */, permissionField)
1919
}
2020

2121
override fun addRequestPermissionsStatement(builder: FunSpec.Builder, targetParam: String, permissionField: String, requestCodeField: String) {

0 commit comments

Comments
 (0)