From 2cf1634c15711955246f4a6dee136633fb5d2546 Mon Sep 17 00:00:00 2001 From: AriaLyy <511455842@qq.com> Date: Fri, 18 Nov 2016 16:16:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=BA=90=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- downloadutil/build.gradle | 53 ++++++++++++++++++++++++++++++++ downloadutil/build_source.gradle | 51 ++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 downloadutil/build_source.gradle diff --git a/downloadutil/build.gradle b/downloadutil/build.gradle index ab3d8ef1..fa424399 100644 --- a/downloadutil/build.gradle +++ b/downloadutil/build.gradle @@ -28,4 +28,57 @@ dependencies { compile 'com.android.support:appcompat-v7:23.1.1' } +// build a jar with source files +task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' +} + +task javadoc(type: Javadoc) { + failOnError false + source = android.sourceSets.main.java.sourceFiles + classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + classpath += configurations.compile +} + +// build a jar with javadoc +task javadocJar(type: Jar, dependsOn: javadoc) { + classifier = 'javadoc' + from javadoc.destinationDir +} + +android.libraryVariants.all { variant -> + println variant.javaCompile.classpath.files + if (variant.name == 'release') { + //我们只需 release 的 javadoc + task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) { + // title = '' + // description = '' + source = variant.javaCompile.source + classpath = files(variant.javaCompile.classpath.files, project.android.getBootClasspath()) + options { + encoding "utf-8" + links "http://docs.oracle.com/javase/7/docs/api/" + linksOffline "http://d.android.com/reference", "${android.sdkDirectory}/docs/reference" + } + exclude '**/BuildConfig.java' + exclude '**/R.java' + } + task("javadoc${variant.name.capitalize()}Jar", type: Jar, + dependsOn: "generate${variant.name.capitalize()}Javadoc") { + classifier = 'javadoc' + from tasks.getByName("generate${variant.name.capitalize()}Javadoc").destinationDir + } + artifacts { + archives tasks.getByName("javadoc${variant.name.capitalize()}Jar") + } + } +} + +artifacts { + archives sourcesJar + archives javadocJar +} + +//apply frome: 'build_source.gradle' //apply from: 'jcenter.gradle' \ No newline at end of file diff --git a/downloadutil/build_source.gradle b/downloadutil/build_source.gradle new file mode 100644 index 00000000..9860e0d3 --- /dev/null +++ b/downloadutil/build_source.gradle @@ -0,0 +1,51 @@ +// build a jar with source files +task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' +} + +task javadoc(type: Javadoc) { + failOnError false + source = android.sourceSets.main.java.sourceFiles + classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + classpath += configurations.compile +} + +// build a jar with javadoc +task javadocJar(type: Jar, dependsOn: javadoc) { + classifier = 'javadoc' + from javadoc.destinationDir +} + +android.libraryVariants.all { variant -> + println variant.javaCompile.classpath.files + if (variant.name == 'release') { + //我们只需 release 的 javadoc + task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) { + // title = '' + // description = '' + source = variant.javaCompile.source + classpath = files(variant.javaCompile.classpath.files, project.android.getBootClasspath()) + options { + encoding "utf-8" + links "http://docs.oracle.com/javase/7/docs/api/" + linksOffline "http://d.android.com/reference", "${android.sdkDirectory}/docs/reference" + } + exclude '**/BuildConfig.java' + exclude '**/R.java' + } + task("javadoc${variant.name.capitalize()}Jar", type: Jar, + dependsOn: "generate${variant.name.capitalize()}Javadoc") { + classifier = 'javadoc' + from tasks.getByName("generate${variant.name.capitalize()}Javadoc").destinationDir + } + artifacts { + archives tasks.getByName("javadoc${variant.name.capitalize()}Jar") + } + } +} + +artifacts { + archives sourcesJar + archives javadocJar +} \ No newline at end of file