├── app ├── .gitignore ├── libs │ ├── library-debug.aar │ ├── InfoMonitor.jar │ └── business1-debug.aar ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── layout │ │ │ │ ├── activity_showfragment.xml │ │ │ │ ├── activity_showview.xml │ │ │ │ └── activity_main.xml │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ └── drawable │ │ │ │ └── ic_launcher_background.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── beyondxia │ │ │ │ └── host │ │ │ │ ├── PABaseService.java │ │ │ │ ├── TestService1.java │ │ │ │ ├── TestService3.java │ │ │ │ ├── TestService.java │ │ │ │ ├── IInterface.java │ │ │ │ ├── TestSuper.java │ │ │ │ ├── MyApp.java │ │ │ │ ├── export │ │ │ │ ├── TestServiceImpl1.java │ │ │ │ ├── TestServiceImpl.java │ │ │ │ └── HostExport.java │ │ │ │ ├── ShowFragmentActivity.java │ │ │ │ ├── ShowViewActivity.java │ │ │ │ └── MainActivity.java │ │ └── AndroidManifest.xml │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── pingan │ │ │ └── aptdemo │ │ │ └── ExampleInstrumentedTest.java │ └── test │ │ └── java │ │ └── com │ │ └── pingan │ │ └── aptdemo │ │ └── ExampleUnitTest.java ├── proguard-rules.pro └── build.gradle ├── business1 ├── .gitignore ├── src │ └── main │ │ ├── res │ │ ├── values │ │ │ ├── styles.xml │ │ │ ├── dimens.xml │ │ │ ├── colors.xml │ │ │ └── strings.xml │ │ ├── drawable │ │ │ └── item_bg.xml │ │ └── layout │ │ │ ├── stagger_item.xml │ │ │ ├── simple_fragment.xml │ │ │ └── activity_login.xml │ │ ├── java │ │ └── com │ │ │ └── beyondxia │ │ │ └── bussiness1 │ │ │ ├── LoginModel.java │ │ │ ├── MyLogin.java │ │ │ ├── export │ │ │ ├── FragmentShow.java │ │ │ ├── Dashboard.java │ │ │ └── Login.java │ │ │ └── fragment │ │ │ ├── SimpleFragment.java │ │ │ └── StaggerGridAdapter.java │ │ └── AndroidManifest.xml ├── proguard-rules.pro └── build.gradle ├── modules-api ├── .gitignore ├── src │ └── main │ │ ├── res │ │ └── values │ │ │ └── strings.xml │ │ ├── java │ │ └── com │ │ │ └── beyondxia │ │ │ └── modules │ │ │ ├── fetcher │ │ │ ├── ServiceFactory.java │ │ │ ├── NoCacheServiceFetcher.java │ │ │ ├── CacheServiceFetcher.java │ │ │ └── SingleInstanceServiceFetcher.java │ │ │ ├── BCBaseModel.java │ │ │ ├── IRegisterService.java │ │ │ ├── exception │ │ │ └── NoServiceException.java │ │ │ ├── ILifeCycle.java │ │ │ ├── PAServiceConfig.java │ │ │ ├── PAService.java │ │ │ ├── utils │ │ │ ├── thread │ │ │ │ ├── CancelableCountDownLatch.java │ │ │ │ ├── DefaultThreadFactory.java │ │ │ │ └── DefaultPoolExecutor.java │ │ │ └── ClassUtil.java │ │ │ ├── BCDictionary.java │ │ │ ├── PAServiceEvn.java │ │ │ └── ServiceHelper.java │ │ └── AndroidManifest.xml ├── proguard-rules.pro └── build.gradle ├── modules-compiler ├── .gitignore ├── src │ └── main │ │ └── java │ │ └── com │ │ └── beyondxia │ │ └── compiler │ │ └── utils │ │ ├── Constants.java │ │ ├── SystemUtils.java │ │ └── Logger.java └── build.gradle ├── modules-plugin ├── .gitignore ├── src │ └── main │ │ ├── resources │ │ └── META-INF │ │ │ └── gradle-plugins │ │ │ └── com.beyondxia.modules.plugin.properties │ │ └── groovy │ │ └── com │ │ └── beyondxia │ │ └── plugin │ │ ├── entity │ │ └── ConfigExtention.groovy │ │ ├── utils │ │ ├── LoggerUtils.java │ │ ├── SystemUtils.java │ │ ├── RegisterUtils.groovy │ │ └── TransformUtil.groovy │ │ ├── PAServicePlugin.groovy │ │ ├── constant │ │ └── ClassConstant.groovy │ │ └── PATransform.groovy └── build.gradle ├── other └── business2 │ ├── .gitignore │ ├── src │ └── main │ │ ├── res │ │ ├── values │ │ │ └── strings.xml │ │ └── layout │ │ │ └── activity_b2.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── beyondxia │ │ └── message │ │ ├── MessageModel.java │ │ ├── export │ │ └── Message.java │ │ └── B2Activity.java │ ├── proguard-rules.pro │ └── build.gradle ├── modules-annotation ├── .gitignore ├── src │ └── main │ │ └── java │ │ └── com │ │ └── beyondxia │ │ └── annotation │ │ ├── ExportMethod.java │ │ └── ExportService.java └── build.gradle ├── modules_services_api ├── .gitignore ├── src │ └── main │ │ ├── res │ │ └── values │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ ├── pingan │ │ └── my │ │ │ ├── IMyMessage.java │ │ │ └── MyMessageService.java │ │ └── beyondxia │ │ ├── host │ │ └── export │ │ │ ├── IHostExport.java │ │ │ ├── ITestServiceImpl1.java │ │ │ ├── ITestServiceImpl.java │ │ │ ├── HostExportService.java │ │ │ ├── TestServiceImplService.java │ │ │ └── TestServiceImpl1Service.java │ │ ├── bussiness1 │ │ └── export │ │ │ ├── IFragmentShow.java │ │ │ ├── IDashboard.java │ │ │ ├── LoginService.java │ │ │ ├── DashboardService.java │ │ │ ├── FragmentShowService.java │ │ │ └── ILogin.java │ │ └── message │ │ └── export │ │ ├── IMessage.java │ │ └── MessageService.java ├── proguard-rules.pro └── build.gradle ├── image ├── qq.png ├── demo.gif ├── gzh.jpg ├── HostApp.png ├── Business1.png ├── Business2.png └── modules-api.png ├── repos └── com │ └── beyondxia │ └── modules │ ├── api_dev │ ├── maven-metadata.xml.md5 │ ├── 1.0.1 │ │ ├── api_dev-1.0.1.aar.md5 │ │ ├── api_dev-1.0.1.pom.md5 │ │ ├── api_dev-1.0.1.aar.sha1 │ │ ├── api_dev-1.0.1.pom.sha1 │ │ ├── api_dev-1.0.1.aar │ │ └── api_dev-1.0.1.pom │ ├── maven-metadata.xml.sha1 │ └── maven-metadata.xml │ ├── compiler │ ├── maven-metadata.xml.md5 │ ├── 1.1.0 │ │ ├── compiler-1.1.0.jar.md5 │ │ ├── compiler-1.1.0.pom.md5 │ │ ├── compiler-1.1.0-javadoc.jar.md5 │ │ ├── compiler-1.1.0-sources.jar.md5 │ │ ├── compiler-1.1.0.jar.sha1 │ │ ├── compiler-1.1.0.pom.sha1 │ │ ├── compiler-1.1.0-javadoc.jar.sha1 │ │ ├── compiler-1.1.0-sources.jar.sha1 │ │ ├── compiler-1.1.0.jar │ │ ├── compiler-1.1.0-javadoc.jar │ │ ├── compiler-1.1.0-sources.jar │ │ └── compiler-1.1.0.pom │ ├── maven-metadata.xml.sha1 │ └── maven-metadata.xml │ ├── plugin_dev │ ├── maven-metadata.xml.md5 │ ├── 1.0.3 │ │ ├── plugin_dev-1.0.3.jar.md5 │ │ ├── plugin_dev-1.0.3.pom.md5 │ │ ├── plugin_dev-1.0.3.jar.sha1 │ │ ├── plugin_dev-1.0.3.pom.sha1 │ │ ├── plugin_dev-1.0.3.jar │ │ └── plugin_dev-1.0.3.pom │ ├── 1.0.4 │ │ ├── plugin_dev-1.0.4.jar.md5 │ │ ├── plugin_dev-1.0.4.pom.md5 │ │ ├── plugin_dev-1.0.4.jar.sha1 │ │ ├── plugin_dev-1.0.4.pom.sha1 │ │ ├── plugin_dev-1.0.4.jar │ │ └── plugin_dev-1.0.4.pom │ ├── maven-metadata.xml.sha1 │ └── maven-metadata.xml │ ├── annotation_dev │ ├── maven-metadata.xml.md5 │ ├── maven-metadata.xml.sha1 │ ├── 1.0.1 │ │ ├── annotation_dev-1.0.1.jar.md5 │ │ ├── annotation_dev-1.0.1.pom.md5 │ │ ├── annotation_dev-1.0.1.jar.sha1 │ │ ├── annotation_dev-1.0.1.pom.sha1 │ │ ├── annotation_dev-1.0.1.jar │ │ └── annotation_dev-1.0.1.pom │ └── maven-metadata.xml │ ├── compiler_dev │ ├── maven-metadata.xml.md5 │ ├── 1.0.1 │ │ ├── compiler_dev-1.0.1.jar.md5 │ │ ├── compiler_dev-1.0.1.pom.md5 │ │ ├── compiler_dev-1.0.1.jar.sha1 │ │ ├── compiler_dev-1.0.1.pom.sha1 │ │ ├── compiler_dev-1.0.1.jar │ │ └── compiler_dev-1.0.1.pom │ ├── maven-metadata.xml.sha1 │ └── maven-metadata.xml │ └── transform-plugin │ ├── maven-metadata.xml.md5 │ ├── maven-metadata.xml.sha1 │ ├── 1.1.2 │ ├── transform-plugin-1.1.2.jar.md5 │ ├── transform-plugin-1.1.2.pom.md5 │ ├── transform-plugin-1.1.2-javadoc.jar.md5 │ ├── transform-plugin-1.1.2-sources.jar.md5 │ ├── transform-plugin-1.1.2.jar.sha1 │ ├── transform-plugin-1.1.2.pom.sha1 │ ├── transform-plugin-1.1.2-javadoc.jar.sha1 │ ├── transform-plugin-1.1.2-sources.jar.sha1 │ ├── transform-plugin-1.1.2.jar │ ├── transform-plugin-1.1.2-javadoc.jar │ ├── transform-plugin-1.1.2-sources.jar │ └── transform-plugin-1.1.2.pom │ ├── 1.1.5 │ ├── transform-plugin-1.1.5.jar.md5 │ ├── transform-plugin-1.1.5.pom.md5 │ ├── transform-plugin-1.1.5-javadoc.jar.md5 │ ├── transform-plugin-1.1.5-sources.jar.md5 │ ├── transform-plugin-1.1.5.jar.sha1 │ ├── transform-plugin-1.1.5.pom.sha1 │ ├── transform-plugin-1.1.5-javadoc.jar.sha1 │ ├── transform-plugin-1.1.5-sources.jar.sha1 │ ├── transform-plugin-1.1.5.jar │ ├── transform-plugin-1.1.5-javadoc.jar │ ├── transform-plugin-1.1.5-sources.jar │ └── transform-plugin-1.1.5.pom │ ├── 1.2.3 │ ├── transform-plugin-1.2.3.jar.md5 │ ├── transform-plugin-1.2.3.pom.md5 │ ├── transform-plugin-1.2.3-javadoc.jar.md5 │ ├── transform-plugin-1.2.3-sources.jar.md5 │ ├── transform-plugin-1.2.3.jar.sha1 │ ├── transform-plugin-1.2.3.pom.sha1 │ ├── transform-plugin-1.2.3-javadoc.jar.sha1 │ ├── transform-plugin-1.2.3-sources.jar.sha1 │ ├── transform-plugin-1.2.3.jar │ ├── transform-plugin-1.2.3-javadoc.jar │ ├── transform-plugin-1.2.3-sources.jar │ └── transform-plugin-1.2.3.pom │ ├── 1.2.5 │ ├── transform-plugin-1.2.5.jar.md5 │ ├── transform-plugin-1.2.5.pom.md5 │ ├── transform-plugin-1.2.5-javadoc.jar.md5 │ ├── transform-plugin-1.2.5-sources.jar.md5 │ ├── transform-plugin-1.2.5.jar.sha1 │ ├── transform-plugin-1.2.5.pom.sha1 │ ├── transform-plugin-1.2.5-javadoc.jar.sha1 │ ├── transform-plugin-1.2.5-sources.jar.sha1 │ ├── transform-plugin-1.2.5.jar │ ├── transform-plugin-1.2.5-javadoc.jar │ ├── transform-plugin-1.2.5-sources.jar │ └── transform-plugin-1.2.5.pom │ └── maven-metadata.xml ├── docs └── 组件化框架集成文档_V1.2.pdf ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── settings.gradle ├── repo_plugin.gradle ├── repo_annotation.gradle ├── repo_compiler.gradle ├── gradle.properties ├── bintray.gradle ├── gradlew.bat ├── repo_api.gradle ├── README.md └── gradlew /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/libs/library-debug.aar: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /business1/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /modules-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /modules-compiler/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /modules-plugin/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /other/business2/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /modules-annotation/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /modules_services_api/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /image/qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/image/qq.png -------------------------------------------------------------------------------- /image/demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/image/demo.gif -------------------------------------------------------------------------------- /image/gzh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/image/gzh.jpg -------------------------------------------------------------------------------- /image/HostApp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/image/HostApp.png -------------------------------------------------------------------------------- /image/Business1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/image/Business1.png -------------------------------------------------------------------------------- /image/Business2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/image/Business2.png -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/api_dev/maven-metadata.xml.md5: -------------------------------------------------------------------------------- 1 | 8f98dfa19e8b3a74f74d5f015750c415 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler/maven-metadata.xml.md5: -------------------------------------------------------------------------------- 1 | 631c321dad47e76053b1ef52bff22419 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/plugin_dev/maven-metadata.xml.md5: -------------------------------------------------------------------------------- 1 | b99468637e81bc2d4d3edbcfa6ffa299 -------------------------------------------------------------------------------- /image/modules-api.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/image/modules-api.png -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/annotation_dev/maven-metadata.xml.md5: -------------------------------------------------------------------------------- 1 | de734d53d19167349b85b20a1611b376 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/api_dev/1.0.1/api_dev-1.0.1.aar.md5: -------------------------------------------------------------------------------- 1 | 999aa1568e6028089bbeb2c1ffb07da9 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/api_dev/1.0.1/api_dev-1.0.1.pom.md5: -------------------------------------------------------------------------------- 1 | 5619a0893383b4db94dc92443f161a4a -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler/1.1.0/compiler-1.1.0.jar.md5: -------------------------------------------------------------------------------- 1 | c4c5c6dc761288580a09ade5b629cb2d -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler/1.1.0/compiler-1.1.0.pom.md5: -------------------------------------------------------------------------------- 1 | ebf4a0ecf68b75e9029b60cd57f50ca0 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler_dev/maven-metadata.xml.md5: -------------------------------------------------------------------------------- 1 | 4f8481d752483226dbd699480d2abece -------------------------------------------------------------------------------- /app/libs/InfoMonitor.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/app/libs/InfoMonitor.jar -------------------------------------------------------------------------------- /docs/组件化框架集成文档_V1.2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/docs/组件化框架集成文档_V1.2.pdf -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/api_dev/maven-metadata.xml.sha1: -------------------------------------------------------------------------------- 1 | b2e6297b331710f58302ab1a2a20ae30df700e9b -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler/maven-metadata.xml.sha1: -------------------------------------------------------------------------------- 1 | 577f06dcff4570d4abb7d12dade55228af50724d -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/plugin_dev/1.0.3/plugin_dev-1.0.3.jar.md5: -------------------------------------------------------------------------------- 1 | 1b16d8e58c70f60260b88f0e4b962ba0 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/plugin_dev/1.0.3/plugin_dev-1.0.3.pom.md5: -------------------------------------------------------------------------------- 1 | bd64cb9e38fbb43b47fe568fe55db8b4 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/plugin_dev/1.0.4/plugin_dev-1.0.4.jar.md5: -------------------------------------------------------------------------------- 1 | 93dd74070f67d2e7e1d8964fae799e42 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/plugin_dev/1.0.4/plugin_dev-1.0.4.pom.md5: -------------------------------------------------------------------------------- 1 | c9c2f4f1790aa85afb6eee6291e2bbc6 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/plugin_dev/maven-metadata.xml.sha1: -------------------------------------------------------------------------------- 1 | d6232514f83e31ff460c33a8de1ee9217109a4ac -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/maven-metadata.xml.md5: -------------------------------------------------------------------------------- 1 | c9b878254b28eb74711a1308b861ec4c -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/annotation_dev/maven-metadata.xml.sha1: -------------------------------------------------------------------------------- 1 | 2b4df3ffff529b44e1a43fa2f27b47c2ee79a332 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/api_dev/1.0.1/api_dev-1.0.1.aar.sha1: -------------------------------------------------------------------------------- 1 | 2b78a3f5e4c6e73d49a67cfab13eb56fc479e096 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/api_dev/1.0.1/api_dev-1.0.1.pom.sha1: -------------------------------------------------------------------------------- 1 | f7e2a4028c5a78b707a1f0b70841759da71140fe -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler/1.1.0/compiler-1.1.0-javadoc.jar.md5: -------------------------------------------------------------------------------- 1 | b8d4cf9ff077221382cb0f2a93799249 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler/1.1.0/compiler-1.1.0-sources.jar.md5: -------------------------------------------------------------------------------- 1 | da994815701c9dd6342c5d86a8b6e801 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler/1.1.0/compiler-1.1.0.jar.sha1: -------------------------------------------------------------------------------- 1 | 6b6131f2dd75e94f084b014e10ea2b3b715d3bf9 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler/1.1.0/compiler-1.1.0.pom.sha1: -------------------------------------------------------------------------------- 1 | 1448d3e2da8bdcaad1aa71820fbfb4029bc731b5 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler_dev/1.0.1/compiler_dev-1.0.1.jar.md5: -------------------------------------------------------------------------------- 1 | c4c5c6dc761288580a09ade5b629cb2d -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler_dev/1.0.1/compiler_dev-1.0.1.pom.md5: -------------------------------------------------------------------------------- 1 | 33d31a66c16d64044f950c6aace31e95 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler_dev/maven-metadata.xml.sha1: -------------------------------------------------------------------------------- 1 | 2a75a096e28869a95af01187f749336e42d90111 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/maven-metadata.xml.sha1: -------------------------------------------------------------------------------- 1 | 532e81db565f14c307116df8e4854a6225faf4da -------------------------------------------------------------------------------- /app/libs/business1-debug.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/app/libs/business1-debug.aar -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/annotation_dev/1.0.1/annotation_dev-1.0.1.jar.md5: -------------------------------------------------------------------------------- 1 | 753b5f3aa9e7350385e3cef971845265 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/annotation_dev/1.0.1/annotation_dev-1.0.1.pom.md5: -------------------------------------------------------------------------------- 1 | 0e8140b1c81592b80de1791ee576c3f4 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/plugin_dev/1.0.3/plugin_dev-1.0.3.jar.sha1: -------------------------------------------------------------------------------- 1 | 7a09d0765c7bbcb554740ffed8a8252b7d946f16 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/plugin_dev/1.0.3/plugin_dev-1.0.3.pom.sha1: -------------------------------------------------------------------------------- 1 | 8b381fa669eea87afadc23ecddaef1a82d4303b1 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/plugin_dev/1.0.4/plugin_dev-1.0.4.jar.sha1: -------------------------------------------------------------------------------- 1 | 417290df1df5041f3955e41e18899973aa9602bd -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/plugin_dev/1.0.4/plugin_dev-1.0.4.pom.sha1: -------------------------------------------------------------------------------- 1 | 2aba43e4f4a7680c8beec6ef89eac6c0261ad977 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.2/transform-plugin-1.1.2.jar.md5: -------------------------------------------------------------------------------- 1 | de56d265e0a0a299e4369b3638c28f8d -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.2/transform-plugin-1.1.2.pom.md5: -------------------------------------------------------------------------------- 1 | 1c9c273e68344e0553c82876dca9a3bf -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.5/transform-plugin-1.1.5.jar.md5: -------------------------------------------------------------------------------- 1 | 1b16d8e58c70f60260b88f0e4b962ba0 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.5/transform-plugin-1.1.5.pom.md5: -------------------------------------------------------------------------------- 1 | 313bc483c69bdd230582429083bbeab8 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.3/transform-plugin-1.2.3.jar.md5: -------------------------------------------------------------------------------- 1 | 312d804825d71f0d319c47200913ffe8 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.3/transform-plugin-1.2.3.pom.md5: -------------------------------------------------------------------------------- 1 | e143f858c936dcfb005be478a4377dea -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.5/transform-plugin-1.2.5.jar.md5: -------------------------------------------------------------------------------- 1 | af60bc4bad220345f4d0eb4872b78e42 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.5/transform-plugin-1.2.5.pom.md5: -------------------------------------------------------------------------------- 1 | 0a023b992b43e844ccabceeaf7a1aa53 -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | modules 3 | 4 | -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/annotation_dev/1.0.1/annotation_dev-1.0.1.jar.sha1: -------------------------------------------------------------------------------- 1 | 8144443ba1ee63b40ef705d50142d6316d4e565e -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/annotation_dev/1.0.1/annotation_dev-1.0.1.pom.sha1: -------------------------------------------------------------------------------- 1 | 99accdf77ddf6b77a6eb79020d8ce536756a6b04 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler/1.1.0/compiler-1.1.0-javadoc.jar.sha1: -------------------------------------------------------------------------------- 1 | 5b8daa4b165550a2568dbafd9e985c0f0fa49e4d -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler/1.1.0/compiler-1.1.0-sources.jar.sha1: -------------------------------------------------------------------------------- 1 | fccbcc88675349a985a4f141d146d37fb7d33774 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler_dev/1.0.1/compiler_dev-1.0.1.jar.sha1: -------------------------------------------------------------------------------- 1 | 6b6131f2dd75e94f084b014e10ea2b3b715d3bf9 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/compiler_dev/1.0.1/compiler_dev-1.0.1.pom.sha1: -------------------------------------------------------------------------------- 1 | ec05e817f163e45dcd70b24a75abf29dd827246a -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.2/transform-plugin-1.1.2-javadoc.jar.md5: -------------------------------------------------------------------------------- 1 | 2d42c5cba260285cbb2ee3c685a897db -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.2/transform-plugin-1.1.2-sources.jar.md5: -------------------------------------------------------------------------------- 1 | ea7f2a484d7551ec7b2258b7a933c3ff -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.2/transform-plugin-1.1.2.jar.sha1: -------------------------------------------------------------------------------- 1 | d8942e1fa7df0fb17143024415520fc2ccf0b805 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.2/transform-plugin-1.1.2.pom.sha1: -------------------------------------------------------------------------------- 1 | b1ff1bfcb7d42fa7c9dca32ba9ed262270c48625 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.5/transform-plugin-1.1.5-javadoc.jar.md5: -------------------------------------------------------------------------------- 1 | 6cbccad5948e442693fd4708ab8fee00 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.5/transform-plugin-1.1.5-sources.jar.md5: -------------------------------------------------------------------------------- 1 | 3c3307b9073d3b1064a1c60661a40b89 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.5/transform-plugin-1.1.5.jar.sha1: -------------------------------------------------------------------------------- 1 | 7a09d0765c7bbcb554740ffed8a8252b7d946f16 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.5/transform-plugin-1.1.5.pom.sha1: -------------------------------------------------------------------------------- 1 | 8654c6977d6559ac6263432a3f8ca50f6d13ebc3 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.3/transform-plugin-1.2.3-javadoc.jar.md5: -------------------------------------------------------------------------------- 1 | 533b1fd9cca17eb615fe7a2ce0cd5991 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.3/transform-plugin-1.2.3-sources.jar.md5: -------------------------------------------------------------------------------- 1 | 48b0c2219e71d5e4b37415b415b20ff9 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.3/transform-plugin-1.2.3.jar.sha1: -------------------------------------------------------------------------------- 1 | d5834792317892b2610f94619d70a8014a1968f8 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.3/transform-plugin-1.2.3.pom.sha1: -------------------------------------------------------------------------------- 1 | 36c0876111670697dbd95ca7f01a0ee1af6ebda7 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.5/transform-plugin-1.2.5-javadoc.jar.md5: -------------------------------------------------------------------------------- 1 | cf2f03affb7ce0f310a5ada13ade6118 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.5/transform-plugin-1.2.5-sources.jar.md5: -------------------------------------------------------------------------------- 1 | 34ffc56423cd904aefc029552d454e93 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.5/transform-plugin-1.2.5.jar.sha1: -------------------------------------------------------------------------------- 1 | dd6c96b0d2a0736670526d0e1f40f2de87cbaec4 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.5/transform-plugin-1.2.5.pom.sha1: -------------------------------------------------------------------------------- 1 | e0515e6a4ba872fe42ae7ab041aa5b56f17a052c -------------------------------------------------------------------------------- /other/business2/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | My 3 | 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | .DS_Store 5 | /build 6 | /captures 7 | .externalNativeBuild 8 | .idea/* 9 | -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.2/transform-plugin-1.1.2-javadoc.jar.sha1: -------------------------------------------------------------------------------- 1 | 891d728ec420f471e5df4dade08fb44f014e7e21 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.2/transform-plugin-1.1.2-sources.jar.sha1: -------------------------------------------------------------------------------- 1 | 87039ca6a5b5c825c3c317f0de5293aa6fd6c7eb -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.5/transform-plugin-1.1.5-javadoc.jar.sha1: -------------------------------------------------------------------------------- 1 | 21ca10fb0c2011138299f64573a62875dbcbdbbe -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.1.5/transform-plugin-1.1.5-sources.jar.sha1: -------------------------------------------------------------------------------- 1 | 596ee97ec456b2f929df3672a9679b2d26557d7d -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.3/transform-plugin-1.2.3-javadoc.jar.sha1: -------------------------------------------------------------------------------- 1 | dcae51539eb34997369066ec716c08ee7d334e13 -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.3/transform-plugin-1.2.3-sources.jar.sha1: -------------------------------------------------------------------------------- 1 | 3309e33ca674942a5a400b656ec920cceda368fb -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.5/transform-plugin-1.2.5-javadoc.jar.sha1: -------------------------------------------------------------------------------- 1 | d293331d5b049a1830d772a79dfc42350ef8156b -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/1.2.5/transform-plugin-1.2.5-sources.jar.sha1: -------------------------------------------------------------------------------- 1 | 106eaa4cb6810a5e6f8c6cdeac41461e84a64115 -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beyondxia/modules/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /business1/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /modules-api/src/main/java/com/beyondxia/modules/ILifeCycle.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.modules; 2 | 3 | /** 4 | * Created by xiaojunxia on 2018/9/25. 5 | */ 6 | 7 | public interface ILifeCycle { 8 | // public abstract void onInit(); 9 | 10 | /** 11 | * 12 | * we suggest you write code here in a new thread, especially it wait a long time 13 | */ 14 | public abstract void onInstalled(); 15 | public abstract void onUninstalled(); 16 | } 17 | -------------------------------------------------------------------------------- /modules-annotation/src/main/java/com/beyondxia/annotation/ExportMethod.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Create by ChenWei on 2018/8/24 15:42 10 | **/ 11 | @Retention(RetentionPolicy.SOURCE) 12 | @Target({ElementType.METHOD}) 13 | public @interface ExportMethod { 14 | } 15 | -------------------------------------------------------------------------------- /repo_plugin.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'maven-publish' 2 | 3 | publishing { 4 | publications { 5 | mavenJava(MavenPublication) { 6 | 7 | groupId 'com.beyondxia.modules' 8 | artifactId 'plugin_dev' 9 | version '1.0.4' 10 | 11 | from components.java 12 | 13 | } 14 | } 15 | } 16 | 17 | publishing { 18 | repositories { 19 | maven { 20 | url uri('../repos') 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /repo_annotation.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'maven-publish' 2 | 3 | publishing { 4 | publications { 5 | mavenJava(MavenPublication) { 6 | 7 | groupId 'com.beyondxia.modules' 8 | artifactId 'annotation_dev' 9 | version '1.0.1' 10 | 11 | from components.java 12 | 13 | } 14 | } 15 | } 16 | 17 | publishing { 18 | repositories { 19 | maven { 20 | url uri('../repos') 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /repo_compiler.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'maven-publish' 2 | 3 | publishing { 4 | publications { 5 | mavenJava(MavenPublication) { 6 | 7 | groupId 'com.beyondxia.modules' 8 | artifactId 'compiler_dev' 9 | version '1.0.1' 10 | 11 | from components.java 12 | 13 | } 14 | } 15 | } 16 | 17 | publishing { 18 | repositories { 19 | maven { 20 | url uri('../repos') 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /app/src/main/java/com/beyondxia/host/MyApp.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.host; 2 | 3 | import android.app.Application; 4 | 5 | import com.beyondxia.modules.BuildConfig; 6 | import com.beyondxia.modules.ServiceHelper; 7 | 8 | /** 9 | * Created by xiaojunxia on 2018/9/26. 10 | */ 11 | 12 | public class MyApp extends Application { 13 | @Override 14 | public void onCreate() { 15 | super.onCreate(); 16 | ServiceHelper.init(this, BuildConfig.DEBUG,true); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /modules-compiler/src/main/java/com/beyondxia/compiler/utils/Constants.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.compiler.utils; 2 | 3 | /** 4 | * Create by ChenWei on 2018/8/27 14:21 5 | **/ 6 | public interface Constants { 7 | 8 | String REGISTER_PACKAGE_NAME = "com.beyondxia.modules_interface_library"; 9 | String REGISTER_METHOD_NAME = "registerService"; 10 | String MODULE_NAME = "moduleName"; 11 | 12 | String I_REGISTER_SERVICE = "com.beyondxia.modules" + ".IRegisterService"; 13 | 14 | } -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/annotation_dev/1.0.1/annotation_dev-1.0.1.pom: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | com.beyondxia.modules 6 | annotation_dev 7 | 1.0.1 8 | 9 | -------------------------------------------------------------------------------- /business1/src/main/java/com/beyondxia/bussiness1/MyLogin.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.bussiness1; 2 | 3 | /** 4 | * Created by xiaojunxia on 2018/9/26. 5 | */ 6 | 7 | public class MyLogin { 8 | public static boolean doLogin(String userName, String password) { 9 | if (userName.equals("chenwei") && password.equals("xiaxiaojun")) return true; 10 | return false; 11 | } 12 | 13 | public static String getUserName() { 14 | return "UserName:chenwei"; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /modules_services_api/src/main/java/com/pingan/my/MyMessageService.java: -------------------------------------------------------------------------------- 1 | package com.pingan.my; 2 | import com.beyondxia.modules.PAService; 3 | import com.beyondxia.modules.exception.NoServiceException; 4 | 5 | public abstract class MyMessageService extends PAService implements IMyMessage { 6 | public static IMyMessage get() { 7 | try{ 8 | return getService(SERVICE_NAME); 9 | } catch (NoServiceException noServiceException) { 10 | noServiceException.printStackTrace(); 11 | } 12 | return null; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules-api/src/main/java/com/beyondxia/modules/fetcher/NoCacheServiceFetcher.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.modules.fetcher; 2 | 3 | import com.beyondxia.modules.PAServiceEvn; 4 | 5 | /** 6 | * Create by ChenWei on 2018/8/23 16:27 7 | *

8 | * 无缓存方式, 不经常使用的Service 9 | **/ 10 | public abstract class NoCacheServiceFetcher 11 | extends PAServiceEvn.ServiceFetcher implements ServiceFactory { 12 | @Override 13 | public final Object getService(PAServiceEvn ctx) { 14 | return createService(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/com/beyondxia/host/export/TestServiceImpl1.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.host.export; 2 | 3 | import com.beyondxia.annotation.ExportMethod; 4 | import com.beyondxia.annotation.ExportService; 5 | 6 | /** 7 | * Create by ChenWei on 2018/8/27 14:04 8 | **/ 9 | @ExportService(moduleName = "app") 10 | public class TestServiceImpl1 { 11 | 12 | @ExportMethod 13 | public void m1(int a, String s) { 14 | 15 | } 16 | 17 | // @ExportMethod 18 | public int m2() { 19 | return 0; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /modules-api/src/main/java/com/beyondxia/modules/fetcher/CacheServiceFetcher.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.modules.fetcher; 2 | 3 | import com.beyondxia.modules.PAServiceEvn; 4 | 5 | /** 6 | * Create by ChenWei on 2018/8/23 16:12 7 | *

8 | * 有缓存方式, 频繁使用的Service 9 | **/ 10 | public abstract class CacheServiceFetcher extends PAServiceEvn.ServiceFetcher 11 | implements ServiceFactory { 12 | 13 | @Override 14 | public final Object createService(PAServiceEvn ctx) { 15 | return createService(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /modules_services_api/src/main/java/com/beyondxia/bussiness1/export/LoginService.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.bussiness1.export; 2 | import com.beyondxia.modules.PAService; 3 | import com.beyondxia.modules.exception.NoServiceException; 4 | 5 | public abstract class LoginService extends PAService implements ILogin { 6 | public static ILogin get() { 7 | try{ 8 | return getService(SERVICE_NAME); 9 | } catch (NoServiceException noServiceException) { 10 | noServiceException.printStackTrace(); 11 | } 12 | return null; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules_services_api/src/main/java/com/beyondxia/message/export/MessageService.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.message.export; 2 | import com.beyondxia.modules.PAService; 3 | import com.beyondxia.modules.exception.NoServiceException; 4 | 5 | public abstract class MessageService extends PAService implements IMessage { 6 | public static IMessage get() { 7 | try{ 8 | return getService(SERVICE_NAME); 9 | } catch (NoServiceException noServiceException) { 10 | noServiceException.printStackTrace(); 11 | } 12 | return null; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules-api/src/main/java/com/beyondxia/modules/PAServiceConfig.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.modules; 2 | 3 | /** 4 | * Create by ChenWei on 2018/8/31 10:17 5 | **/ 6 | public class PAServiceConfig { 7 | 8 | private volatile static Boolean isDebug = true; 9 | 10 | public static long maxLifeCycleInitWarningTime = 300; 11 | 12 | public static Boolean getIsDebug() { 13 | return isDebug; 14 | } 15 | 16 | public static void setIsDebug(Boolean isDebug) { 17 | PAServiceConfig.isDebug = isDebug; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /modules_services_api/src/main/java/com/beyondxia/host/export/HostExportService.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.host.export; 2 | import com.beyondxia.modules.PAService; 3 | import com.beyondxia.modules.exception.NoServiceException; 4 | 5 | public abstract class HostExportService extends PAService implements IHostExport { 6 | public static IHostExport get() { 7 | try{ 8 | return getService(SERVICE_NAME); 9 | } catch (NoServiceException noServiceException) { 10 | noServiceException.printStackTrace(); 11 | } 12 | return null; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules-api/src/main/java/com/beyondxia/modules/fetcher/SingleInstanceServiceFetcher.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.modules.fetcher; 2 | 3 | import com.beyondxia.modules.PAServiceEvn; 4 | 5 | /** 6 | * Create by ChenWei on 2018/8/23 16:28 7 | *

8 | * 单例模式, 介于无缓存和有缓存之间 9 | **/ 10 | public abstract class SingleInstanceServiceFetcher 11 | extends PAServiceEvn.StaticServiceFetcher implements ServiceFactory { 12 | 13 | @Override 14 | public final Object createStaticService() { 15 | return createService(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /modules_services_api/src/main/java/com/beyondxia/bussiness1/export/DashboardService.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.bussiness1.export; 2 | import com.beyondxia.modules.PAService; 3 | import com.beyondxia.modules.exception.NoServiceException; 4 | 5 | public abstract class DashboardService extends PAService implements IDashboard { 6 | public static IDashboard get() { 7 | try{ 8 | return getService(SERVICE_NAME); 9 | } catch (NoServiceException noServiceException) { 10 | noServiceException.printStackTrace(); 11 | } 12 | return null; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules_services_api/src/main/java/com/beyondxia/bussiness1/export/FragmentShowService.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.bussiness1.export; 2 | import com.beyondxia.modules.PAService; 3 | import com.beyondxia.modules.exception.NoServiceException; 4 | 5 | public abstract class FragmentShowService extends PAService implements IFragmentShow { 6 | public static IFragmentShow get() { 7 | try{ 8 | return getService(SERVICE_NAME); 9 | } catch (NoServiceException noServiceException) { 10 | noServiceException.printStackTrace(); 11 | } 12 | return null; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules_services_api/src/main/java/com/beyondxia/host/export/TestServiceImplService.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.host.export; 2 | import com.beyondxia.modules.PAService; 3 | import com.beyondxia.modules.exception.NoServiceException; 4 | 5 | public abstract class TestServiceImplService extends PAService implements ITestServiceImpl { 6 | public static ITestServiceImpl get() { 7 | try{ 8 | return getService(SERVICE_NAME); 9 | } catch (NoServiceException noServiceException) { 10 | noServiceException.printStackTrace(); 11 | } 12 | return null; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /modules_services_api/src/main/java/com/beyondxia/host/export/TestServiceImpl1Service.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.host.export; 2 | import com.beyondxia.modules.PAService; 3 | import com.beyondxia.modules.exception.NoServiceException; 4 | 5 | public abstract class TestServiceImpl1Service extends PAService implements ITestServiceImpl1 { 6 | public static ITestServiceImpl1 get() { 7 | try{ 8 | return getService(SERVICE_NAME); 9 | } catch (NoServiceException noServiceException) { 10 | noServiceException.printStackTrace(); 11 | } 12 | return null; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /other/business2/src/main/java/com/beyondxia/message/MessageModel.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.message; 2 | 3 | /** 4 | * Created by xiaojunxia on 2018/9/27. 5 | */ 6 | 7 | public class MessageModel { 8 | // "userName","zhangsan" 9 | // "password", "pass" 10 | public String userName; 11 | public String password; 12 | 13 | @Override 14 | public String toString() { 15 | return "MessageModel{" + 16 | "userName='" + userName + '\'' + 17 | ", password='" + password + '\'' + 18 | '}'; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /business1/src/main/java/com/beyondxia/bussiness1/export/FragmentShow.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.bussiness1.export; 2 | 3 | import android.support.v4.app.Fragment; 4 | 5 | import com.beyondxia.annotation.ExportMethod; 6 | import com.beyondxia.annotation.ExportService; 7 | import com.beyondxia.bussiness1.fragment.SimpleFragment; 8 | 9 | /** 10 | * @author yuandunbin 11 | * @date 2018/9/29 12 | */ 13 | @ExportService(moduleName = "business1") 14 | public class FragmentShow { 15 | @ExportMethod 16 | public Fragment getSimpleFragment(){ 17 | return new SimpleFragment(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /modules_services_api/src/main/java/com/beyondxia/bussiness1/export/ILogin.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.bussiness1.export; 2 | 3 | import android.content.Context; 4 | import com.beyondxia.modules.BCDictionary; 5 | import java.lang.String; 6 | 7 | /** 8 | * Auto generate by apt, don't edit */ 9 | public interface ILogin { 10 | String SERVICE_NAME = "com.beyondxia.bussiness1.export.ILogin"; 11 | 12 | boolean doLogin(Context context, String userName, String password); 13 | 14 | String getUserName(); 15 | 16 | BCDictionary getUserInfo(); 17 | 18 | void nav2LoginActivity(Context context); 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/java/com/beyondxia/host/export/TestServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.host.export; 2 | 3 | import com.beyondxia.annotation.ExportMethod; 4 | import com.beyondxia.annotation.ExportService; 5 | 6 | import java.util.Map; 7 | 8 | /** 9 | * Create by ChenWei on 2018/8/27 10:11 10 | **/ 11 | @ExportService(moduleName = "apptest",preload = true) 12 | public class TestServiceImpl { 13 | 14 | @ExportMethod 15 | public String t1(String a) { 16 | return ""; 17 | } 18 | 19 | @ExportMethod 20 | public int t2(Map str) { 21 | return 0; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /modules-annotation/src/main/java/com/beyondxia/annotation/ExportService.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * Create by ChenWei on 2018/8/30 08:59 10 | **/ 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.TYPE) 13 | public @interface ExportService { 14 | String moduleName() default ""; 15 | 16 | // TODO should add the follow function here 17 | boolean preload() default false; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /modules-plugin/src/main/groovy/com/beyondxia/plugin/PAServicePlugin.groovy: -------------------------------------------------------------------------------- 1 | package com.beyondxia.plugin 2 | 3 | import com.android.build.gradle.AppExtension 4 | import org.gradle.api.Plugin 5 | import org.gradle.api.Project 6 | 7 | class PAServicePlugin implements Plugin { 8 | 9 | @Override 10 | void apply(Project project) { 11 | project.extensions.create("modulesConfig", ConfigExtention) 12 | def android = project.extensions.findByType(AppExtension.class) 13 | if (android != null) { 14 | android.registerTransform(new PATransform(project)) 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /modules-plugin/src/main/groovy/com/beyondxia/plugin/constant/ClassConstant.groovy: -------------------------------------------------------------------------------- 1 | package com.beyondxia.plugin.constant 2 | 3 | class ClassConstant { 4 | 5 | public static final String INIT_CLASS_FILE_NAME = "com/beyondxia/modules/ServiceHelper.class" 6 | public static final String INIT_CLASS_NAME = "com/beyondxia/modules/ServiceHelper" 7 | public static final String SERVICE_ROOT_PACKAGE = "com/beyondxia/modules_interface_library" 8 | public static final String SERVICE_INIT_METHOD = "pluginRegisterClassName" 9 | public static final String SERVICE_DO_REGISTER_METHOD = "pluginRegister" 10 | 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/beyondxia/host/export/HostExport.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.host.export; 2 | 3 | import com.beyondxia.annotation.ExportMethod; 4 | import com.beyondxia.annotation.ExportService; 5 | 6 | /** 7 | * Created by xiaojunxia on 2018/9/26. 8 | * 9 | * note: the export should not have super class 10 | */ 11 | @ExportService(moduleName = "Host") 12 | public class HostExport { 13 | @ExportMethod 14 | public String getHostName() { 15 | return "Host APP Name"; 16 | } 17 | 18 | // @ExportMethod 19 | // public String getHostName() { 20 | // return "Host APP Name"; 21 | // } 22 | } 23 | -------------------------------------------------------------------------------- /business1/src/main/java/com/beyondxia/bussiness1/export/Dashboard.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.bussiness1.export; 2 | 3 | import android.content.Context; 4 | import android.view.View; 5 | 6 | import com.beyondxia.annotation.ExportMethod; 7 | import com.beyondxia.annotation.ExportService; 8 | import com.beyondxia.bussiness1.view.DashboardView; 9 | 10 | /** 11 | * @author yuandunbin 12 | * @date 2018/9/29 13 | */ 14 | @ExportService(moduleName = "business1") 15 | public class Dashboard { 16 | @ExportMethod 17 | public View getDashboardView(Context context) { 18 | return new DashboardView(context); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /business1/src/main/res/layout/stagger_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 15 | 16 | -------------------------------------------------------------------------------- /modules-plugin/src/main/groovy/com/beyondxia/plugin/utils/SystemUtils.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.plugin.utils; 2 | 3 | /** 4 | * Create by ChenWei on 2018/10/23 17:37 5 | **/ 6 | public class SystemUtils { 7 | 8 | public static boolean isWindows() { 9 | return System.getProperties().getProperty("os.name").toUpperCase().contains("WINDOWS"); 10 | } 11 | 12 | public static String getPathByOs(String originPath) { 13 | if (originPath == null) { 14 | return ""; 15 | } 16 | if (isWindows()) { 17 | return originPath.replace("/", "\\"); 18 | } 19 | return originPath; 20 | 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /business1/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #52ce90 4 | #34b574 5 | #FF5722 6 | #FF9800 7 | #FFC107 8 | #3FB830 9 | #00BAED 10 | #263238 11 | #455A64 12 | #ECEFF1 13 | #00b4aa 14 | 15 | -------------------------------------------------------------------------------- /modules-compiler/src/main/java/com/beyondxia/compiler/utils/SystemUtils.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.compiler.utils; 2 | 3 | /** 4 | * Create by ChenWei on 2018/10/23 17:37 5 | **/ 6 | public class SystemUtils { 7 | 8 | public static boolean isWindows() { 9 | return System.getProperties().getProperty("os.name").toUpperCase().contains("WINDOWS"); 10 | } 11 | 12 | public static String getPathByOs(String originPath) { 13 | if (originPath == null) { 14 | return ""; 15 | } 16 | if (isWindows()) { 17 | return originPath.replace("/", "\\"); 18 | } 19 | return originPath; 20 | 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /modules-api/src/main/java/com/beyondxia/modules/PAService.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.modules; 2 | 3 | import android.util.Log; 4 | 5 | import com.beyondxia.modules.exception.NoServiceException; 6 | 7 | /** 8 | * Create by ChenWei on 2018/8/23 15:40 9 | **/ 10 | public abstract class PAService { 11 | 12 | protected static T getService(String name) throws NoServiceException { 13 | T t = (T) PAServiceEvn.getService(name); 14 | if (t == null) { 15 | String error = String.format("[=== can not find Service:%s ===]", name); 16 | Log.e("ServiceError", error); 17 | throw new NoServiceException(error); 18 | } 19 | return t; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /business1/src/main/res/layout/simple_fragment.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 12 | 17 | 18 | -------------------------------------------------------------------------------- /business1/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/transform-plugin/maven-metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.beyondxia.modules 4 | transform-plugin 5 | 6 | 1.3.11 7 | 8 | 1.1.2 9 | 1.1.5 10 | 1.2.3 11 | 1.2.5 12 | 1.2.18 13 | 1.2.20 14 | 1.3.5 15 | 1.3.7 16 | 1.3.8 17 | 1.3.9 18 | 1.3.11 19 | 20 | 20210304060104 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_showview.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 13 | 14 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /business1/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /modules-api/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /other/business2/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /modules_services_api/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /app/src/androidTest/java/com/pingan/aptdemo/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.pingan.aptdemo; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumented test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("com.nmnet.aptdemo", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/com/beyondxia/host/ShowFragmentActivity.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.host; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.support.v4.app.FragmentActivity; 6 | import android.support.v7.app.AppCompatActivity; 7 | 8 | import com.beyondxia.bussiness1.export.FragmentShowService; 9 | import com.beyondxia.modules.R; 10 | 11 | /** 12 | * @author yuandunbin 13 | * @date 2018/9/29 14 | */ 15 | public class ShowFragmentActivity extends AppCompatActivity { 16 | @Override 17 | protected void onCreate(@Nullable Bundle savedInstanceState) { 18 | super.onCreate(savedInstanceState); 19 | setContentView(R.layout.activity_showfragment); 20 | getSupportFragmentManager() 21 | .beginTransaction() 22 | .add(R.id.fragment_container, FragmentShowService.get().getSimpleFragment()) 23 | .commit(); 24 | 25 | setTitle("HostApp"); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /business1/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Bussiness1 3 | Sign in 4 | 5 | 6 | Email 7 | Password (optional) 8 | Sign in or register 9 | Sign in 10 | This email address is invalid 11 | This password is too short 12 | This password is incorrect 13 | This field is required 14 | "Contacts permissions are needed for providing email 15 | completions." 16 | 17 | 18 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | LOCAL_MAVEN_ADDRESS=./repos 15 | devMode=false 16 | annotation_artifactId='annotation' 17 | annotation_version='1.0.3' 18 | plugin_artifactId='plugin' 19 | plugin_version='1.0.3' -------------------------------------------------------------------------------- /other/business2/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 27 5 | 6 | 7 | 8 | defaultConfig { 9 | minSdkVersion 21 10 | targetSdkVersion 27 11 | versionCode 1 12 | versionName "1.0" 13 | 14 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 15 | 16 | } 17 | 18 | buildTypes { 19 | release { 20 | minifyEnabled false 21 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 22 | } 23 | } 24 | 25 | } 26 | 27 | dependencies { 28 | implementation fileTree(dir: 'libs', include: ['*.jar']) 29 | 30 | if (devMode.toBoolean()) { 31 | annotationProcessor 'com.beyondxia.modules:compiler_dev:1.0.1' 32 | } else { 33 | annotationProcessor 'com.beyondxia.modules:compiler:1.1.1' 34 | } 35 | implementation project(':modules_services_api') 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/java/com/beyondxia/host/ShowViewActivity.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.host; 2 | 3 | import android.app.Activity; 4 | import android.os.Bundle; 5 | import android.support.annotation.Nullable; 6 | import android.support.v7.app.AppCompatActivity; 7 | import android.view.View; 8 | import android.widget.LinearLayout; 9 | 10 | import com.beyondxia.bussiness1.export.DashboardService; 11 | import com.beyondxia.modules.R; 12 | 13 | /** 14 | * @author yuandunbin 15 | * @date 2018/9/29 16 | */ 17 | public class ShowViewActivity extends AppCompatActivity { 18 | @Override 19 | protected void onCreate(@Nullable Bundle savedInstanceState) { 20 | super.onCreate(savedInstanceState); 21 | setContentView(R.layout.activity_showview); 22 | 23 | setTitle("HostApp"); 24 | 25 | View view = DashboardService.get().getDashboardView(this); 26 | ((LinearLayout) findViewById(R.id.add_view)).addView(view); 27 | 28 | 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /modules-api/src/main/java/com/beyondxia/modules/utils/thread/CancelableCountDownLatch.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.modules.utils.thread; 2 | 3 | import java.util.concurrent.CountDownLatch; 4 | 5 | /** 6 | * As its name. 7 | * 8 | * @author Alex Contact me. 9 | * @version 1.0 10 | * @since 16/8/29 15:48 11 | */ 12 | public class CancelableCountDownLatch extends CountDownLatch { 13 | /** 14 | * Constructs a {@code CountDownLatch} initialized with the given count. 15 | * 16 | * @param count the number of times {@link #countDown} must be invoked 17 | * before threads can pass through {@link #await} 18 | * @throws IllegalArgumentException if {@code count} is negative 19 | */ 20 | public CancelableCountDownLatch(int count) { 21 | super(count); 22 | } 23 | 24 | public void cancel() { 25 | while (getCount() > 0) { 26 | countDown(); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /other/business2/src/main/java/com/beyondxia/message/export/Message.java: -------------------------------------------------------------------------------- 1 | package com.beyondxia.message.export; 2 | 3 | import android.app.Activity; 4 | import android.content.Context; 5 | import android.content.Intent; 6 | 7 | import com.beyondxia.annotation.ExportMethod; 8 | import com.beyondxia.annotation.ExportService; 9 | import com.beyondxia.message.B2Activity; 10 | 11 | /** 12 | * Created by xiaojunxia on 2018/9/26. 13 | */ 14 | @ExportService(moduleName = "business2") 15 | public class Message { 16 | 17 | @ExportMethod 18 | public String getMessage(String msg) { 19 | return "b2 message"; 20 | } 21 | 22 | @ExportMethod 23 | public void nav2B2Activity(Context context) { 24 | if (context == null) return; 25 | Intent intent = new Intent(context, B2Activity.class); 26 | if (!(context instanceof Activity)) { 27 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 28 | } 29 | context.startActivity(intent); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /modules_services_api/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 27 5 | 6 | defaultConfig { 7 | minSdkVersion 21 8 | targetSdkVersion 27 9 | versionCode 1 10 | versionName "1.0" 11 | 12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 13 | 14 | } 15 | 16 | buildTypes { 17 | release { 18 | minifyEnabled false 19 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 20 | } 21 | } 22 | lintOptions { 23 | abortOnError false 24 | } 25 | } 26 | 27 | dependencies { 28 | implementation fileTree(dir: 'libs', include: ['*.jar']) 29 | 30 | implementation 'com.android.support:appcompat-v7:27.1.1' 31 | testImplementation 'junit:junit:4.12' 32 | if (devMode.toBoolean()) { 33 | api 'com.beyondxia.modules:api_dev:1.0.1' 34 | } else { 35 | api 'com.beyondxia.modules:api:1.0.4' 36 | } 37 | // api project(':modules-api') 38 | } 39 | -------------------------------------------------------------------------------- /repos/com/beyondxia/modules/api_dev/1.0.1/api_dev-1.0.1.pom: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | com.beyondxia.modules 6 | api_dev 7 | 1.0.1 8 | aar 9 | api dev 10 | 11 | 12 | com.beyondxia.modules 13 | annotation_dev 14 | 1.0.1 15 | compile 16 | 17 | 18 | com.android.support 19 | appcompat-v7 20 | 25.0.0 21 | compile 22 | 23 | 24 | com.google.code.gson 25 | gson 26 | 2.6.2 27 | compile 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /business1/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | android { 4 | compileSdkVersion 27 5 | 6 | 7 | 8 | defaultConfig { 9 | minSdkVersion 21 10 | targetSdkVersion 27 11 | versionCode 1 12 | versionName "1.0" 13 | 14 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 15 | } 16 | 17 | buildTypes { 18 | release { 19 | minifyEnabled false 20 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 21 | } 22 | } 23 | 24 | lintOptions { 25 | abortOnError false 26 | } 27 | } 28 | 29 | dependencies { 30 | implementation fileTree(dir: 'libs', include: ['*.jar']) 31 | 32 | implementation 'com.android.support:appcompat-v7:27.1.1' 33 | implementation 'com.android.support:recyclerview-v7:27.1.1' 34 | implementation 'com.android.support:design:27.1.1' 35 | testImplementation 'junit:junit:4.12' 36 | if (devMode.toBoolean()) { 37 | annotationProcessor 'com.beyondxia.modules:compiler_dev:1.0.1' 38 | } else { 39 | annotationProcessor 'com.beyondxia.modules:compiler:1.1.1' 40 | } 41 | implementation project(':modules_services_api') 42 | } 43 | -------------------------------------------------------------------------------- /modules-annotation/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | 3 | if (devMode.toBoolean()) { 4 | apply from: '../repo_annotation.gradle' 5 | } else { 6 | apply from: '../bintray.gradle' 7 | } 8 | 9 | 10 | 11 | dependencies { 12 | implementation fileTree(dir: 'libs', include: ['*.jar']) 13 | } 14 | sourceCompatibility = "1.7" 15 | targetCompatibility = "1.7" 16 | 17 | 18 | 19 | //clean ---- build----generatePomFileForReleasePublication---publishReleasePublicationToMabenLocal---bintrayUpload 20 | // ./gradlew bintrayUpload -PbintrayUser=beyondxia -PbintrayKey=**** -PdryRun=false 21 | //apply plugin: 'com.novoda.bintray-release' 22 | //allprojects { 23 | // repositories { 24 | // jcenter() 25 | // } 26 | // tasks.withType(Javadoc) { 27 | // options{ encoding "UTF-8" 28 | // charSet 'UTF-8' 29 | // links "http://docs.oracle.com/javase/7/docs/api" 30 | // } 31 | // } 32 | //} 33 | //publish { 34 | // repoName = 'annotation' 35 | // userOrg = 'beyondxia' 36 | // groupId = 'com.beyondxia.modules' 37 | // artifactId = 'annotation' 38 | // publishVersion = '1.0.3' 39 | // desc = 'This is a annotation for modules' 40 | // website = 'https://github.com/beyondxia/annotation' 41 | //} -------------------------------------------------------------------------------- /other/business2/src/main/res/layout/activity_b2.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 |