diff --git a/.gitignore b/.gitignore index 2ded6ff0e3a8ad5a05cd6129b12254a72b5a8183..901eaa00e6c2a476c2c1fde1ca5c39f8982f14f4 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 e49cdde78d329344a6848a52fd06ec47b7efc2ac..b5c1ead47d58f4890923e8eb1c605151df6deb00 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 fd383b9ad5f8cb6947c897734ddc7d7681395fe9..e83c4110b5a616eb021bf93ff55e627e4a718a33 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 3413f908869a4fa475c4ccfd4f477f0e186f90fd..78a830a2fc849844ac7bae1d0bfc3dcf8d6d54ef 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 7cb685898b4b472520d13a5d362b2a2dea153f25..1abcca8a5dd7a84e9f1751f4b33eb0e2a342f82b 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 0000000000000000000000000000000000000000..7d5b7a94f4dcf381f03ff21f28f8a2494b58023f --- /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 0000000000000000000000000000000000000000..d80c911af21e1e351c8802e4b6709acfcf54b5b1 --- /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 0000000000000000000000000000000000000000..9dccc613bc71b04b83531f550bdab2fb667ecfc9 --- /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 0000000000000000000000000000000000000000..f7666e47561d514b2a76d5a7dfbb43ede86da92a --- /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 0000000000000000000000000000000000000000..943e0d3796557d0056956e2658c3074a276c1489 --- /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 116ad023289bf5c36a023d2a2bc211a09b7de99e..b95cdaa6c2895838d667b1a9d10db94cea07d363 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 1a18e6b72c0b10eddb3ca23ad0d9a6341d6bf6ec..d66676027670b7dbf71e6b95c7ad83e7ab9752b4 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 fed465e3880145249b274d1e0b537e23ce4cc548..740a58e77e6b2943e4eca6ce63d176138a8514ae 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 7a15721abc8ab2b8200173ed0a8654d7ee2f3ab6..866fc52d5a08b3809f15aa5594244710b12b8cbe 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 0a2508735104adf2d45dea1451da8694b3894261..f9c3911c95255bb4b72fb6b6dfc33eeee7dc2cb1 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 938d5b166f7c4be4d51a9a36d4e2d42c2c6a4617..c25b728e3eb913b16413c2db2bf3b8c99820bf95 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 0000000000000000000000000000000000000000..211a936b6a562815c346636393376e8f1a72a08e --- /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 0000000000000000000000000000000000000000..46febcdefe631e716f959e371a631bdf4610b844 --- /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 4773db73233a570c2d0c01a22e75321acfbf7a07..d0c7ee8440156d4a9324ac5357770747425fef57 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 0000000000000000000000000000000000000000..55ae3b176ccd76d27e0542711481db3f3c7f4cc5 --- /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 + } + } + } + } +}