-
Notifications
You must be signed in to change notification settings - Fork 189
Expand file tree
/
Copy pathbuild.gradle
More file actions
66 lines (61 loc) · 2.35 KB
/
Copy pathbuild.gradle
File metadata and controls
66 lines (61 loc) · 2.35 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
/*
* Copyright 2021 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
*
* https://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.
*
* This is the build configuration for the google-ads-java subproject. It
* depends on the google-ads-annotation-processing subproject.
*/
plugins {
id 'com.google.api-ads.java-conventions'
}
dependencies {
api project(":google-ads-stubs-lib")
implementation 'org.slf4j:slf4j-api:1.7.25'
implementation 'com.squareup:javapoet:1.11.1'
testImplementation 'com.google.api:gax-grpc::testlib'
testImplementation 'org.hamcrest:hamcrest:2.2'
testImplementation 'org.mockito:mockito-core:4.11.0'
// Finds all the stubs modules and adds these as dependencies.
// This saves us from having to update these each time a new API version is
// added.
rootProject.allprojects
.findAll {it.name.startsWith("google-ads-stubs-v")}
.each {
// Stubs should be exposed transitively to dependants.
api it
// Provides the mock service implementations from each stubs
// module (e.g. MockGoogleAdsService) as a testFixtures
// dependency.
testFixturesApi testFixtures(it)
}
}
task generateCode(type: JavaExec) {
group = "Execution"
description = "Runs the code generators"
classpath = sourceSets.main.runtimeClasspath
main = "com.google.ads.googleads.codegen.RunCodeGenerators"
def outputDir = new File(project.buildDir, "generated/catalog");
args = [outputDir.getAbsolutePath()]
outputs.dir(outputDir)
}
project.build.dependsOn(generateCode)
publishing {
publications {
maven(MavenPublication) { publication ->
configurePom(publication,
"Google Ads API client library for Java - codegen",
"Generated code (stus) and generators for library")
}
}
}