Fixed
Status Update
Comments
pa...@gmail.com <pa...@gmail.com> #3
I think that ResultReceiver will "forever" stay in the old package since otherwise it would be a breaking AIDL-related change.
pa...@gmail.com <pa...@gmail.com> #4
Yep, it has to stay in the old package.
> Jetifier is changing the import in the library to "androidx.core.os.ResultReceiver"
Config issue.
> Jetifier is changing the import in the library to "androidx.core.os.ResultReceiver"
Config issue.
ga...@google.com <ga...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 2bf39653103b1ce6b3b6fc64b44faaa9fcad1c19
Author: Filip Pavlis <pavlis@google.com>
Date: Tue Feb 12 19:41:53 2019
Revert changes in default.config and remove task.
It turned out that we have released (as part of beta03) mappings that
were not supposed to be used externally. This is because we were actively
maintaining "dejetifyArchive" task without realizing that next jetifier
update will contain such changes. As we are done with 28.0.0 I think it
is a good time to sunset the "dejetifyArchive" target. I also reverted
all the config changes that are not supposed to go outside. Please note
that there is still "partiallyDejetifyArchive" for migration purpouses
and is still part of continuous build.
Also added ignore rule for ResultReceiver.
Bug: b/123651524
Bug: b/124291947
Test: N/A
Change-Id: I59983d25ae7e0939f2e9e54005460ad0f73beb3c
M buildSrc/jetify.gradle
M buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt
M buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
M jetifier/jetifier/core/src/main/resources/default.config
M jetifier/jetifier/core/src/main/resources/default.generated.config
https://android-review.googlesource.com/902433
https://goto.google.com/android-sha1/2bf39653103b1ce6b3b6fc64b44faaa9fcad1c19
Branch: androidx-master-dev
commit 2bf39653103b1ce6b3b6fc64b44faaa9fcad1c19
Author: Filip Pavlis <pavlis@google.com>
Date: Tue Feb 12 19:41:53 2019
Revert changes in default.config and remove task.
It turned out that we have released (as part of beta03) mappings that
were not supposed to be used externally. This is because we were actively
maintaining "dejetifyArchive" task without realizing that next jetifier
update will contain such changes. As we are done with 28.0.0 I think it
is a good time to sunset the "dejetifyArchive" target. I also reverted
all the config changes that are not supposed to go outside. Please note
that there is still "partiallyDejetifyArchive" for migration purpouses
and is still part of continuous build.
Also added ignore rule for ResultReceiver.
Bug:
Bug:
Test: N/A
Change-Id: I59983d25ae7e0939f2e9e54005460ad0f73beb3c
M buildSrc/jetify.gradle
M buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt
M buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
M jetifier/jetifier/core/src/main/resources/default.config
M jetifier/jetifier/core/src/main/resources/default.generated.config
pa...@google.com <pa...@google.com> #6
FYI, in AGP 3.4.0-rc03 and 3.5.0-alpha09, the AGP has been updated to use Jetifier 1.0.0-beta04, which should have the fix for the above issue: https://android.googlesource.com/platform/tools/base/+/f7fdfbb94aebb43b7e9515c683fd71b8c905ee79 .
ap...@google.com <ap...@google.com> #7
Closing as fixed.
pa...@google.com <pa...@google.com> #8
Jetifier 1.0.0-beta08 was released and has a fix for this.
To avoid waiting for new Android Studio you can workaround this in the meantime by forcing usage of a new version of jetifier in gradle:
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:x.y.z'
classpath 'com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta08' // <- Add this
}
}
To avoid waiting for new Android Studio you can workaround this in the meantime by forcing usage of a new version of jetifier in gradle:
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:x.y.z'
classpath 'com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta08' // <- Add this
}
}
pa...@gmail.com <pa...@gmail.com> #9
Thanks pa..., it's really nice to receive updates and useful details (root cause, CL, workaround) about the issue. I wish everyone was like this!
Description
Java version "1.8.0_121"
Jetifier version: 1.0.0-beta04
Let there be a Library Foo with the following 'proguard-rules.txt' file:
# DBFlow
-keep class * extends com.raizlabs.android.dbflow.config.DatabaseHolder { *; }
-dontwarn com.raizlabs.android.dbflow.**
# Note: the configuration keeps the entry point 'com.raizlabs.android.dbflow.config.FlowManager$GlobalDatabaseHolder { FlowManager$GlobalDatabaseHolder(com.raizlabs.android.dbflow.config.FlowManager$1); }', but not the descriptor class 'com.raizlabs.android.dbflow.config.FlowManager$1'
-keep class com.raizlabs.android.dbflow.config.FlowManager$*
When trying to jetify this library:
./jetifier-standalone -i /Users/someuser/Downloads/foo/foo.aar -o newfoo.aar
The Jetifier fails with the following output:
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 147
com/raizlabs/android/dbflow/.*
# Note: the configuration keeps the entry point 'com/raizlabs/android/dbflow/config/FlowManager$GlobalDatabaseHolder { FlowManager$GlobalDatabaseHolder(com/raizlabs/android/dbflow/config/FlowManager$1); }'
^
at java.util.regex.Pattern.error(Pattern.java:1955)
at java.util.regex.Pattern.closure(Pattern.java:3157)
at java.util.regex.Pattern.sequence(Pattern.java:2134)
at java.util.regex.Pattern.expr(Pattern.java:1996)
at java.util.regex.Pattern.compile(Pattern.java:1696)
at java.util.regex.Pattern.<init>(Pattern.java:1351)
at java.util.regex.Pattern.compile(Pattern.java:1028)
at com.android.tools.build.jetifier.core.type.TypesMap.matchOldProguardForNewTypes(TypesMap.kt:112)
[...]
If i remove the notes, the new 'proguard-rules.txt' looks like this:
# DBFlow
-keep class * extends com.raizlabs.android.dbflow.config.DatabaseHolder { *; }
-dontwarn com.raizlabs.android.dbflow.**
-keep class com.raizlabs.android.dbflow.config.FlowManager$*
And this runs through the jetifier just fine. Please provide a fix for this issue, since i have to patch my dependencies currently in order to make AndroidX work for me.