You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
4.9 KiB
171 lines
4.9 KiB
description = 'Opencensus Proto' |
|
|
|
apply plugin: 'idea' |
|
apply plugin: 'java' |
|
apply plugin: 'com.google.protobuf' |
|
apply plugin: 'maven' |
|
apply plugin: "signing" |
|
|
|
group = "io.opencensus" |
|
version = "0.3.0-SNAPSHOT" // CURRENT_OPENCENSUS_PROTO_VERSION |
|
|
|
sourceCompatibility = 1.6 |
|
targetCompatibility = 1.6 |
|
|
|
repositories { |
|
maven { url "https://plugins.gradle.org/m2/" } |
|
} |
|
|
|
jar.manifest { |
|
attributes('Implementation-Title': name, |
|
'Implementation-Version': version, |
|
'Built-By': System.getProperty('user.name'), |
|
'Built-JDK': System.getProperty('java.version'), |
|
'Source-Compatibility': sourceCompatibility, |
|
'Target-Compatibility': targetCompatibility) |
|
} |
|
|
|
def protobufVersion = '3.5.1' |
|
def protocVersion = '3.5.1' |
|
def grpcVersion = "1.14.0" // CURRENT_GRPC_VERSION |
|
|
|
buildscript { |
|
repositories { |
|
maven { url "https://plugins.gradle.org/m2/" } |
|
} |
|
dependencies { |
|
classpath "com.google.protobuf:protobuf-gradle-plugin:0.8.6" |
|
} |
|
} |
|
|
|
sourceSets { |
|
main { |
|
proto { |
|
srcDir 'src' |
|
} |
|
} |
|
} |
|
|
|
dependencies { |
|
compile "com.google.protobuf:protobuf-java:${protobufVersion}", |
|
"io.grpc:grpc-protobuf:${grpcVersion}", |
|
"io.grpc:grpc-stub:${grpcVersion}" |
|
|
|
compileOnly "javax.annotation:javax.annotation-api:1.2" |
|
} |
|
|
|
protobuf { |
|
protoc { |
|
// The artifact spec for the Protobuf Compiler |
|
artifact = "com.google.protobuf:protoc:${protocVersion}" |
|
} |
|
plugins { |
|
grpc { |
|
artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}" |
|
} |
|
} |
|
generateProtoTasks { |
|
all()*.plugins { |
|
grpc {} |
|
} |
|
ofSourceSet('main') |
|
} |
|
|
|
generatedFilesBaseDir = "$projectDir/gen_gradle/src" |
|
} |
|
|
|
// Disable all java warnings for proto generated files build |
|
compileJava { |
|
options.compilerArgs += ["-Xlint:none"] |
|
options.encoding = "UTF-8" |
|
} |
|
|
|
clean { |
|
delete protobuf.generatedFilesBaseDir |
|
} |
|
|
|
// IntelliJ complains that the generated classes are not found, ask IntelliJ to include the |
|
// generated Java directories as source folders. |
|
idea { |
|
module { |
|
sourceDirs += file("${protobuf.generatedFilesBaseDir}/main/java"); |
|
sourceDirs += file("${protobuf.generatedFilesBaseDir}/main/grpc"); |
|
// If you have additional sourceSets and/or codegen plugins, add all of them |
|
} |
|
} |
|
|
|
signing { |
|
required false |
|
sign configurations.archives |
|
} |
|
|
|
javadoc.source = "$projectDir/gen_gradle/src" |
|
|
|
javadoc.options { |
|
encoding = 'UTF-8' |
|
links 'https://docs.oracle.com/javase/8/docs/api/' |
|
} |
|
|
|
task javadocJar(type: Jar) { |
|
classifier = 'javadoc' |
|
from javadoc |
|
} |
|
|
|
task sourcesJar(type: Jar) { |
|
classifier = 'sources' |
|
from sourceSets.main.allSource |
|
} |
|
|
|
artifacts { |
|
archives javadocJar, sourcesJar |
|
} |
|
|
|
uploadArchives { |
|
repositories { |
|
mavenDeployer { |
|
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } |
|
|
|
def configureAuth = { |
|
if (rootProject.hasProperty('ossrhUsername') && rootProject.hasProperty('ossrhPassword')) { |
|
authentication(userName:rootProject.ossrhUsername, password: rootProject.ossrhPassword) |
|
} |
|
} |
|
|
|
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/", configureAuth) |
|
|
|
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/", configureAuth) |
|
|
|
pom.project { |
|
name "OpenCensus" |
|
packaging 'jar' |
|
description project.description |
|
url 'https://github.com/census-instrumentation/opencensus-proto' |
|
|
|
scm { |
|
connection 'scm:svn:https://github.com/census-instrumentation/opencensus-proto' |
|
developerConnection 'scm:git:git@github.com/census-instrumentation/opencensus-proto' |
|
url 'https://github.com/census-instrumentation/opencensus-proto' |
|
} |
|
|
|
licenses { |
|
license { |
|
name 'The Apache License, Version 2.0' |
|
url 'http://www.apache.org/licenses/LICENSE-2.0.txt' |
|
} |
|
} |
|
|
|
developers { |
|
developer { |
|
id 'io.opencensus' |
|
name 'OpenCensus Contributors' |
|
email 'census-developers@googlegroups.com' |
|
url 'opencensus.io' |
|
// https://issues.gradle.org/browse/GRADLE-2719 |
|
organization = 'OpenCensus Authors' |
|
organizationUrl 'https://www.opencensus.io' |
|
} |
|
} |
|
} |
|
} |
|
} |
|
}
|
|
|