From 648a48895fb3db427f036674b129eae0827ca1e4 Mon Sep 17 00:00:00 2001 From: chinasoft-ohos-admin Date: Fri, 17 Sep 2021 15:59:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E7=94=A8library=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=EF=BC=8C=E8=BF=9C=E7=A8=8B=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- README.md | 24 +++++++++++++++ build.gradle | 3 ++ entry/build.gradle | 3 +- .../rxdiffutil/slice/MainAbilitySlice.java | 8 +++-- library/.gitignore | 2 ++ library/build.gradle | 28 ++++++++++++++++++ library/consumer-rules.pro | 1 + library/proguard-rules.pro | 1 + library/src/main/config.json | 24 +++++++++++++++ .../berlin/volders/rxdiff2}/BaseProvider.java | 2 +- .../rxdiff2}/CustStateChangedListener.java | 2 +- .../volders/rxdiff2}/CustomTableLayout.java | 9 +++--- .../berlin/volders/rxdiff2}/DiffResult.java | 3 +- .../java/berlin/volders/rxdiff2}/Thing.java | 2 +- .../volders/rxdiff2}/ThingRepository.java | 3 +- .../main/resources/base/element/string.json | 8 +++++ .../java/com/huawei/library/ExampleTest.java | 9 ++++++ settings.gradle | 2 +- upload.gradle | 29 +++++++++++++++++++ 20 files changed, 151 insertions(+), 15 deletions(-) create mode 100644 library/.gitignore create mode 100644 library/build.gradle create mode 100644 library/consumer-rules.pro create mode 100644 library/proguard-rules.pro create mode 100644 library/src/main/config.json rename {entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/adapter => library/src/main/java/berlin/volders/rxdiff2}/BaseProvider.java (95%) rename {entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil => library/src/main/java/berlin/volders/rxdiff2}/CustStateChangedListener.java (95%) rename {entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil => library/src/main/java/berlin/volders/rxdiff2}/CustomTableLayout.java (97%) rename {entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil => library/src/main/java/berlin/volders/rxdiff2}/DiffResult.java (90%) rename {entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil => library/src/main/java/berlin/volders/rxdiff2}/Thing.java (98%) rename {entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil => library/src/main/java/berlin/volders/rxdiff2}/ThingRepository.java (98%) create mode 100644 library/src/main/resources/base/element/string.json create mode 100644 library/src/test/java/com/huawei/library/ExampleTest.java create mode 100644 upload.gradle diff --git a/.gitignore b/.gitignore index 2ded6ff..901eaa0 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ /captures .externalNativeBuild /entry/.preview -.cxx \ No newline at end of file +.cxx +upload.gradle \ No newline at end of file diff --git a/README.md b/README.md index e49cdde..b5c1ead 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,30 @@ +#### 安装教程 + +1.在项目根目录下的build.gradle文件中, + ``` + allprojects { + repositories { + maven { + url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' + } + } + } + ``` +2.在entry模块的build.gradle文件中, + ``` + dependencies { + implementation('com.gitee.chinasoft_ohos:RxDiffUtil:0.0.1-SNAPSHOT') + ...... + } + ``` + +在sdk6,DevEco Studio 2.2 Beta1下项目可直接运行 +如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, +并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 + ## 使用说明 1.创建CustomTableLayout对象,并绑定Provider diff --git a/build.gradle b/build.gradle index fd383b9..e83c411 100644 --- a/build.gradle +++ b/build.gradle @@ -27,6 +27,9 @@ buildscript { allprojects { repositories { + maven { + url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' + } maven { url 'https://repo.huaweicloud.com/repository/maven/' } diff --git a/entry/build.gradle b/entry/build.gradle index 3413f90..78a830a 100644 --- a/entry/build.gradle +++ b/entry/build.gradle @@ -21,8 +21,9 @@ dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) testImplementation 'junit:junit:4.13' ohosTestImplementation 'com.huawei.ohos.testkit:runner:1.0.0.200' - api 'io.reactivex.rxjava3:rxjava:3.0.3' implementation 'io.openharmony.tpc.thirdlib:Rxohos:1.0.0' +// implementation project(path: ':library') + implementation('com.gitee.chinasoft_ohos:RxDiffUtil:0.0.1-SNAPSHOT') } decc { supportType = ['html', 'xml'] diff --git a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/slice/MainAbilitySlice.java b/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/slice/MainAbilitySlice.java index 7cb6858..1abcca8 100644 --- a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/slice/MainAbilitySlice.java +++ b/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/slice/MainAbilitySlice.java @@ -15,8 +15,12 @@ package cafe.adriel.ohosaudioconverter.rxdiffutil.slice; +import berlin.volders.rxdiff2.BaseProvider; +import berlin.volders.rxdiff2.CustomTableLayout; +import berlin.volders.rxdiff2.DiffResult; +import berlin.volders.rxdiff2.Thing; +import berlin.volders.rxdiff2.ThingRepository; import cafe.adriel.ohosaudioconverter.rxdiffutil.*; -import cafe.adriel.ohosaudioconverter.rxdiffutil.adapter.BaseProvider; import io.reactivex.rxjava3.disposables.Disposable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; @@ -30,7 +34,7 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; -import static cafe.adriel.ohosaudioconverter.rxdiffutil.DiffResult.calculateDiff; +import static berlin.volders.rxdiff2.DiffResult.calculateDiff; import static io.reactivex.rxjava3.openharmony.schedulers.OpenHarmonySchedulers.mainThread; import static io.reactivex.rxjava3.schedulers.Schedulers.computation; diff --git a/library/.gitignore b/library/.gitignore new file mode 100644 index 0000000..7d5b7a9 --- /dev/null +++ b/library/.gitignore @@ -0,0 +1,2 @@ +/build +/node_modules diff --git a/library/build.gradle b/library/build.gradle new file mode 100644 index 0000000..d80c911 --- /dev/null +++ b/library/build.gradle @@ -0,0 +1,28 @@ +apply plugin: 'com.huawei.ohos.library' +apply from: '../upload.gradle' +rootProject.ext { + DEFAULT_GROUP_ID = 'com.gitee.chinasoft_ohos' //固定的groupId,服务商自行申请 + DEFAULT_ARTIFACT_ID = "RxDiffUtil" //项目ID,填写项目名称。 + DEFAULT_VERSION = '0.0.1-SNAPSHOT' //版本号,发新版本时修改 +} +ohos { + compileSdkVersion 6 + defaultConfig { + compatibleSdkVersion 5 + } + buildTypes { + release { + proguardOpt { + proguardEnabled false + rulesFiles 'proguard-rules.pro' + } + } + } + +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + testImplementation 'junit:junit:4.13' + api 'io.reactivex.rxjava3:rxjava:3.0.3' +} diff --git a/library/consumer-rules.pro b/library/consumer-rules.pro new file mode 100644 index 0000000..9dccc61 --- /dev/null +++ b/library/consumer-rules.pro @@ -0,0 +1 @@ +# Add har specific ProGuard rules for consumer here. \ No newline at end of file diff --git a/library/proguard-rules.pro b/library/proguard-rules.pro new file mode 100644 index 0000000..f7666e4 --- /dev/null +++ b/library/proguard-rules.pro @@ -0,0 +1 @@ +# config module specific ProGuard rules here. \ No newline at end of file diff --git a/library/src/main/config.json b/library/src/main/config.json new file mode 100644 index 0000000..943e0d3 --- /dev/null +++ b/library/src/main/config.json @@ -0,0 +1,24 @@ +{ + "app": { + "bundleName": "cafe.adriel.ohosaudioconverter.rxdiffutil", + "vendor": "huawei", + "version": { + "code": 1000000, + "name": "1.0.0" + } + }, + "deviceConfig": { + }, + "module": { + "package": "com.huawei.library", + "deviceType": [ + "phone", + "tv" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "library", + "moduleType": "har" + } + } +} \ No newline at end of file diff --git a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/adapter/BaseProvider.java b/library/src/main/java/berlin/volders/rxdiff2/BaseProvider.java similarity index 95% rename from entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/adapter/BaseProvider.java rename to library/src/main/java/berlin/volders/rxdiff2/BaseProvider.java index 116ad02..b95cdaa 100644 --- a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/adapter/BaseProvider.java +++ b/library/src/main/java/berlin/volders/rxdiff2/BaseProvider.java @@ -13,7 +13,7 @@ * limitations under the License. */ -package cafe.adriel.ohosaudioconverter.rxdiffutil.adapter; +package berlin.volders.rxdiff2; import ohos.agp.components.Component; import ohos.agp.components.ComponentContainer; diff --git a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/CustStateChangedListener.java b/library/src/main/java/berlin/volders/rxdiff2/CustStateChangedListener.java similarity index 95% rename from entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/CustStateChangedListener.java rename to library/src/main/java/berlin/volders/rxdiff2/CustStateChangedListener.java index 1a18e6b..d666760 100644 --- a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/CustStateChangedListener.java +++ b/library/src/main/java/berlin/volders/rxdiff2/CustStateChangedListener.java @@ -13,7 +13,7 @@ * limitations under the License. */ -package cafe.adriel.ohosaudioconverter.rxdiffutil; +package berlin.volders.rxdiff2; import ohos.agp.animation.Animator; diff --git a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/CustomTableLayout.java b/library/src/main/java/berlin/volders/rxdiff2/CustomTableLayout.java similarity index 97% rename from entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/CustomTableLayout.java rename to library/src/main/java/berlin/volders/rxdiff2/CustomTableLayout.java index fed465e..740a58e 100644 --- a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/CustomTableLayout.java +++ b/library/src/main/java/berlin/volders/rxdiff2/CustomTableLayout.java @@ -13,12 +13,13 @@ * limitations under the License. */ -package cafe.adriel.ohosaudioconverter.rxdiffutil; +package berlin.volders.rxdiff2; -import cafe.adriel.ohosaudioconverter.rxdiffutil.adapter.BaseProvider; import ohos.agp.animation.Animator; import ohos.agp.animation.AnimatorProperty; -import ohos.agp.components.*; +import ohos.agp.components.AttrSet; +import ohos.agp.components.Component; +import ohos.agp.components.DependentLayout; import ohos.agp.window.service.DisplayManager; import ohos.app.Context; import ohos.app.dispatcher.TaskDispatcher; @@ -27,7 +28,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import static cafe.adriel.ohosaudioconverter.rxdiffutil.ThingRepository.*; +import static berlin.volders.rxdiff2.ThingRepository.*; /** * CustomTableLayout. diff --git a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/DiffResult.java b/library/src/main/java/berlin/volders/rxdiff2/DiffResult.java similarity index 90% rename from entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/DiffResult.java rename to library/src/main/java/berlin/volders/rxdiff2/DiffResult.java index 7a15721..866fc52 100644 --- a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/DiffResult.java +++ b/library/src/main/java/berlin/volders/rxdiff2/DiffResult.java @@ -13,9 +13,8 @@ * limitations under the License. */ -package cafe.adriel.ohosaudioconverter.rxdiffutil; +package berlin.volders.rxdiff2; -import cafe.adriel.ohosaudioconverter.rxdiffutil.adapter.BaseProvider; /** * DiffResult. diff --git a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/Thing.java b/library/src/main/java/berlin/volders/rxdiff2/Thing.java similarity index 98% rename from entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/Thing.java rename to library/src/main/java/berlin/volders/rxdiff2/Thing.java index 0a25087..f9c3911 100644 --- a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/Thing.java +++ b/library/src/main/java/berlin/volders/rxdiff2/Thing.java @@ -13,7 +13,7 @@ * limitations under the License. */ -package cafe.adriel.ohosaudioconverter.rxdiffutil; +package berlin.volders.rxdiff2; import ohos.utils.Parcel; import ohos.utils.Sequenceable; diff --git a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/ThingRepository.java b/library/src/main/java/berlin/volders/rxdiff2/ThingRepository.java similarity index 98% rename from entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/ThingRepository.java rename to library/src/main/java/berlin/volders/rxdiff2/ThingRepository.java index 938d5b1..c25b728 100644 --- a/entry/src/main/java/cafe/adriel/ohosaudioconverter/rxdiffutil/ThingRepository.java +++ b/library/src/main/java/berlin/volders/rxdiff2/ThingRepository.java @@ -13,7 +13,8 @@ * limitations under the License. */ -package cafe.adriel.ohosaudioconverter.rxdiffutil; +package berlin.volders.rxdiff2; + import io.reactivex.rxjava3.core.Flowable; import io.reactivex.rxjava3.schedulers.Schedulers; diff --git a/library/src/main/resources/base/element/string.json b/library/src/main/resources/base/element/string.json new file mode 100644 index 0000000..211a936 --- /dev/null +++ b/library/src/main/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "library_library", + "value": "library_library" + } + ] +} diff --git a/library/src/test/java/com/huawei/library/ExampleTest.java b/library/src/test/java/com/huawei/library/ExampleTest.java new file mode 100644 index 0000000..46febcd --- /dev/null +++ b/library/src/test/java/com/huawei/library/ExampleTest.java @@ -0,0 +1,9 @@ +package com.huawei.library; + +import org.junit.Test; + +public class ExampleTest { + @Test + public void onStart() { + } +} diff --git a/settings.gradle b/settings.gradle index 4773db7..d0c7ee8 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include ':entry' +include ':entry', ':library' diff --git a/upload.gradle b/upload.gradle new file mode 100644 index 0000000..55ae3b1 --- /dev/null +++ b/upload.gradle @@ -0,0 +1,29 @@ +//这个文件不能提交到代码仓库 +apply plugin: 'maven' +apply plugin: 'maven-publish' + +def REMOTE_MAVEN_REPOSITORY_URL='https://s01.oss.sonatype.org/content/repositories/snapshots/' //远程Maven仓地址,固定的不需要改动 +def MAVEN_USERNAME='chinasoft_ohos' //远程Maven仓的用户名,固定的不需要改动 +def MAVEN_PASSWORD='QAZwsx@123456' //远程Maven仓的密码,固定的不需要改动 + +afterEvaluate { project -> + publishing { + publications { + mavenJava(MavenPublication) { + from components.release + group = rootProject.ext.DEFAULT_GROUP_ID + artifactId = rootProject.ext.DEFAULT_ARTIFACT_ID + version = rootProject.ext.DEFAULT_VERSION + } + } + repositories { + maven { + url = REMOTE_MAVEN_REPOSITORY_URL + credentials { + username MAVEN_USERNAME + password MAVEN_PASSWORD + } + } + } + } +} -- Gitee