
本文共 4161 字,大约阅读时间需要 13 分钟。
Gradle Task ���������������������
Gradle ������������������������������������������������������ Task������������������������������������������������������������������������������������������ Gradle Task ������������������������������������
1. Task ������������
Gradle ������������������������������ Task��������������������������� Task ���������������
-
������������ task ������������ Task���
task group: 'imooc', name: 'hellotask' { println 'i am hellotask'}
-
������ TaskContainer ������ Task���
this.tasks.create(name: 'hellotask2') { setGroup('imooc') setDescription('study task2') println 'i am hellotask2'}
������������������������������������������ Task���
2. Task ������������������
��� Gradle ������Task ��������������������� build.gradle
������������������������������������������������������������������ Task ���������������
def startBuildTime, endBuildTimethis.afterEvaluate { // ������ preBuildTask ������������������ def preBuildTask = project.tasks.getByName('preBuild') preBuildTask.doFirst { startBuildTime = System.currentTimeMillis() println 'startBuildTime is ' + startBuildTime } def buildTask = project.tasks.getByName('build') buildTask.doLast { endBuildTime = System.currentTimeMillis() println 'the end time is ' + endBuildTime println "============ the build time is ${endBuildTime - startBuildTime}" }}
������������������������������������������������������������������
3. Task ���������������������
Task ��������������������������������������������������������������������������������������������������������� Task ���������������������
task taskx { doLast { println 'taskx' }}task tasky { doLast { println 'tasky' }}task taskz(dependsOn: [taskx, tasky]) { doLast { println 'taskz' }}task taskz2 { dependsOn this.tasks.findAll { task -> return task.name.startsWith('lib') } doLast { println 'taskz2' }}task lib1 { doLast { println 'lib1' }}task lib2 < [anotherDependency] { doLast { println 'lib2' }}task nolib { doLast { println 'nolib' }}
������ dependsOn
������������������ Task��������������� Task ������������ Task ���������������
4. ��� Task ������������������
Gradle ������������������������������ Task ������������������������ mustRunAfter
��� dependsOn
������������������������������������
task taskx { doLast { println 'taskx' }}task tasky { mustRunAfter taskx doLast { println 'tasky' }}task taskz { mustRunAfter tasky doLast { println 'taskz' }}// ������������������ Task���// gradlew taskz tasky taskx
������ mustRunAfter
������������������ Task ��������������� Task ���������������
5. ��� Task ������������������������
������ Gradle ��������������������������������� Task ��������������������������������������������� Task ���������������������������������������
task handleReleaseFile { def srcFile = file('releases.xml') def destDir = new File(project.buildDir, 'generated/release/') doLast { println '���������������������xml���������������' destDir.mkdir() def releases = new XmlParser().parse(srcFile) releases.release.each { releaseNode -> def name = releaseNode.versionCode.text() def versionName = releaseNode.versionName.text() def versionInfo = releaseNode.versionInfo.text() def destFile = new File(destDir, "release-${name}.text") destFile.withWriter { writer -> writer.write("${name} > ${versionName} > ${versionInfo}") } } }}task handleReleaseFileTest(dependsOn: handleReleaseFile) { def dir = fileTree(project.buildDir.path + 'generated/release/') doLast { dir.each { println 'the file name is ' + it } println '���������������������' }}
��������������������� fileTree
������������������������������������������������������
������������ Gradle Task ������������������������������������������������������
发表评论
最新留言
关于作者
