Merge "VersionedParcelable compiler artifact" into androidx-master-dev am: 22185bfa5d
Change-Id: I5f2fec1f7371597d606fa16f226a5413e9f160fb
diff --git a/buildSrc/src/main/kotlin/androidx/build/PublishDocsRules.kt b/buildSrc/src/main/kotlin/androidx/build/PublishDocsRules.kt
index 512c9c9..62198db 100644
--- a/buildSrc/src/main/kotlin/androidx/build/PublishDocsRules.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/PublishDocsRules.kt
@@ -137,7 +137,8 @@
prebuilts(LibraryGroups.VECTORDRAWABLE, "vectordrawable", "1.2.0-alpha01")
prebuilts(LibraryGroups.VECTORDRAWABLE, "vectordrawable-animated", "1.1.0")
prebuilts(LibraryGroups.VECTORDRAWABLE, "vectordrawable-seekable", "1.0.0-alpha01")
- prebuilts(LibraryGroups.VERSIONEDPARCELABLE, "1.1.1")
+ ignore(LibraryGroups.VERSIONEDPARCELABLE.group, "versionedparcelable-compiler")
+ prebuilts(LibraryGroups.VERSIONEDPARCELABLE, "versionedparcelable", "1.1.1")
prebuilts(LibraryGroups.VIEWPAGER, "1.0.0")
prebuilts(LibraryGroups.VIEWPAGER2, "1.1.0-alpha01")
prebuilts(LibraryGroups.WEAR, "1.1.0-rc01")
diff --git a/core/core/build.gradle b/core/core/build.gradle
index 1046319..4a629c5 100644
--- a/core/core/build.gradle
+++ b/core/core/build.gradle
@@ -16,7 +16,7 @@
implementation("androidx.collection:collection:1.0.0")
// We don't ship this as a public artifact, so it must remain a project-type dependency.
- annotationProcessor(project(":versionedparcelable:versionedparcelable-annotation"))
+ annotationProcessor(project(":versionedparcelable:versionedparcelable-compiler"))
androidTestImplementation(KOTLIN_STDLIB)
androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
diff --git a/media/media/build.gradle b/media/media/build.gradle
index b03b6d0..7ebfb90 100644
--- a/media/media/build.gradle
+++ b/media/media/build.gradle
@@ -17,7 +17,7 @@
androidTestImplementation(ANDROIDX_TEST_RUNNER)
androidTestImplementation(ESPRESSO_CORE, libs.exclude_for_espresso)
androidTestImplementation project(':internal-testutils-runtime')
- annotationProcessor(project(":versionedparcelable:versionedparcelable-annotation"))
+ annotationProcessor(project(":versionedparcelable:versionedparcelable-compiler"))
}
android {
diff --git a/media2/common/build.gradle b/media2/common/build.gradle
index b18fd39..8f4b44a 100644
--- a/media2/common/build.gradle
+++ b/media2/common/build.gradle
@@ -20,7 +20,7 @@
androidTestImplementation(ANDROIDX_TEST_RUNNER)
androidTestImplementation(ESPRESSO_CORE, libs.exclude_for_espresso)
androidTestImplementation project(':internal-testutils-runtime')
- annotationProcessor(project(":versionedparcelable:versionedparcelable-annotation"))
+ annotationProcessor(project(":versionedparcelable:versionedparcelable-compiler"))
}
android {
diff --git a/media2/player/build.gradle b/media2/player/build.gradle
index 12fef75..95f516a 100644
--- a/media2/player/build.gradle
+++ b/media2/player/build.gradle
@@ -25,7 +25,7 @@
androidTestImplementation(ANDROIDX_TEST_RULES)
androidTestImplementation(ESPRESSO_CORE, libs.exclude_for_espresso)
androidTestImplementation project(':internal-testutils-runtime')
- annotationProcessor(project(":versionedparcelable:versionedparcelable-annotation"))
+ annotationProcessor(project(":versionedparcelable:versionedparcelable-compiler"))
}
android {
diff --git a/media2/session/build.gradle b/media2/session/build.gradle
index 60d1eb8..7610e1f 100644
--- a/media2/session/build.gradle
+++ b/media2/session/build.gradle
@@ -23,7 +23,7 @@
androidTestImplementation(ANDROIDX_TEST_RULES)
androidTestImplementation(ESPRESSO_CORE, libs.exclude_for_espresso)
androidTestImplementation project(':internal-testutils-runtime')
- annotationProcessor(project(":versionedparcelable:versionedparcelable-annotation"))
+ annotationProcessor(project(":versionedparcelable:versionedparcelable-compiler"))
}
android {
diff --git a/settings.gradle b/settings.gradle
index 68fe5d1..48c08e0 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -265,7 +265,7 @@
includeProject(":room:room-testing", "room/testing")
includeProject(":remotecallback:remotecallback-processor", "remotecallback/processor")
includeProject(":remotecallback:remotecallback", "remotecallback/remotecallback")
-includeProject(":versionedparcelable:versionedparcelable-annotation", "versionedparcelable/annotation")
+includeProject(":versionedparcelable:versionedparcelable-compiler", "versionedparcelable/versionedparcelable-compiler")
includeProject(":versionedparcelable:versionedparcelable", "versionedparcelable/versionedparcelable")
includeProject(":savedstate:savedstate", "savedstate/savedstate")
includeProject(":savedstate:savedstate-ktx", "savedstate/savedstate-ktx")
diff --git a/slices/core/build.gradle b/slices/core/build.gradle
index bf56ba1..8d5f1d0 100644
--- a/slices/core/build.gradle
+++ b/slices/core/build.gradle
@@ -36,7 +36,7 @@
androidTestImplementation(MOCKITO_CORE, libs.exclude_bytebuddy)
androidTestImplementation(DEXMAKER_MOCKITO, libs.exclude_bytebuddy)
- annotationProcessor project(":versionedparcelable:versionedparcelable-annotation")
+ annotationProcessor project(":versionedparcelable:versionedparcelable-compiler")
}
androidx {
diff --git a/versionedparcelable/annotation/build.gradle b/versionedparcelable/annotation/build.gradle
deleted file mode 100644
index ce1c3e1..0000000
--- a/versionedparcelable/annotation/build.gradle
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import static androidx.build.dependencies.DependenciesKt.*
-
-apply plugin: 'java'
-
-dependencies {
- implementation(JAVAPOET)
-}
-
-// The "javadoc" task is unused so we don't want it to appear in the output of `./gradlew tasks`
-// So, we set the group to null
-tasks["javadoc"].group = null
diff --git a/versionedparcelable/api/restricted_1.1.0-alpha01.txt b/versionedparcelable/api/restricted_1.1.0-alpha01.txt
deleted file mode 100644
index e837f90..0000000
--- a/versionedparcelable/api/restricted_1.1.0-alpha01.txt
+++ /dev/null
@@ -1,157 +0,0 @@
-// Signature format: 3.0
-package androidx.versionedparcelable {
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public abstract class CustomVersionedParcelable implements androidx.versionedparcelable.VersionedParcelable {
- ctor public CustomVersionedParcelable();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void onPostParceling();
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void onPreParceling(boolean);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target(java.lang.annotation.ElementType.FIELD) public @interface NonParcelField {
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target(java.lang.annotation.ElementType.FIELD) public @interface ParcelField {
- method public abstract String defaultValue() default "";
- method public abstract int value();
- }
-
- public class ParcelUtils {
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static <T extends androidx.versionedparcelable.VersionedParcelable> T! fromInputStream(java.io.InputStream!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static <T extends androidx.versionedparcelable.VersionedParcelable> T! fromParcelable(android.os.Parcelable!);
- method public static <T extends androidx.versionedparcelable.VersionedParcelable> T? getVersionedParcelable(android.os.Bundle!, String!);
- method public static void putVersionedParcelable(android.os.Bundle, String, androidx.versionedparcelable.VersionedParcelable);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static void toOutputStream(androidx.versionedparcelable.VersionedParcelable!, java.io.OutputStream!);
- method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static android.os.Parcelable! toParcelable(androidx.versionedparcelable.VersionedParcelable!);
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public abstract class VersionedParcel {
- ctor public VersionedParcel(androidx.collection.ArrayMap<java.lang.String!,java.lang.reflect.Method!>!, androidx.collection.ArrayMap<java.lang.String!,java.lang.reflect.Method!>!, androidx.collection.ArrayMap<java.lang.String!,java.lang.Class!>!);
- method protected abstract void closeField();
- method protected abstract androidx.versionedparcelable.VersionedParcel! createSubParcel();
- method protected static Throwable getRootCause(Throwable);
- method public boolean isStream();
- method public <T> T![]! readArray(T![]!, int);
- method protected <T> T![]! readArray(T![]!);
- method protected abstract boolean readBoolean();
- method public boolean readBoolean(boolean, int);
- method public boolean[]! readBooleanArray(boolean[]!, int);
- method protected boolean[]! readBooleanArray();
- method protected abstract android.os.Bundle! readBundle();
- method public android.os.Bundle! readBundle(android.os.Bundle!, int);
- method public byte readByte(byte, int);
- method protected abstract byte[]! readByteArray();
- method public byte[]! readByteArray(byte[]!, int);
- method public char[]! readCharArray(char[]!, int);
- method protected abstract CharSequence! readCharSequence();
- method public CharSequence! readCharSequence(CharSequence!, int);
- method protected abstract double readDouble();
- method public double readDouble(double, int);
- method public double[]! readDoubleArray(double[]!, int);
- method protected double[]! readDoubleArray();
- method public Exception! readException(Exception!, int);
- method protected abstract boolean readField(int);
- method protected abstract float readFloat();
- method public float readFloat(float, int);
- method public float[]! readFloatArray(float[]!, int);
- method protected float[]! readFloatArray();
- method protected <T extends androidx.versionedparcelable.VersionedParcelable> T! readFromParcel(String!, androidx.versionedparcelable.VersionedParcel!);
- method protected abstract int readInt();
- method public int readInt(int, int);
- method public int[]! readIntArray(int[]!, int);
- method protected int[]! readIntArray();
- method public <T> java.util.List<T!>! readList(java.util.List<T!>!, int);
- method protected abstract long readLong();
- method public long readLong(long, int);
- method public long[]! readLongArray(long[]!, int);
- method protected long[]! readLongArray();
- method public <K, V> java.util.Map<K!,V!>! readMap(java.util.Map<K!,V!>!, int);
- method protected abstract <T extends android.os.Parcelable> T! readParcelable();
- method public <T extends android.os.Parcelable> T! readParcelable(T!, int);
- method protected java.io.Serializable! readSerializable();
- method public <T> java.util.Set<T!>! readSet(java.util.Set<T!>!, int);
- method @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public android.util.Size! readSize(android.util.Size!, int);
- method @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public android.util.SizeF! readSizeF(android.util.SizeF!, int);
- method public android.util.SparseBooleanArray! readSparseBooleanArray(android.util.SparseBooleanArray!, int);
- method protected abstract String! readString();
- method public String! readString(String!, int);
- method protected abstract android.os.IBinder! readStrongBinder();
- method public android.os.IBinder! readStrongBinder(android.os.IBinder!, int);
- method public <T extends androidx.versionedparcelable.VersionedParcelable> T! readVersionedParcelable(T!, int);
- method protected <T extends androidx.versionedparcelable.VersionedParcelable> T! readVersionedParcelable();
- method protected abstract void setOutputField(int);
- method public void setSerializationFlags(boolean, boolean);
- method public <T> void writeArray(T![]!, int);
- method protected <T> void writeArray(T![]!);
- method protected abstract void writeBoolean(boolean);
- method public void writeBoolean(boolean, int);
- method public void writeBooleanArray(boolean[]!, int);
- method protected void writeBooleanArray(boolean[]!);
- method protected abstract void writeBundle(android.os.Bundle!);
- method public void writeBundle(android.os.Bundle!, int);
- method public void writeByte(byte, int);
- method protected abstract void writeByteArray(byte[]!);
- method protected abstract void writeByteArray(byte[]!, int, int);
- method public void writeByteArray(byte[]!, int);
- method public void writeByteArray(byte[]!, int, int, int);
- method public void writeCharArray(char[]!, int);
- method protected abstract void writeCharSequence(CharSequence!);
- method public void writeCharSequence(CharSequence!, int);
- method protected abstract void writeDouble(double);
- method public void writeDouble(double, int);
- method public void writeDoubleArray(double[]!, int);
- method protected void writeDoubleArray(double[]!);
- method public void writeException(Exception!, int);
- method protected abstract void writeFloat(float);
- method public void writeFloat(float, int);
- method public void writeFloatArray(float[]!, int);
- method protected void writeFloatArray(float[]!);
- method protected abstract void writeInt(int);
- method public void writeInt(int, int);
- method public void writeIntArray(int[]!, int);
- method protected void writeIntArray(int[]!);
- method public <T> void writeList(java.util.List<T!>!, int);
- method protected abstract void writeLong(long);
- method public void writeLong(long, int);
- method public void writeLongArray(long[]!, int);
- method protected void writeLongArray(long[]!);
- method public <K, V> void writeMap(java.util.Map<K!,V!>!, int);
- method protected void writeNoException();
- method protected abstract void writeParcelable(android.os.Parcelable!);
- method public void writeParcelable(android.os.Parcelable!, int);
- method public void writeSerializable(java.io.Serializable!, int);
- method public <T> void writeSet(java.util.Set<T!>!, int);
- method @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public void writeSize(android.util.Size!, int);
- method @RequiresApi(api=android.os.Build.VERSION_CODES.LOLLIPOP) public void writeSizeF(android.util.SizeF!, int);
- method public void writeSparseBooleanArray(android.util.SparseBooleanArray!, int);
- method protected abstract void writeString(String!);
- method public void writeString(String!, int);
- method protected abstract void writeStrongBinder(android.os.IBinder!);
- method public void writeStrongBinder(android.os.IBinder!, int);
- method protected abstract void writeStrongInterface(android.os.IInterface!);
- method public void writeStrongInterface(android.os.IInterface!, int);
- method protected <T extends androidx.versionedparcelable.VersionedParcelable> void writeToParcel(T!, androidx.versionedparcelable.VersionedParcel!);
- method public void writeVersionedParcelable(androidx.versionedparcelable.VersionedParcelable!, int);
- method protected void writeVersionedParcelable(androidx.versionedparcelable.VersionedParcelable!);
- field protected final androidx.collection.ArrayMap<java.lang.String!,java.lang.Class!>! mParcelizerCache;
- field protected final androidx.collection.ArrayMap<java.lang.String!,java.lang.reflect.Method!>! mReadCache;
- field protected final androidx.collection.ArrayMap<java.lang.String!,java.lang.reflect.Method!>! mWriteCache;
- }
-
- public static class VersionedParcel.ParcelException extends java.lang.RuntimeException {
- ctor public VersionedParcel.ParcelException(Throwable!);
- }
-
- public interface VersionedParcelable {
- }
-
- @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface VersionedParcelize {
- method public abstract boolean allowSerialization() default false;
- method public abstract int[] deprecatedIds() default {};
- method public abstract Class factory() default void.class;
- method public abstract boolean ignoreParcelables() default false;
- method public abstract boolean isCustom() default false;
- method public abstract String jetifyAs() default "";
- }
-
-}
-
diff --git a/versionedparcelable/versionedparcelable-compiler/build.gradle b/versionedparcelable/versionedparcelable-compiler/build.gradle
new file mode 100644
index 0000000..0c1ecd7
--- /dev/null
+++ b/versionedparcelable/versionedparcelable-compiler/build.gradle
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+import androidx.build.CompilationTarget
+import androidx.build.LibraryGroups
+import androidx.build.LibraryVersions
+import androidx.build.Publish
+
+import static androidx.build.dependencies.DependenciesKt.*
+
+plugins {
+ id("AndroidXPlugin")
+ id("java-library")
+}
+
+dependencies {
+ implementation(JAVAPOET)
+}
+
+androidx {
+ name = "VersionedParcelable - Compiler"
+ publish = Publish.SNAPSHOT_ONLY
+ mavenVersion = LibraryVersions.VERSIONED_PARCELABLE
+ toolingProject = true
+ compilationTarget = CompilationTarget.HOST
+ mavenGroup = LibraryGroups.VERSIONEDPARCELABLE
+ inceptionYear = "2018"
+ description = "Annotation processor for VersionedParcelable"
+}
\ No newline at end of file
diff --git a/versionedparcelable/annotation/src/main/java/androidx/versionedparcelable/compiler/VersionedParcelProcessor.java b/versionedparcelable/versionedparcelable-compiler/src/main/java/androidx/versionedparcelable/compiler/VersionedParcelProcessor.java
similarity index 99%
rename from versionedparcelable/annotation/src/main/java/androidx/versionedparcelable/compiler/VersionedParcelProcessor.java
rename to versionedparcelable/versionedparcelable-compiler/src/main/java/androidx/versionedparcelable/compiler/VersionedParcelProcessor.java
index 612e4ac..4a41d27 100644
--- a/versionedparcelable/annotation/src/main/java/androidx/versionedparcelable/compiler/VersionedParcelProcessor.java
+++ b/versionedparcelable/versionedparcelable-compiler/src/main/java/androidx/versionedparcelable/compiler/VersionedParcelProcessor.java
@@ -201,6 +201,7 @@
return true;
}
+ @SuppressWarnings("StringSplitter")
private void parseDeprecated(ArrayList<String> takenIds, String deprecatedIds) {
deprecatedIds = deprecatedIds.replace("{", "").replace("}", "");
String[] ids = deprecatedIds.split(",");
diff --git a/versionedparcelable/annotation/src/main/resources/META-INF/gradle/incremental.annotation.processors b/versionedparcelable/versionedparcelable-compiler/src/main/resources/META-INF/gradle/incremental.annotation.processors
similarity index 100%
rename from versionedparcelable/annotation/src/main/resources/META-INF/gradle/incremental.annotation.processors
rename to versionedparcelable/versionedparcelable-compiler/src/main/resources/META-INF/gradle/incremental.annotation.processors
diff --git a/versionedparcelable/annotation/src/main/resources/META-INF/services/javax.annotation.processing.Processor b/versionedparcelable/versionedparcelable-compiler/src/main/resources/META-INF/services/javax.annotation.processing.Processor
similarity index 100%
rename from versionedparcelable/annotation/src/main/resources/META-INF/services/javax.annotation.processing.Processor
rename to versionedparcelable/versionedparcelable-compiler/src/main/resources/META-INF/services/javax.annotation.processing.Processor
diff --git a/versionedparcelable/versionedparcelable/build.gradle b/versionedparcelable/versionedparcelable/build.gradle
index 831a6df..2dcfbdc 100644
--- a/versionedparcelable/versionedparcelable/build.gradle
+++ b/versionedparcelable/versionedparcelable/build.gradle
@@ -35,7 +35,7 @@
androidTestImplementation(MOCKITO_CORE, libs.exclude_bytebuddy)
androidTestImplementation(DEXMAKER_MOCKITO, libs.exclude_bytebuddy)
androidTestImplementation(TRUTH)
- androidTestAnnotationProcessor project(":versionedparcelable:versionedparcelable-annotation")
+ androidTestAnnotationProcessor project(":versionedparcelable:versionedparcelable-compiler")
}
android {