blob: 3434a4adaf46141b758e9e398ffed830f5f17863 [file] [log] [blame]
Jean-Marie Henaffe4e36d12018-04-05 10:33:50 +02001def r8RootDir = System.properties['r8.root.dir']
2
3allprojects {
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//
28import java.util.concurrent.TimeUnit;
29class 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
74gradle.addListener new TimingsListener()