共计 2963 个字符,预计需要花费 8 分钟才能阅读完成。
一、罕用的源集属性
apply plugin:'java'
sourceSets {
main {// 对 main SourceSet 进行配置}
}
task custom65SourceSetTask {
sourceSets.all {
println "name:" + name
println "outputs.getFiles():" + outputs.getFiles()
println "outputs.class:" + outputs.class
println "outputs:" + outputs
println "java:" + java
println "java.getClass():" + java.getClass()
println "resources:" + resources
println "getResources():" + getResources()
println "=================================="
}
}
-
这面是 SourceSet 汇合中罕用的属性打印
二、插件增加的工作
三、多个构建工程
include ':app' project(":app").projectDir = new File(rootDir, 'chapter2/app') include ':base' project(":base").projectDir = new File(rootDir, "chapter2/base") // 上面就是目录构造 // -- chapter2 // -- --app // -- -- --build.gradle // -- -- --src // -- --base // -- -- -- base.iml // -- -- -- builde.gradle // -- -- -- src
- 配置好了构建文件,那么就去看一下具体的文件
-
文件地址;app/build.gradle
dependencies {complie project(':base') } apply plugin:'java'
-
能够应用上面的配置对所有的子项目进行配置
subprojects { apply plugin: 'java' repositories {mavenCentral() } dependencies {testCompile 'junit:junit:4.12'} }
四、公布构建工程后果
apply plugin:'java' task publishJar(type: Jar) artifacts {archives publishJar} // 间接公布一个文件 def publishFile = file('base/AndroidManifest.xml') artifacts {archives publishFile} version '1.0.0' // 指定公布的版本号 uploadArchives { repositories { flatDir { name 'libs' dirs "$projectDir/libs" } } } // 上面是上传到 maven 仓库中,在用户目录的.m2/repository 中能够找到 group 'org.flysnow.anroidgradlebook.example' version '1.0.0' uploadArchives { repositories { flatDir { name 'libs' dirs "$projectDir/libs" } mavenLocal()} } // 上面是上传到公有的 maven 仓库中,这里以公司搭建的 Nexus 私服为例 apply plugin:'maven' version '1.0.0' uploadArchives { repositories { flatDir { name 'libs' dirs "$projectDir/libs" } mavenLocal() mavenDeployer {repository(url: "http://repo.mycompany.com/nexus/content/repositories/releases") {authentication(urerName: "username", password: "pwd") } snapshotRepository(url: "http://repo.mycompany.com/nexus/content/repositories/snapshots") {authentication(userName: "username", password: "pwd") } } } }
五、生成 Idea 和 Eclipse 配置
apply plugin:'java' apply plugin: 'idea' apply plugin: 'eclipse'
六、android 插件
buildscript { repositories {jcenter() } dependencies {classpath 'com.android.tools.build:gradle:1.5.0'} } apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVeresion "23.0.1" }
-
android{} 是一个 android 提供的一个阔韩类型,能够自定义 AndroidGradle 工程,下面的 buildscript 会去 jecenter 上依照 id 进行查找插件,而后进行构建。
七、一个残缺 android 构建工程脚本
buildscript { repositories {jcenter() } dependencies {classpath 'com.android.tools.build:gradle:3.1.4'} } apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "org.flysnow.app.test" minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies {compile fileTree(dir: 'libs', include: ['*.jar']) testComplie 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:28.0.0' compile 'com.android.support:design:23.0.0' }
八、源码
- gitee 门路:https://gitee.com/dongqianrui…
- CSDN:https://blog.csdn.net/weixin_…
- 博客园:https://www.cnblogs.com/ruige…
- 欢送关注微信公众号:傅里叶变换,集体账号,仅用于技术交换
本文由博客一文多发平台 OpenWrite 公布!
正文完