From 36c71c9e50ed3e8431457764c5c1ace95c022214 Mon Sep 17 00:00:00 2001 From: gaoneng Date: Tue, 5 Dec 2017 17:32:58 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build-gradle/build.gradle | 2 +- .../groovy/com.dd.buildgradle/ComBuild.groovy | 121 +++++++++--------- gradle.properties | 19 +-- .../build-gradle/0.0.3/build-gradle-0.0.3.jar | Bin 0 -> 50170 bytes .../0.0.3/build-gradle-0.0.3.jar.md5 | 1 + .../0.0.3/build-gradle-0.0.3.jar.sha1 | 1 + .../build-gradle/0.0.3/build-gradle-0.0.3.pom | 22 ++++ .../0.0.3/build-gradle-0.0.3.pom.md5 | 1 + .../0.0.3/build-gradle-0.0.3.pom.sha1 | 1 + .../build-gradle/maven-metadata.xml | 5 +- .../build-gradle/maven-metadata.xml.md5 | 2 +- .../build-gradle/maven-metadata.xml.sha1 | 2 +- 12 files changed, 106 insertions(+), 71 deletions(-) create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.jar create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.jar.md5 create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.jar.sha1 create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.pom create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.pom.md5 create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.pom.sha1 diff --git a/build-gradle/build.gradle b/build-gradle/build.gradle index 26a1503..d40b832 100644 --- a/build-gradle/build.gradle +++ b/build-gradle/build.gradle @@ -15,7 +15,7 @@ repositories { } group = 'com.mrzhang.andcomponent' -version = '0.0.2' +version = '0.0.4' uploadArchives { repositories { diff --git a/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy b/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy index 6ab7bce..aed927f 100644 --- a/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy +++ b/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy @@ -5,48 +5,49 @@ import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.Task -public class ComBuild implements Plugin { +class ComBuild implements Plugin { + private final String MAINMODULE = "mainmodulename" + private final String DEDAULT = "app" + private final String ALLMODULE = "all" + private final String TAG = "ComBuild --->" //默认是app,直接运行assembleRelease的时候,等同于运行app:assembleRelease - String compilemodule = "app" + private def compileModule = DEDAULT void apply(Project project) { project.extensions.create('combuild', ComExtension) String taskNames = project.gradle.startParameter.taskNames.toString() - System.out.println("taskNames is " + taskNames); + //类似这种格式[clean, :basiclib:generateDebugSources] + System.out.println("$TAG taskNames is " + taskNames) String module = project.path.replace(":", "") - System.out.println("current module is " + module); + System.out.println("$TAG current module is " + module) AssembleTask assembleTask = getTaskInfo(project.gradle.startParameter.taskNames) if (assembleTask.isAssemble) { - fetchMainmodulename(project, assembleTask); - System.out.println("compilemodule is " + compilemodule); + fetchCompileModuleName(project, assembleTask) + System.out.println("$TAG compile module is " + compileModule) } if (!project.hasProperty("isRunAlone")) { - throw new RuntimeException("you should set isRunAlone in " + module + "'s gradle.properties") + throw new RuntimeException("$TAG you should set isRunAlone in " + module + "'s gradle.properties") } //对于isRunAlone==true的情况需要根据实际情况修改其值, // 但如果是false,则不用修改,该module作为一个lib,运行module:assembleRelease则发布aar到中央仓库 boolean isRunAlone = Boolean.parseBoolean((project.properties.get("isRunAlone"))) - String mainmodulename = project.rootProject.property("mainmodulename") + String mainModuleName = project.rootProject.property(MAINMODULE) if (isRunAlone && assembleTask.isAssemble) { //对于要编译的组件和主项目,isRunAlone修改为true,其他组件都强制修改为false //这就意味着组件不能引用主项目,这在层级结构里面也是这么规定的 - if (module.equals(compilemodule) || module.equals(mainmodulename)) { - isRunAlone = true; - } else { - isRunAlone = false; - } + isRunAlone = module == compileModule || module == mainModuleName } project.setProperty("isRunAlone", isRunAlone) //根据配置添加各种组件依赖,并且自动化生成组件加载代码 if (isRunAlone) { project.apply plugin: 'com.android.application' - if (!module.equals(mainmodulename)) { + if (module != mainModuleName) { project.android.sourceSets { main { manifest.srcFile 'src/main/runalone/AndroidManifest.xml' @@ -55,21 +56,21 @@ public class ComBuild implements Plugin { } } } - System.out.println("apply plugin is " + 'com.android.application'); - if (assembleTask.isAssemble && module.equals(compilemodule)) { + System.out.println("$TAG apply plugin is " + 'com.android.application') + if (assembleTask.isAssemble && module == compileModule) { compileComponents(assembleTask, project) project.android.registerTransform(new ComCodeTransform(project)) } } else { project.apply plugin: 'com.android.library' - System.out.println("apply plugin is " + 'com.android.library'); + System.out.println("$TAG apply plugin is " + 'com.android.library') project.afterEvaluate { Task assembleReleaseTask = project.tasks.findByPath("assembleRelease") if (assembleReleaseTask != null) { assembleReleaseTask.doLast { File infile = project.file("build/outputs/aar/$module-release.aar") File outfile = project.file("../componentrelease") - File desFile = project.file("$module-release.aar"); + File desFile = project.file("$module-release.aar") project.copy { from infile into outfile @@ -77,12 +78,11 @@ public class ComBuild implements Plugin { String fileName -> desFile.name } } - System.out.println("$module-release.aar copy success "); + System.out.println("$TAG $module-release.aar copy success ") } } } } - } /** @@ -90,37 +90,40 @@ public class ComBuild implements Plugin { * assembleRelease ---app * app:assembleRelease :app:assembleRelease ---app * sharecomponent:assembleRelease :sharecomponent:assembleRelease ---sharecomponent - * @param assembleTask + * + * @param project 构建项目 + * @param assembleTask 构建任务 */ - private void fetchMainmodulename(Project project, AssembleTask assembleTask) { - if (!project.rootProject.hasProperty("mainmodulename")) { - throw new RuntimeException("you should set compilemodule in rootproject's gradle.properties") + private void fetchCompileModuleName(Project project, AssembleTask assembleTask) { + if (!project.rootProject.hasProperty(MAINMODULE)) { + throw new RuntimeException("$TAG you should set compileModule in rootproject's gradle.properties") } if (assembleTask.modules.size() > 0 && assembleTask.modules.get(0) != null && assembleTask.modules.get(0).trim().length() > 0 - && !assembleTask.modules.get(0).equals("all")) { - compilemodule = assembleTask.modules.get(0); + && assembleTask.modules.get(0) != ALLMODULE) { + compileModule = assembleTask.modules.get(0) } else { - compilemodule = project.rootProject.property("mainmodulename") + compileModule = project.rootProject.property(MAINMODULE) } - if (compilemodule == null || compilemodule.trim().length() <= 0) { - compilemodule = "app" + if (compileModule == null || compileModule.trim().length() <= 0) { + compileModule = DEDAULT } } private AssembleTask getTaskInfo(List taskNames) { - AssembleTask assembleTask = new AssembleTask(); + AssembleTask assembleTask = new AssembleTask() for (String task : taskNames) { if (task.toUpperCase().contains("ASSEMBLE") || task.contains("aR") || task.toUpperCase().contains("RESGUARD")) { if (task.toUpperCase().contains("DEBUG")) { - assembleTask.isDebug = true; + assembleTask.isDebug = true } - assembleTask.isAssemble = true; - String[] strs = task.split(":") - assembleTask.modules.add(strs.length > 1 ? strs[strs.length - 2] : "all"); - break; + assembleTask.isAssemble = true + //task类似这种格式[:app:assembleDebug],所以需要提取第一个冒号后面的名称 + String[] split = task.split(":") + assembleTask.modules.add(split.length > 1 ? split[split.length - 2] : ALLMODULE) + break } } return assembleTask @@ -128,12 +131,12 @@ public class ComBuild implements Plugin { /** * 自动添加依赖,只在运行assemble任务的才会添加依赖,因此在开发期间组件之间是完全感知不到的,这是做到完全隔离的关键 - * 支持两种语法:module或者modulePackage:module,前者之间引用module工程,后者使用componentrelease中已经发布的aar - * @param assembleTask - * @param project + * 支持两种语法:module或者modulePackage:module,前者直接引用module工程,后者使用'componentrelease'中已经发布的aar + * @param assembleTask 构建任务 + * @param project 构建项目 */ private void compileComponents(AssembleTask assembleTask, Project project) { - String components; + String components if (assembleTask.isDebug) { components = (String) project.properties.get("debugComponent") } else { @@ -141,35 +144,39 @@ public class ComBuild implements Plugin { } if (components == null || components.length() == 0) { - System.out.println("there is no add dependencies "); - return; + System.out.println("$TAG there is no add dependencies ") + return } String[] compileComponents = components.split(",") if (compileComponents == null || compileComponents.length == 0) { - System.out.println("there is no add dependencies "); - return; + System.out.println("$TAG there is no add dependencies ") + return } - for (String str : compileComponents) { - System.out.println("comp is " + str); - if (str.contains(":")) { - File file = project.file("../componentrelease/" + str.split(":")[1] + "-release.aar") + for (String component : compileComponents) { + System.out.println("$TAG add compile component $component") + //modulePackage:module语法格式,添加依赖aar + if (component.contains(":")) { + def aarPath = "../componentrelease/${component.split(":")[1]}-release.aar" + File file = project.file(aarPath) if (file.exists()) { - project.dependencies.add("compile", str + "-release@aar") - System.out.println("add dependencies : " + str + "-release@aar"); + project.dependencies.add("compile", "$aarPath") + System.out.println("$TAG add dependencies : $aarPath") } else { - throw new RuntimeException(str + " not found ! maybe you should generate a new one ") + throw new RuntimeException("$TAG $aarPath not found ! maybe you should generate a new one ") } } else { - project.dependencies.add("compile", project.project(':' + str)) - System.out.println("add dependencies project : " + str); + //module语法格式,添加project依赖 + project.dependencies.add("compile", project.project(":$component")) + System.out.println("$TAG add dependencies project : $component") } } } - + /** + * 构建任务信息类 + */ private class AssembleTask { - boolean isAssemble = false; - boolean isDebug = false; - List modules = new ArrayList<>(); + boolean isAssemble = false + boolean isDebug = false + List modules = new ArrayList<>() } - } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 8c5c255..d0dfe6e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,18 +1,19 @@ -# Project-wide Gradle settings. - -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. - +## Project-wide Gradle settings. +# # For more details on how to configure your build environment visit # http://www.gradle.org/docs/current/userguide/build_environment.html - +# # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx1536m - +# Default value: -Xmx1024m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +# # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true +#Mon Dec 04 18:01:04 CST 2017 +systemProp.http.proxyHost=127.0.0.1 +org.gradle.jvmargs=-Xmx1536m mainmodulename=app +systemProp.http.proxyPort=1080 diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.jar b/repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..295705319d6e3fc6821f474fdf21ff1a94c4c04f GIT binary patch literal 50170 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 + + 4.0.0 + com.mrzhang.andcomponent + build-gradle + 0.0.3 + + + com.android.tools.build + gradle + 2.3.2 + compile + + + org.javassist + javassist + 3.20.0-GA + compile + + + diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.pom.md5 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.pom.md5 new file mode 100644 index 0000000..4cb1ec6 --- /dev/null +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.pom.md5 @@ -0,0 +1 @@ +2da4c2f963d0cb7cb55c5ebb7c259d19 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.pom.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.pom.sha1 new file mode 100644 index 0000000..962866b --- /dev/null +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.3/build-gradle-0.0.3.pom.sha1 @@ -0,0 +1 @@ +3e7a355f3e4c86cc7e4b620666f03cdd199dc2b4 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml index 832e4e4..3e00b89 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml @@ -3,11 +3,12 @@ com.mrzhang.andcomponent build-gradle - 0.0.2 + 0.0.3 0.0.1 0.0.2 + 0.0.3 - 20171012142404 + 20171205091532 diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 index 42bb9fd..52313a3 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 @@ -1 +1 @@ -5c112f4a9bc4bfed3c259d56da49ea1f \ No newline at end of file +b2f9f0561f265d1b188587c2609f77ce \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 index 398f6b1..001a6ea 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 @@ -1 +1 @@ -ad28b21fd949ca5df36676adddf2eda578830ce6 \ No newline at end of file +1f5d40c14d60d9cfa30a482ffc357f6e71c100d6 \ No newline at end of file From a98a7b590e8c46aa69dd455fdc3a4611cdf7ffc9 Mon Sep 17 00:00:00 2001 From: gaoneng Date: Tue, 5 Dec 2017 17:42:55 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../groovy/com.dd.buildgradle/ComBuild.groovy | 12 +++++----- .../build-gradle/0.0.4/build-gradle-0.0.4.jar | Bin 0 -> 48640 bytes .../0.0.4/build-gradle-0.0.4.jar.md5 | 1 + .../0.0.4/build-gradle-0.0.4.jar.sha1 | 1 + .../build-gradle/0.0.4/build-gradle-0.0.4.pom | 22 ++++++++++++++++++ .../0.0.4/build-gradle-0.0.4.pom.md5 | 1 + .../0.0.4/build-gradle-0.0.4.pom.sha1 | 1 + .../build-gradle/maven-metadata.xml | 5 ++-- .../build-gradle/maven-metadata.xml.md5 | 2 +- .../build-gradle/maven-metadata.xml.sha1 | 2 +- 10 files changed, 37 insertions(+), 10 deletions(-) create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.jar create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.jar.md5 create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.jar.sha1 create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.pom create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.pom.md5 create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.pom.sha1 diff --git a/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy b/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy index aed927f..43cf701 100644 --- a/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy +++ b/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy @@ -7,10 +7,10 @@ import org.gradle.api.Task class ComBuild implements Plugin { - private final String MAINMODULE = "mainmodulename" - private final String DEDAULT = "app" - private final String ALLMODULE = "all" - private final String TAG = "ComBuild --->" + private def MAINMODULE = "mainmodulename" + private def DEDAULT = "app" + private def ALLMODULE = "all" + private def TAG = "ComBuild --->" //默认是app,直接运行assembleRelease的时候,等同于运行app:assembleRelease private def compileModule = DEDAULT @@ -159,8 +159,8 @@ class ComBuild implements Plugin { def aarPath = "../componentrelease/${component.split(":")[1]}-release.aar" File file = project.file(aarPath) if (file.exists()) { - project.dependencies.add("compile", "$aarPath") - System.out.println("$TAG add dependencies : $aarPath") + project.dependencies.add("compile", component) + System.out.println("$TAG add dependencies : $component") } else { throw new RuntimeException("$TAG $aarPath not found ! maybe you should generate a new one ") } diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.jar b/repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..a9fc008abb808c9c143c76bb4665646d763efab6 GIT binary patch literal 48640 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 wrTZnL{b$eoE~EWZPrXme|Dpvju>UT + + 4.0.0 + com.mrzhang.andcomponent + build-gradle + 0.0.4 + + + com.android.tools.build + gradle + 2.3.2 + compile + + + org.javassist + javassist + 3.20.0-GA + compile + + + diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.pom.md5 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.pom.md5 new file mode 100644 index 0000000..d74ccbd --- /dev/null +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.pom.md5 @@ -0,0 +1 @@ +0ababefa5727db9280d2cad08a16f585 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.pom.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.pom.sha1 new file mode 100644 index 0000000..7f8a4aa --- /dev/null +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.pom.sha1 @@ -0,0 +1 @@ +fe6372fe4e6e072aa38181e83a951fd833f5bd8b \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml index 3e00b89..1b67755 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml @@ -3,12 +3,13 @@ com.mrzhang.andcomponent build-gradle - 0.0.3 + 0.0.4 0.0.1 0.0.2 0.0.3 + 0.0.4 - 20171205091532 + 20171205093353 diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 index 52313a3..f229653 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 @@ -1 +1 @@ -b2f9f0561f265d1b188587c2609f77ce \ No newline at end of file +6e18ae12d823bf0154b3ff1ae04958a2 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 index 001a6ea..4f0f8e3 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 @@ -1 +1 @@ -1f5d40c14d60d9cfa30a482ffc357f6e71c100d6 \ No newline at end of file +47175a0e29f1d2eb6fd77a7d98d9eca63d835ae3 \ No newline at end of file From e516e59d48ca75a5588c094b7eafc8a9935d6eeb Mon Sep 17 00:00:00 2001 From: gaoneng Date: Tue, 5 Dec 2017 17:58:17 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../groovy/com.dd.buildgradle/ComBuild.groovy | 8 ++++---- .../build-gradle/0.0.4/build-gradle-0.0.4.jar | Bin 48640 -> 48628 bytes .../0.0.4/build-gradle-0.0.4.jar.md5 | 2 +- .../0.0.4/build-gradle-0.0.4.jar.sha1 | 2 +- .../build-gradle/maven-metadata.xml | 2 +- .../build-gradle/maven-metadata.xml.md5 | 2 +- .../build-gradle/maven-metadata.xml.sha1 | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy b/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy index 43cf701..2c35146 100644 --- a/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy +++ b/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy @@ -153,21 +153,21 @@ class ComBuild implements Plugin { return } for (String component : compileComponents) { - System.out.println("$TAG add compile component $component") + System.out.println("$TAG adding compile component [$component]") //modulePackage:module语法格式,添加依赖aar if (component.contains(":")) { def aarPath = "../componentrelease/${component.split(":")[1]}-release.aar" File file = project.file(aarPath) if (file.exists()) { - project.dependencies.add("compile", component) - System.out.println("$TAG add dependencies : $component") + project.dependencies.add("compile", "$component-release@aar") + System.out.println("$TAG add dependencies : [$component-release@aar]") } else { throw new RuntimeException("$TAG $aarPath not found ! maybe you should generate a new one ") } } else { //module语法格式,添加project依赖 project.dependencies.add("compile", project.project(":$component")) - System.out.println("$TAG add dependencies project : $component") + System.out.println("$TAG add dependencies project : [$component]") } } } diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.jar b/repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.jar index a9fc008abb808c9c143c76bb4665646d763efab6..26a55e3422f3a95c054ed14737172a65b348431b 100644 GIT binary patch delta 6924 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.0.3 0.0.4 - 20171205093353 + 20171205094325 diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 index f229653..fa28003 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 @@ -1 +1 @@ -6e18ae12d823bf0154b3ff1ae04958a2 \ No newline at end of file +7dfec9729501a9912605b02832fee3ba \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 index 4f0f8e3..cb272c6 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 @@ -1 +1 @@ -47175a0e29f1d2eb6fd77a7d98d9eca63d835ae3 \ No newline at end of file +bc9cdada4e561dfeaed061508771b989c12f0b84 \ No newline at end of file From 495b35f005bfebfcab6ad39c5dbd1f20093b9dad Mon Sep 17 00:00:00 2001 From: gaoneng Date: Wed, 6 Dec 2017 09:47:52 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ComCodeTransform.groovy | 75 +++++++++--------- .../com.dd.buildgradle/ConvertUtils.groovy | 20 ++--- build.gradle | 2 +- .../build-gradle/0.0.4/build-gradle-0.0.4.jar | Bin 48628 -> 48666 bytes .../0.0.4/build-gradle-0.0.4.jar.md5 | 2 +- .../0.0.4/build-gradle-0.0.4.jar.sha1 | 2 +- .../build-gradle/maven-metadata.xml | 2 +- .../build-gradle/maven-metadata.xml.md5 | 2 +- .../build-gradle/maven-metadata.xml.sha1 | 2 +- 9 files changed, 52 insertions(+), 55 deletions(-) diff --git a/build-gradle/src/main/groovy/com.dd.buildgradle/ComCodeTransform.groovy b/build-gradle/src/main/groovy/com.dd.buildgradle/ComCodeTransform.groovy index 81b891e..48da7ad 100644 --- a/build-gradle/src/main/groovy/com.dd.buildgradle/ComCodeTransform.groovy +++ b/build-gradle/src/main/groovy/com.dd.buildgradle/ComCodeTransform.groovy @@ -7,11 +7,13 @@ import org.apache.commons.codec.digest.DigestUtils import org.apache.commons.io.FileUtils import org.gradle.api.Project -public class ComCodeTransform extends Transform { +class ComCodeTransform extends Transform { private Project project - ClassPool classPool - String applicationName; + private ClassPool classPool + private String applicationName; + private def TAG = "ComCodeTransform --->" + def RegisterComponentSuper = "com.mrzhang.component.componentlib.applicationlike.IApplicationLike" ComCodeTransform(Project project) { this.project = project @@ -19,32 +21,32 @@ public class ComCodeTransform extends Transform { @Override void transform(TransformInvocation transformInvocation) throws TransformException, InterruptedException, IOException { - getRealApplicationName(transformInvocation.getInputs()); + getRealApplicationName(transformInvocation.getInputs()) classPool = new ClassPool() project.android.bootClasspath.each { classPool.appendClassPath((String) it.absolutePath) } - def box = ConvertUtils.toCtClasses(transformInvocation.getInputs(), classPool) + def box = ConvertUtils.toCtClasses(transformInvocation.inputs, classPool) //要收集的application,一般情况下只有一个 - List applications = new ArrayList<>(); + List applications = new ArrayList<>() //要收集的applicationlikes,一般情况下有几个组件就有几个applicationlike - List activators = new ArrayList<>(); + List activators = new ArrayList<>() for (CtClass ctClass : box) { if (isApplication(ctClass)) { applications.add(ctClass) - continue; + continue } if (isActivator(ctClass)) { activators.add(ctClass) } } for (CtClass ctClass : applications) { - System.out.println("application is " + ctClass.getName()); + System.out.println("$TAG application is " + ctClass.getName()) } for (CtClass ctClass : activators) { - System.out.println("applicationlike is " + ctClass.getName()); + System.out.println("$TAG applicationlike is " + ctClass.getName()) } transformInvocation.inputs.each { TransformInput input -> @@ -75,8 +77,8 @@ public class ComCodeTransform extends Transform { String classNameTemp = filePath.replace(fileName, "").replace("\\", ".").replace("/", ".") if (classNameTemp.endsWith(".class")) { String className = classNameTemp.substring(1, classNameTemp.length() - 6) - if (className.equals(applicationName)) { - injectApplicationCode(applications.get(0), activators, fileName); + if (className == applicationName) { + injectApplicationCode(applications.get(0), activators, fileName) } } } @@ -100,61 +102,56 @@ public class ComCodeTransform extends Transform { private void injectApplicationCode(CtClass ctClassApplication, List activators, String patch) { - System.out.println("injectApplicationCode begin"); - ctClassApplication.defrost(); + System.out.println("$TAG injectApplicationCode begin") + ctClassApplication.defrost() try { CtMethod attachBaseContextMethod = ctClassApplication.getDeclaredMethod("onCreate", null) attachBaseContextMethod.insertAfter(getAutoLoadComCode(activators)) - } catch (CannotCompileException | NotFoundException e) { - StringBuilder methodBody = new StringBuilder(); - methodBody.append("protected void onCreate() {"); - methodBody.append("super.onCreate();"); - methodBody. - append(getAutoLoadComCode(activators)); - methodBody.append("}"); - ctClassApplication.addMethod(CtMethod.make(methodBody.toString(), ctClassApplication)); - } catch (Exception e) { - + } catch (CannotCompileException | NotFoundException ignored) { + StringBuilder methodBody = new StringBuilder() + methodBody.append("protected void onCreate() {") + methodBody.append("super.onCreate();") + methodBody.append(getAutoLoadComCode(activators)) + methodBody.append("}") + ctClassApplication.addMethod(CtMethod.make(methodBody.toString(), ctClassApplication)) + } catch (Exception ignored) { } ctClassApplication.writeFile(patch) ctClassApplication.detach() - System.out.println("injectApplicationCode success "); + System.out.println("$TAG injectApplicationCode success ") } private String getAutoLoadComCode(List activators) { - StringBuilder autoLoadComCode = new StringBuilder(); + StringBuilder autoLoadComCode = new StringBuilder() for (CtClass ctClass : activators) { autoLoadComCode.append("new " + ctClass.getName() + "()" + ".onCreate();") } - return autoLoadComCode.toString() } - private boolean isApplication(CtClass ctClass) { try { - if (applicationName != null && applicationName.equals(ctClass.getName())) { - return true; + if (applicationName != null && applicationName == ctClass.getName()) { + return true } - } catch (Exception e) { - println "class not found exception class name: " + ctClass.getName() + } catch (Exception ignored) { + println "$TAG class not found exception class name: " + ctClass.getName() } - return false; + return false } private boolean isActivator(CtClass ctClass) { try { for (CtClass ctClassInter : ctClass.getInterfaces()) { - if ("com.mrzhang.component.componentlib.applicationlike.IApplicationLike".equals(ctClassInter.name)) { - return true; + if (RegisterComponentSuper == ctClassInter.name) { + return true } } - } catch (Exception e) { - println "class not found exception class name: " + ctClass.getName() + } catch (Exception ignored) { + println "$TAG class not found exception class name: " + ctClass.getName() } - - return false; + return false } @Override diff --git a/build-gradle/src/main/groovy/com.dd.buildgradle/ConvertUtils.groovy b/build-gradle/src/main/groovy/com.dd.buildgradle/ConvertUtils.groovy index 038db6b..ecc80d3 100644 --- a/build-gradle/src/main/groovy/com.dd.buildgradle/ConvertUtils.groovy +++ b/build-gradle/src/main/groovy/com.dd.buildgradle/ConvertUtils.groovy @@ -4,6 +4,8 @@ import com.android.SdkConstants import com.android.build.api.transform.TransformInput import javassist.ClassPool import javassist.CtClass +import javassist.NotFoundException +import org.apache.commons.io.FileUtils import java.util.jar.JarEntry import java.util.jar.JarFile @@ -12,12 +14,12 @@ import java.util.regex.Matcher class ConvertUtils { static List toCtClasses(Collection inputs, ClassPool classPool) { List classNames = new ArrayList<>() - List allClass = new ArrayList<>(); + List allClass = new ArrayList<>() inputs.each { it.directoryInputs.each { def dirPath = it.file.absolutePath classPool.insertClassPath(it.file.absolutePath) - org.apache.commons.io.FileUtils.listFiles(it.file, null, true).each { + FileUtils.listFiles(it.file, null, true).each { if (it.absolutePath.endsWith(SdkConstants.DOT_CLASS)) { def className = it.absolutePath.substring(dirPath.length() + 1, it.absolutePath.length() - SdkConstants.DOT_CLASS.length()).replaceAll(Matcher.quoteReplacement(File.separator), '.') if (classNames.contains(className)) { @@ -31,10 +33,10 @@ class ConvertUtils { it.jarInputs.each { classPool.insertClassPath(it.file.absolutePath) def jarFile = new JarFile(it.file) - Enumeration classes = jarFile.entries(); + Enumeration classes = jarFile.entries() while (classes.hasMoreElements()) { - JarEntry libClass = classes.nextElement(); - String className = libClass.getName(); + JarEntry libClass = classes.nextElement() + String className = libClass.getName() if (className.endsWith(SdkConstants.DOT_CLASS)) { className = className.substring(0, className.length() - SdkConstants.DOT_CLASS.length()).replaceAll('/', '.') if (classNames.contains(className)) { @@ -47,13 +49,11 @@ class ConvertUtils { } classNames.each { try { - allClass.add(classPool.get(it)); - } catch (javassist.NotFoundException e) { + allClass.add(classPool.get(it)) + } catch (NotFoundException ignored) { println "class not found exception class name: $it " } } - return allClass; + return allClass } - - } \ No newline at end of file diff --git a/build.gradle b/build.gradle index 69202a9..05d3897 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' - classpath 'com.mrzhang.andcomponent:build-gradle:0.0.2' + classpath 'com.mrzhang.andcomponent:build-gradle:0.0.4' } } diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.jar b/repo/com/mrzhang/andcomponent/build-gradle/0.0.4/build-gradle-0.0.4.jar index 26a55e3422f3a95c054ed14737172a65b348431b..be47307663ee8026e740ea040438ff1a1c230bbe 100644 GIT binary patch delta 7005 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.0.3 0.0.4 - 20171205094325 + 20171205095843 diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 index fa28003..b43378c 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 @@ -1 +1 @@ -7dfec9729501a9912605b02832fee3ba \ No newline at end of file +2cd1d132b026657f2645c4354acf5a1f \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 index cb272c6..4d4b4de 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 @@ -1 +1 @@ -bc9cdada4e561dfeaed061508771b989c12f0b84 \ No newline at end of file +3dc8d2541ffac61bd0771dc2f8456ae49be977ea \ No newline at end of file From 842ab142c4c1ed40ad774228f9be6d1220797438 Mon Sep 17 00:00:00 2001 From: gaoneng Date: Wed, 6 Dec 2017 09:49:05 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build-gradle/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-gradle/build.gradle b/build-gradle/build.gradle index d40b832..4198bf8 100644 --- a/build-gradle/build.gradle +++ b/build-gradle/build.gradle @@ -15,7 +15,7 @@ repositories { } group = 'com.mrzhang.andcomponent' -version = '0.0.4' +version = '0.0.5' uploadArchives { repositories { From c2e6350c50e2fe60bde33c9989738d52a592ac27 Mon Sep 17 00:00:00 2001 From: gaoneng Date: Wed, 6 Dec 2017 10:58:45 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=AD=A6=E5=91=8A?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ComCodeTransform.groovy | 13 ++++++----- build.gradle | 2 +- .../build-gradle/0.0.5/build-gradle-0.0.5.jar | Bin 0 -> 49114 bytes .../0.0.5/build-gradle-0.0.5.jar.md5 | 1 + .../0.0.5/build-gradle-0.0.5.jar.sha1 | 1 + .../build-gradle/0.0.5/build-gradle-0.0.5.pom | 22 ++++++++++++++++++ .../0.0.5/build-gradle-0.0.5.pom.md5 | 1 + .../0.0.5/build-gradle-0.0.5.pom.sha1 | 1 + .../build-gradle/maven-metadata.xml | 5 ++-- .../build-gradle/maven-metadata.xml.md5 | 2 +- .../build-gradle/maven-metadata.xml.sha1 | 2 +- 11 files changed, 39 insertions(+), 11 deletions(-) create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.md5 create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.sha1 create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.md5 create mode 100644 repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.sha1 diff --git a/build-gradle/src/main/groovy/com.dd.buildgradle/ComCodeTransform.groovy b/build-gradle/src/main/groovy/com.dd.buildgradle/ComCodeTransform.groovy index 48da7ad..f72926d 100644 --- a/build-gradle/src/main/groovy/com.dd.buildgradle/ComCodeTransform.groovy +++ b/build-gradle/src/main/groovy/com.dd.buildgradle/ComCodeTransform.groovy @@ -12,7 +12,7 @@ class ComCodeTransform extends Transform { private Project project private ClassPool classPool private String applicationName; - private def TAG = "ComCodeTransform --->" + private def TAG = "ComBuildTransform --->" def RegisterComponentSuper = "com.mrzhang.component.componentlib.applicationlike.IApplicationLike" ComCodeTransform(Project project) { @@ -78,7 +78,9 @@ class ComCodeTransform extends Transform { if (classNameTemp.endsWith(".class")) { String className = classNameTemp.substring(1, classNameTemp.length() - 6) if (className == applicationName) { + System.out.println("$TAG [$className] injectApplicationCode begin") injectApplicationCode(applications.get(0), activators, fileName) + System.out.println("$TAG [$className] injectApplicationCode success ") } } } @@ -102,24 +104,23 @@ class ComCodeTransform extends Transform { private void injectApplicationCode(CtClass ctClassApplication, List activators, String patch) { - System.out.println("$TAG injectApplicationCode begin") ctClassApplication.defrost() + def insertCode = getAutoLoadComCode(activators) + System.out.println("$TAG >>>>>>>>>> $insertCode ") try { CtMethod attachBaseContextMethod = ctClassApplication.getDeclaredMethod("onCreate", null) - attachBaseContextMethod.insertAfter(getAutoLoadComCode(activators)) + attachBaseContextMethod.insertAfter(insertCode) } catch (CannotCompileException | NotFoundException ignored) { StringBuilder methodBody = new StringBuilder() methodBody.append("protected void onCreate() {") methodBody.append("super.onCreate();") - methodBody.append(getAutoLoadComCode(activators)) + methodBody.append(insertCode) methodBody.append("}") ctClassApplication.addMethod(CtMethod.make(methodBody.toString(), ctClassApplication)) } catch (Exception ignored) { } ctClassApplication.writeFile(patch) ctClassApplication.detach() - - System.out.println("$TAG injectApplicationCode success ") } private String getAutoLoadComCode(List activators) { diff --git a/build.gradle b/build.gradle index 05d3897..683e6d7 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:2.3.3' - classpath 'com.mrzhang.andcomponent:build-gradle:0.0.4' + classpath 'com.mrzhang.andcomponent:build-gradle:0.0.5' } } diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..a3764bcd73be691a5c9a99f3604d6a1fa4a6e45b GIT binary patch literal 49114 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 !){!E>gKyu$mD%R8_-7m1X-R`O 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 literal 0 HcmV?d00001 diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.md5 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.md5 new file mode 100644 index 0000000..a5b8563 --- /dev/null +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.md5 @@ -0,0 +1 @@ +76eb6cd65a4787ae3e00591bb39c14f6 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.sha1 new file mode 100644 index 0000000..e0f3cb7 --- /dev/null +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.sha1 @@ -0,0 +1 @@ +462562863bce21d1c203025b46e40d5714f212a4 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom new file mode 100644 index 0000000..c120fbe --- /dev/null +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom @@ -0,0 +1,22 @@ + + + 4.0.0 + com.mrzhang.andcomponent + build-gradle + 0.0.5 + + + com.android.tools.build + gradle + 2.3.2 + compile + + + org.javassist + javassist + 3.20.0-GA + compile + + + diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.md5 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.md5 new file mode 100644 index 0000000..1bfa857 --- /dev/null +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.md5 @@ -0,0 +1 @@ +b913e16b6e71f46494a420319aa3a2d9 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.sha1 new file mode 100644 index 0000000..ee3c38d --- /dev/null +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.sha1 @@ -0,0 +1 @@ +9baf6a4b4980cda887f2407febf490234e4e1b87 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml index 1240170..975d689 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml @@ -3,13 +3,14 @@ com.mrzhang.andcomponent build-gradle - 0.0.4 + 0.0.5 0.0.1 0.0.2 0.0.3 0.0.4 + 0.0.5 - 20171205095843 + 20171206024921 diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 index b43378c..e26c114 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 @@ -1 +1 @@ -2cd1d132b026657f2645c4354acf5a1f \ No newline at end of file +9dc6ae25c1e0a58afbe5ea52f23cd916 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 index 4d4b4de..632888b 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 @@ -1 +1 @@ -3dc8d2541ffac61bd0771dc2f8456ae49be977ea \ No newline at end of file +3615bd13b4f12c9b11c859154567fdcd4f8fab7d \ No newline at end of file From e6c266a19ef77298e002ca5fe84b10ce40f164ef Mon Sep 17 00:00:00 2001 From: gaoneng Date: Wed, 6 Dec 2017 11:57:28 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E5=85=BC=E5=AE=B9android=20studio=203.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 7 +++---- basiclib/build.gradle | 13 ++++++------- basicres/build.gradle | 3 +-- build-gradle/build.gradle | 2 +- .../groovy/com.dd.buildgradle/ComBuild.groovy | 4 ++-- build.gradle | 4 +++- componentlib/build.gradle | 5 ++--- componentservice/build.gradle | 7 +++---- gradle/wrapper/gradle-wrapper.properties | 2 +- readercomponent/build.gradle | 10 ++++------ .../build-gradle/0.0.5/build-gradle-0.0.5.jar | Bin 49114 -> 49451 bytes .../0.0.5/build-gradle-0.0.5.jar.md5 | 2 +- .../0.0.5/build-gradle-0.0.5.jar.sha1 | 2 +- .../build-gradle/0.0.5/build-gradle-0.0.5.pom | 2 +- .../0.0.5/build-gradle-0.0.5.pom.md5 | 2 +- .../0.0.5/build-gradle-0.0.5.pom.sha1 | 2 +- .../build-gradle/maven-metadata.xml | 2 +- .../build-gradle/maven-metadata.xml.md5 | 2 +- .../build-gradle/maven-metadata.xml.sha1 | 2 +- sharecomponent/build.gradle | 7 +++---- 20 files changed, 37 insertions(+), 43 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cec66d7..2de9e57 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,12 +1,11 @@ apply plugin: 'com.dd.comgradle' android { - compileSdkVersion 25 - buildToolsVersion "25.0.2" + compileSdkVersion 26 defaultConfig { applicationId "com.mrzhang.androidcomponent" minSdkVersion 15 - targetSdkVersion 14 + targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" @@ -25,7 +24,7 @@ android { } dependencies { - compile project(':componentservice') + implementation project(':componentservice') } combuild { diff --git a/basiclib/build.gradle b/basiclib/build.gradle index d92c552..db20077 100644 --- a/basiclib/build.gradle +++ b/basiclib/build.gradle @@ -2,7 +2,6 @@ apply plugin: 'com.android.library' android { compileSdkVersion 26 - buildToolsVersion "26.0.1" defaultConfig { minSdkVersion 15 @@ -22,12 +21,12 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + api fileTree(dir: 'libs', include: ['*.jar']) + androidTestApi('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) - compile 'com.android.support:appcompat-v7:26.+' - testCompile 'junit:junit:4.12' - compile 'com.squareup.okhttp3:okhttp:3.4.1' - compile 'com.squareup.picasso:picasso:2.5.2' + api 'com.android.support:appcompat-v7:26.1.0' + testApi 'junit:junit:4.12' + api 'com.squareup.okhttp3:okhttp:3.4.1' + api 'com.squareup.picasso:picasso:2.5.2' } diff --git a/basicres/build.gradle b/basicres/build.gradle index 4f4949d..5dd5f27 100644 --- a/basicres/build.gradle +++ b/basicres/build.gradle @@ -2,7 +2,6 @@ apply plugin: 'com.android.library' android { compileSdkVersion 26 - buildToolsVersion "26.0.1" defaultConfig { minSdkVersion 15 @@ -24,5 +23,5 @@ android { } dependencies { - compile project(':basiclib') + api project(':basiclib') } diff --git a/build-gradle/build.gradle b/build-gradle/build.gradle index 4198bf8..f4af7fe 100644 --- a/build-gradle/build.gradle +++ b/build-gradle/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'groovy' apply plugin: 'maven' dependencies { - compile 'com.android.tools.build:gradle:2.3.2' + compile 'com.android.tools.build:gradle:3.0.1' compile group: 'org.javassist', name: 'javassist', version: '3.20.0-GA' //gradle sdk compile gradleApi() diff --git a/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy b/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy index 2c35146..efd1608 100644 --- a/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy +++ b/build-gradle/src/main/groovy/com.dd.buildgradle/ComBuild.groovy @@ -159,14 +159,14 @@ class ComBuild implements Plugin { def aarPath = "../componentrelease/${component.split(":")[1]}-release.aar" File file = project.file(aarPath) if (file.exists()) { - project.dependencies.add("compile", "$component-release@aar") + project.dependencies.add("implementation", "$component-release@aar") System.out.println("$TAG add dependencies : [$component-release@aar]") } else { throw new RuntimeException("$TAG $aarPath not found ! maybe you should generate a new one ") } } else { //module语法格式,添加project依赖 - project.dependencies.add("compile", project.project(":$component")) + project.dependencies.add("implementation", project.project(":$component")) System.out.println("$TAG add dependencies project : [$component]") } } diff --git a/build.gradle b/build.gradle index 683e6d7..1e9fef0 100644 --- a/build.gradle +++ b/build.gradle @@ -7,9 +7,10 @@ buildscript { maven { url uri('./repo') } + google() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.0.1' classpath 'com.mrzhang.andcomponent:build-gradle:0.0.5' } } @@ -24,5 +25,6 @@ allprojects { maven { url uri('./repo') } + google() } } \ No newline at end of file diff --git a/componentlib/build.gradle b/componentlib/build.gradle index 9f41ee4..71fe216 100644 --- a/componentlib/build.gradle +++ b/componentlib/build.gradle @@ -5,7 +5,6 @@ targetCompatibility = "1.7" android { compileSdkVersion 26 - buildToolsVersion "26.0.0" defaultConfig { minSdkVersion 14 @@ -25,8 +24,8 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:appcompat-v7:26.+' + api fileTree(dir: 'libs', include: ['*.jar']) + api 'com.android.support:appcompat-v7:26.1.0' } diff --git a/componentservice/build.gradle b/componentservice/build.gradle index d6a5170..837b10d 100644 --- a/componentservice/build.gradle +++ b/componentservice/build.gradle @@ -2,7 +2,6 @@ apply plugin: 'com.android.library' android { compileSdkVersion 26 - buildToolsVersion "26.0.0" defaultConfig { minSdkVersion 15 @@ -22,7 +21,7 @@ android { } dependencies { - compile project(':componentlib') - compile project(':basicres') - compile fileTree(dir: 'libs', include: ['*.jar']) + api project(':componentlib') + api project(':basicres') + api fileTree(dir: 'libs', include: ['*.jar']) } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index eb3a5f7..43b6840 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip diff --git a/readercomponent/build.gradle b/readercomponent/build.gradle index a1f01fc..dde9745 100644 --- a/readercomponent/build.gradle +++ b/readercomponent/build.gradle @@ -1,11 +1,10 @@ apply plugin: 'com.dd.comgradle' android { - compileSdkVersion 25 - buildToolsVersion "25.0.2" + compileSdkVersion 26 defaultConfig { minSdkVersion 15 - targetSdkVersion 14 + targetSdkVersion 26 versionCode 1 versionName "1.0" @@ -22,7 +21,6 @@ android { debug { minifyEnabled false } - } resourcePrefix "readerbook_" @@ -30,8 +28,8 @@ android { } dependencies { - compile project(':componentservice') - compile fileTree(dir: 'libs', include: ['*.jar']) + api project(':componentservice') + implementation fileTree(dir: 'libs', include: ['*.jar']) } combuild { diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar index a3764bcd73be691a5c9a99f3604d6a1fa4a6e45b..361b56b173c15fb36d2a11215973189ecaf51ad1 100644 GIT binary patch delta 27710 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 delta 27372 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ⅇ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 diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.md5 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.md5 index a5b8563..c28358d 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.md5 +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.md5 @@ -1 +1 @@ -76eb6cd65a4787ae3e00591bb39c14f6 \ No newline at end of file +e816b3803f771e6de66ed0fc0cbc4c74 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.sha1 index e0f3cb7..1d17f3d 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.sha1 +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.sha1 @@ -1 +1 @@ -462562863bce21d1c203025b46e40d5714f212a4 \ No newline at end of file +dadfae7f72028de3fd493eb2e0d7a562ac5941f0 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom index c120fbe..ee84b16 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom @@ -9,7 +9,7 @@ com.android.tools.build gradle - 2.3.2 + 3.0.1 compile diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.md5 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.md5 index 1bfa857..7255b64 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.md5 +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.md5 @@ -1 +1 @@ -b913e16b6e71f46494a420319aa3a2d9 \ No newline at end of file +dabedfaaa53cb5c1124abb9166b14287 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.sha1 index ee3c38d..d7f8505 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.sha1 +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.pom.sha1 @@ -1 +1 @@ -9baf6a4b4980cda887f2407febf490234e4e1b87 \ No newline at end of file +717d54d7bc1405f54dea1f3c6f5ae36fcd70f1d5 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml index 975d689..3195729 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml @@ -11,6 +11,6 @@ 0.0.4 0.0.5 - 20171206024921 + 20171206035437 diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 index e26c114..948af31 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 @@ -1 +1 @@ -9dc6ae25c1e0a58afbe5ea52f23cd916 \ No newline at end of file +c7ae4e10cba80891a94a8762942e8401 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 index 632888b..9480193 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 @@ -1 +1 @@ -3615bd13b4f12c9b11c859154567fdcd4f8fab7d \ No newline at end of file +2e4e394b33988c3ae461ed841e761f0c6c404e29 \ No newline at end of file diff --git a/sharecomponent/build.gradle b/sharecomponent/build.gradle index 4ce32f6..cad0a3f 100644 --- a/sharecomponent/build.gradle +++ b/sharecomponent/build.gradle @@ -1,12 +1,11 @@ apply plugin: 'com.dd.comgradle' android { - compileSdkVersion 25 - buildToolsVersion "25.0.2" + compileSdkVersion 26 defaultConfig { minSdkVersion 15 - targetSdkVersion 14 + targetSdkVersion 26 versionCode 1 versionName "1.0" @@ -25,7 +24,7 @@ android { } dependencies { - compile project(':componentservice') + api project(':componentservice') } combuild { From ebba67d62a087dc932775445c0767d163e77b533 Mon Sep 17 00:00:00 2001 From: gaoneng Date: Wed, 6 Dec 2017 15:17:15 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E5=85=BC=E5=AE=B9android=20studio=203.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ComCodeTransform.groovy | 2 +- .../src/main/runalone/AndroidManifest.xml | 8 ++++---- .../build-gradle/0.0.5/build-gradle-0.0.5.jar | Bin 49451 -> 49450 bytes .../0.0.5/build-gradle-0.0.5.jar.md5 | 2 +- .../0.0.5/build-gradle-0.0.5.jar.sha1 | 2 +- .../build-gradle/maven-metadata.xml | 2 +- .../build-gradle/maven-metadata.xml.md5 | 2 +- .../build-gradle/maven-metadata.xml.sha1 | 2 +- .../src/main/runalone/AndroidManifest.xml | 1 - 9 files changed, 10 insertions(+), 11 deletions(-) diff --git a/build-gradle/src/main/groovy/com.dd.buildgradle/ComCodeTransform.groovy b/build-gradle/src/main/groovy/com.dd.buildgradle/ComCodeTransform.groovy index f72926d..2808ee2 100644 --- a/build-gradle/src/main/groovy/com.dd.buildgradle/ComCodeTransform.groovy +++ b/build-gradle/src/main/groovy/com.dd.buildgradle/ComCodeTransform.groovy @@ -12,7 +12,7 @@ class ComCodeTransform extends Transform { private Project project private ClassPool classPool private String applicationName; - private def TAG = "ComBuildTransform --->" + private def TAG = "ComBuild Transform --->" def RegisterComponentSuper = "com.mrzhang.component.componentlib.applicationlike.IApplicationLike" ComCodeTransform(Project project) { diff --git a/readercomponent/src/main/runalone/AndroidManifest.xml b/readercomponent/src/main/runalone/AndroidManifest.xml index 262f347..acdb143 100644 --- a/readercomponent/src/main/runalone/AndroidManifest.xml +++ b/readercomponent/src/main/runalone/AndroidManifest.xml @@ -1,6 +1,6 @@ + xmlns:tools="http://schemas.android.com/tools" + package="com.mrzhang.reader"> - + - + diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar index 361b56b173c15fb36d2a11215973189ecaf51ad1..56dbd9a4eac5639c9c706d4274b6c7a9925cf932 100644 GIT binary patch delta 5857 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 delta 5828 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 diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.md5 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.md5 index c28358d..73c710a 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.md5 +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.md5 @@ -1 +1 @@ -e816b3803f771e6de66ed0fc0cbc4c74 \ No newline at end of file +cfa84f0c5b21e2370a1ac864d5f564da \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.sha1 index 1d17f3d..bdf1ec4 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.sha1 +++ b/repo/com/mrzhang/andcomponent/build-gradle/0.0.5/build-gradle-0.0.5.jar.sha1 @@ -1 +1 @@ -dadfae7f72028de3fd493eb2e0d7a562ac5941f0 \ No newline at end of file +864c8482a5e5a6dd409ce00543f4341a7d9ac8d6 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml index 3195729..fd4c9ec 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml @@ -11,6 +11,6 @@ 0.0.4 0.0.5 - 20171206035437 + 20171206064228 diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 index 948af31..03b1062 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.md5 @@ -1 +1 @@ -c7ae4e10cba80891a94a8762942e8401 \ No newline at end of file +9eb76e0b1bdecb98ef2e8d19e866ad66 \ No newline at end of file diff --git a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 index 9480193..345d379 100644 --- a/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 +++ b/repo/com/mrzhang/andcomponent/build-gradle/maven-metadata.xml.sha1 @@ -1 +1 @@ -2e4e394b33988c3ae461ed841e761f0c6c404e29 \ No newline at end of file +6fef0e6f9bb1b202d8a36c4b923c07ef98a22c3d \ No newline at end of file diff --git a/sharecomponent/src/main/runalone/AndroidManifest.xml b/sharecomponent/src/main/runalone/AndroidManifest.xml index 832a39b..c61a04e 100644 --- a/sharecomponent/src/main/runalone/AndroidManifest.xml +++ b/sharecomponent/src/main/runalone/AndroidManifest.xml @@ -1,6 +1,5 @@