From a46ed6c6c459f4d102a63d15aceb0e13dc5d246b Mon Sep 17 00:00:00 2001 From: Eli Hart Date: Wed, 11 Oct 2017 12:58:48 -0700 Subject: [PATCH] Prepare for 2.6.0 release (#312) --- CHANGELOG.md | 11 +++++++++++ README.md | 4 ++-- epoxy-integrationtest/build.gradle | 12 ++++++++---- epoxy-sample/src/main/AndroidManifest.xml | 6 +++--- .../java/com/airbnb/epoxy/sample/MainActivity.java | 1 - .../com/airbnb/epoxy/sample/SampleController.java | 2 -- .../epoxy/sample/models/CarouselModelGroup.java | 2 +- .../com/airbnb/epoxy/sample/models/ColorModel.java | 2 +- .../airbnb/epoxy/sample/models/ImageButtonModel.java | 2 +- .../java/com/airbnb/epoxy/sample/package-info.java | 1 - .../com/airbnb/epoxy/sample/views/HeaderView.java | 2 +- gradle.properties | 2 +- 12 files changed, 29 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e723909bd..3bce33d522 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +# 2.6.0 (October 10, 2017) +* **Improvement** If a `OnModelClickListener` is used it will not be called if a view is clicked while it is being removed or otherwise has no position (https://github.com/airbnb/epoxy/issues/293 - Thanks @niccorder!) + +* **New** `EpoxyRecyclerView` and `Carousel` provide out of the box integration with Epoxy along with other enhancements over regular RecyclerView (https://github.com/airbnb/epoxy/wiki/EpoxyRecyclerView) +* **New** `EpoxyPagingController` provides integration with the Android Paging architecture component as well as normal, large lists of items (https://github.com/airbnb/epoxy/wiki/Large-Data-Sets) + +#### Kotlin +* **Improvement** Disable kotlin extension function generation with the annotation processor flag `disableEpoxyKotlinExtensionGeneration` (https://github.com/airbnb/epoxy/pull/309) +* **Fix** If a model has a non empty constructor the generated extension function will now use it. + + # 2.5.1 (October 2, 2017) * **Fixed** The wrong import was being generated for models using a view holder in 2.5.0 (https://github.com/airbnb/epoxy/pull/294) * **Fixed** Fix generated code failing to compile if a subclass of View.OnClickListener is used as an attribute (https://github.com/airbnb/epoxy/pull/296) diff --git a/README.md b/README.md index c76ad1560e..d1c7f12593 100755 --- a/README.md +++ b/README.md @@ -19,9 +19,9 @@ Gradle is the only supported build configuration, so just add the dependency to ```groovy dependencies { - compile 'com.airbnb.android:epoxy:2.5.1' + compile 'com.airbnb.android:epoxy:2.6.0' // Add the annotation processor if you are using Epoxy's annotations (recommended) - annotationProcessor 'com.airbnb.android:epoxy-processor:2.5.1' + annotationProcessor 'com.airbnb.android:epoxy-processor:2.6.0' } ``` diff --git a/epoxy-integrationtest/build.gradle b/epoxy-integrationtest/build.gradle index ca95e19958..17cda77e73 100644 --- a/epoxy-integrationtest/build.gradle +++ b/epoxy-integrationtest/build.gradle @@ -8,7 +8,7 @@ android { buildToolsVersion rootProject.ANDROID_BUILD_TOOLS_VERSION defaultConfig { - applicationId "com.airbnb.android.epoxy" + applicationId "com.airbnb.epoxy.integrationtest" minSdkVersion rootProject.MIN_SDK_VERSION targetSdkVersion rootProject.TARGET_SDK_VERSION vectorDrawables.useSupportLibrary = true @@ -19,13 +19,15 @@ android { dataBinding { enabled = true } + + dexOptions { + // Was getting this error otherwise - "Multiple dex files define Landroid/arch/core/BuildConfig" + preDexLibraries = false + } } dependencies { compile rootProject.deps.kotlin - testCompile rootProject.deps.junit - compile project(':epoxy-adapter') - compile project(':epoxy-annotations') compile project(':epoxy-databinding') compile project(':epoxy-paging') @@ -33,8 +35,10 @@ dependencies { kapt rootProject.deps.dataBindingCompiler testCompile rootProject.deps.robolectric + testCompile rootProject.deps.junit testCompile rootProject.deps.mockito } + repositories { mavenCentral() } \ No newline at end of file diff --git a/epoxy-sample/src/main/AndroidManifest.xml b/epoxy-sample/src/main/AndroidManifest.xml index 4b5f9ddfe6..c5358f28a4 100755 --- a/epoxy-sample/src/main/AndroidManifest.xml +++ b/epoxy-sample/src/main/AndroidManifest.xml @@ -1,14 +1,14 @@ - diff --git a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/MainActivity.java b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/MainActivity.java index ea35474fc2..0d20c5d5e0 100755 --- a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/MainActivity.java +++ b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/MainActivity.java @@ -15,7 +15,6 @@ import com.airbnb.epoxy.EpoxyRecyclerView; import com.airbnb.epoxy.EpoxyTouchHelper; import com.airbnb.epoxy.EpoxyTouchHelper.DragCallbacks; -import com.airbnb.epoxy.R; import com.airbnb.epoxy.sample.SampleController.AdapterCallbacks; import com.airbnb.epoxy.sample.models.CarouselModelGroup; diff --git a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/SampleController.java b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/SampleController.java index e8df1b73e0..9ac7f0891d 100644 --- a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/SampleController.java +++ b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/SampleController.java @@ -1,8 +1,6 @@ package com.airbnb.epoxy.sample; import com.airbnb.epoxy.AutoModel; -import com.airbnb.epoxy.ButtonBindingModel_; -import com.airbnb.epoxy.R; import com.airbnb.epoxy.TypedEpoxyController; import com.airbnb.epoxy.sample.models.CarouselModelGroup; import com.airbnb.epoxy.sample.views.HeaderViewModel_; diff --git a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/models/CarouselModelGroup.java b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/models/CarouselModelGroup.java index b01684d182..bd7b5e7973 100644 --- a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/models/CarouselModelGroup.java +++ b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/models/CarouselModelGroup.java @@ -2,9 +2,9 @@ import com.airbnb.epoxy.EpoxyModel; import com.airbnb.epoxy.EpoxyModelGroup; -import com.airbnb.epoxy.R; import com.airbnb.epoxy.sample.CarouselData; import com.airbnb.epoxy.sample.ColorData; +import com.airbnb.epoxy.sample.R; import com.airbnb.epoxy.sample.SampleController.AdapterCallbacks; import com.airbnb.epoxy.sample.views.GridCarouselModel_; diff --git a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/models/ColorModel.java b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/models/ColorModel.java index 9d62bdfdb6..58f4255abf 100644 --- a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/models/ColorModel.java +++ b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/models/ColorModel.java @@ -8,7 +8,7 @@ import com.airbnb.epoxy.EpoxyModel; import com.airbnb.epoxy.EpoxyModelClass; import com.airbnb.epoxy.EpoxyModelWithHolder; -import com.airbnb.epoxy.R; +import com.airbnb.epoxy.sample.R; import com.airbnb.epoxy.sample.models.ColorModel.ColorHolder; import com.airbnb.lottie.LottieAnimationView; diff --git a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/models/ImageButtonModel.java b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/models/ImageButtonModel.java index 086ad00288..5caa6dbafb 100644 --- a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/models/ImageButtonModel.java +++ b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/models/ImageButtonModel.java @@ -7,7 +7,7 @@ import com.airbnb.epoxy.EpoxyAttribute; import com.airbnb.epoxy.EpoxyModelClass; import com.airbnb.epoxy.EpoxyModelWithHolder; -import com.airbnb.epoxy.R; +import com.airbnb.epoxy.sample.R; import com.airbnb.epoxy.sample.models.ImageButtonModel.ImageButtonHolder; import butterknife.BindView; diff --git a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/package-info.java b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/package-info.java index 2ccd2e4208..5947e3ee18 100644 --- a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/package-info.java +++ b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/package-info.java @@ -4,4 +4,3 @@ import com.airbnb.epoxy.EpoxyDataBindingLayouts; import com.airbnb.epoxy.PackageModelViewConfig; -import com.airbnb.epoxy.R; diff --git a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/views/HeaderView.java b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/views/HeaderView.java index 2077c3e97b..13c712ad35 100755 --- a/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/views/HeaderView.java +++ b/epoxy-sample/src/main/java/com/airbnb/epoxy/sample/views/HeaderView.java @@ -8,8 +8,8 @@ import com.airbnb.epoxy.ModelProp.Option; import com.airbnb.epoxy.ModelView; import com.airbnb.epoxy.ModelView.Size; -import com.airbnb.epoxy.R; import com.airbnb.epoxy.TextProp; +import com.airbnb.epoxy.sample.R; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/gradle.properties b/gradle.properties index 71818a2649..3e2c847380 100755 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -VERSION_NAME=2.5.1 +VERSION_NAME=2.6.0 GROUP=com.airbnb.android POM_DESCRIPTION=Epoxy is a system for composing complex screens with a ReyclerView in Android. POM_URL=https://github.com/airbnb/epoxy