forked from firebase/firebase-android-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
121 lines (107 loc) · 3.89 KB
/
build.gradle
File metadata and controls
121 lines (107 loc) · 3.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/*
* Copyright 2018 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
buildscript {
repositories {
jcenter()
mavenLocal()
google()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
classpath 'com.google.gms:google-services:4.1.0'
classpath 'gradle.plugin.com.github.sherter.google-java-format:google-java-format-gradle-plugin:0.7.1'
}
}
plugins {
id 'com.github.ben-manes.versions' version '0.20.0'
}
allprojects {
apply plugin: 'com.github.sherter.google-java-format'
googleJavaFormat {
toolVersion = '1.6'
}
tasks.googleJavaFormat {
source '.'
include '**/*.java'
}
repositories {
//mavenLocal() can be overridden via GRADLE_OPTS="-Dmaven.repo.local=<path>"
mavenLocal()
jcenter()
google()
maven { url 'https://maven.fabric.io/public' }
}
task copyRootGoogleServices(type: Copy) {
from(System.env.FIREBASE_GOOGLE_SERVICES_PATH ?: "${rootDir}/google-services.json")
into projectDir
rename {
'google-services.json'
}
}
tasks.whenTaskAdded {
if ( it.name == 'processReleaseGoogleServices') {
it.dependsOn 'copyRootGoogleServices'
}
}
if(file('test_setup.sh').exists()) {
task setupSmokeTest {
doLast {
project.exec {
Map env = [:]
if (System.env.PROJECT_ID) {
env.put('PROJECT_ID', System.env.PROJECT_ID)
}
if (project.hasProperty('firebaseProjectId')) {
env.put('PROJECT_ID', project.firebaseProjectId)
}
if (!env.PROJECT_ID) {
throw new GradleException(
'Fireescape project id was not set. Use -PfirebaseProjectId',
new IllegalArgumentException())
}
if (System.env.FIREBASE_TOKEN) {
env.put('FIREBASE_TOKEN', System.env.FIREBASE_TOKEN)
}
if (project.hasProperty('firebaseToken')) {
env.put("FIREBASE_TOKEN", project.firebaseToken)
}
if(!env.FIREBASE_TOKEN) {
throw new GradleException('Firebase token was not set. Use -PfirebaseToken',
new IllegalArgumentException())
}
env.put('PATH', System.env.PATH)
workingDir projectDir.absolutePath
commandLine './test_setup.sh'
//Ensure firebase cli does not output project info
standardOutput = new ByteArrayOutputStream()
//Ensure firebase cli does not output project info
standardOutput = new ByteArrayOutputStream()
environment = env
}
}
}
tasks.whenTaskAdded {
if ( it.name == 'connectedReleaseAndroidTest') {
it.dependsOn setupSmokeTest
it.dependsOn rootProject.tasks.findByName("dependencyUpdates")
}
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}