Jean-Marie Henaff | e4e36d1 | 2018-04-05 10:33:50 +0200 | [diff] [blame] | 1 | def r8RootDir = System.properties['r8.root.dir'] |
| 2 | |
| 3 | allprojects { |
| 4 | buildscript { |
| 5 | repositories { |
| 6 | maven { url r8RootDir+ '/third_party/gradle-plugin' } |
| 7 | // We don't use 'google()' in order to support projects using gradle |
| 8 | // lower to 4.1 version. |
| 9 | maven { url 'https://maven.google.com' } |
| 10 | jcenter() |
| 11 | } |
| 12 | dependencies { |
| 13 | classpath files(r8RootDir + '/build/libs/r8.jar') |
| 14 | classpath 'com.android.tools.build:gradle:3.2.0-dev' |
| 15 | } |
| 16 | } |
| 17 | repositories { |
| 18 | maven { url r8RootDir+ '/third_party/gradle-plugin' } |
| 19 | maven { url 'https://maven.google.com' } |
| 20 | jcenter() |
| 21 | mavenCentral() |
| 22 | } |
| 23 | } |
| 24 | |
| 25 | // |
| 26 | // Dump detailed timings per subtask |
| 27 | // |
| 28 | import java.util.concurrent.TimeUnit; |
| 29 | class TimingsListener implements TaskExecutionListener, BuildListener { |
| 30 | private long startTimeInNs; |
| 31 | private timings = [] |
| 32 | |
| 33 | @Override |
| 34 | void beforeExecute(Task task) { |
| 35 | startTimeInNs = System.nanoTime(); |
| 36 | } |
| 37 | |
| 38 | @Override |
| 39 | void afterExecute(Task task, TaskState taskState) { |
| 40 | def ms = TimeUnit.MILLISECONDS.convert( |
| 41 | System.nanoTime() - startTimeInNs, TimeUnit.NANOSECONDS); |
| 42 | timings.add([task.path,ms]) |
| 43 | } |
| 44 | |
| 45 | @Override |
| 46 | void buildStarted(Gradle gradle) { |
| 47 | } |
| 48 | |
| 49 | @Override |
| 50 | void buildFinished(BuildResult result) { |
| 51 | def total=0 |
| 52 | for (timing in timings) { |
| 53 | total += timing[1] |
| 54 | } |
| 55 | |
| 56 | for (timing in timings) { |
| 57 | printf "BENCH,%s,%s\n", timing |
| 58 | } |
| 59 | |
| 60 | printf "BENCH,totalGradleTasks,%s\n", total |
| 61 | |
| 62 | } |
| 63 | |
| 64 | @Override |
| 65 | void projectsEvaluated(Gradle gradle) {} |
| 66 | |
| 67 | @Override |
| 68 | void projectsLoaded(Gradle gradle) {} |
| 69 | |
| 70 | @Override |
| 71 | void settingsEvaluated(Settings settings) {} |
| 72 | } |
| 73 | |
| 74 | gradle.addListener new TimingsListener() |