blob: 578a479dad80c0d9af722090236740bfaf0caba8 [file] [log] [blame]
Alexander Afanasyev44cac2a2016-01-28 11:18:16 -08001buildscript {
2 repositories {
3 jcenter()
4 mavenCentral()
5 }
6}
7
8apply plugin: 'java'
9apply plugin: 'maven'
10apply plugin: 'signing'
11
12group = 'net.named-data.jndn-extra'
Alexander Afanasyeve7775992018-07-24 18:58:59 -040013version = '1.2.0'
Alexander Afanasyev44cac2a2016-01-28 11:18:16 -080014
Alexander Afanasyev726944c2018-07-24 18:07:16 -040015sourceCompatibility = JavaVersion.VERSION_1_8
16targetCompatibility = JavaVersion.VERSION_1_8
Alexander Afanasyev44cac2a2016-01-28 11:18:16 -080017compileJava.options.encoding = 'UTF-8'
18
19repositories {
20 jcenter()
21 mavenLocal()
22 mavenCentral()
23 maven {
Alexander Afanasyeve7775992018-07-24 18:58:59 -040024 url "https://oss.sonatype.org/content/repositories/releases/"
Alexander Afanasyev44cac2a2016-01-28 11:18:16 -080025 }
26}
27
28sourceSets {
29 integrationTest {
30 java {
Alexander Afanasyeve7775992018-07-24 18:58:59 -040031 srcDir 'src/integration-test/java'
Alexander Afanasyev44cac2a2016-01-28 11:18:16 -080032 compileClasspath += main.output + test.output
33 runtimeClasspath += main.output + test.output
Alexander Afanasyev44cac2a2016-01-28 11:18:16 -080034 }
35 }
36}
37
38configurations {
Alexander Afanasyeve7775992018-07-24 18:58:59 -040039 integrationTestCompile.extendsFrom testCompile
40 integrationTestRuntime.extendsFrom testRuntime
Alexander Afanasyev44cac2a2016-01-28 11:18:16 -080041}
42
43dependencies {
Alexander Afanasyev4b2c19e2018-07-24 17:58:39 -040044 compile 'com.google.guava:guava:25.1-jre'
45 compile 'net.named-data:jndn:0.17'
Alexander Afanasyeve7775992018-07-24 18:58:59 -040046 compile 'org.mockito:mockito-core:2.20.0'
Alexander Afanasyev44cac2a2016-01-28 11:18:16 -080047
48 testCompile 'junit:junit:4.12'
Alexander Afanasyev4b2c19e2018-07-24 17:58:39 -040049 testCompile 'net.named-data.jndn-extra:jndn-mock:1.1.1'
Alexander Afanasyev44cac2a2016-01-28 11:18:16 -080050}
51
52task javadocJar(type: Jar) {
53 classifier = 'javadoc'
54 from javadoc
55}
56
57task sourcesJar(type: Jar) {
58 classifier = 'sources'
59 from sourceSets.main.allSource
60}
61
62task integrationTest(type: Test) {
63 description 'Compile and run integration tests'
Alexander Afanasyeve7775992018-07-24 18:58:59 -040064 group = 'verification'
65
66 testClassesDirs = sourceSets.integrationTest.output.classesDirs
Alexander Afanasyev44cac2a2016-01-28 11:18:16 -080067 classpath = sourceSets.integrationTest.runtimeClasspath
Alexander Afanasyeve7775992018-07-24 18:58:59 -040068
69 mustRunAfter test
Alexander Afanasyev44cac2a2016-01-28 11:18:16 -080070}
71
72tasks.withType(Test) {
73 reports.html.destination = file("${reporting.baseDir}/${name}")
74 testLogging {
75 events "passed", "skipped", "failed"
76 showStandardStreams = true
77 }
78 outputs.upToDateWhen { false }
79}
80
81if (JavaVersion.current().isJava8Compatible()) {
82 allprojects {
83 tasks.withType(Javadoc) {
84 options.addStringOption('Xdoclint:none', '-quiet')
85 }
86 }
87}
88
89artifacts {
90 archives javadocJar, sourcesJar
91}
92
93signing {
94 required { gradle.taskGraph.hasTask("uploadArchives") }
95 sign configurations.archives
96}
97
98uploadArchives {
99 repositories {
100 mavenDeployer {
101 beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
102
103 repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
104 try {
105 authentication(userName: ossrhUsername, password: ossrhPassword)
106 }
107 catch (Exception e) {
108 }
109 }
110
111 snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
112 try {
113 authentication(userName: ossrhUsername, password: ossrhPassword)
114 }
115 catch (Exception e) {
116 }
117 }
118
119 pom.project {
120 name 'jndn-xx utilities'
121 packaging 'jar'
122 description 'Collection of tools to simplify synchronous and asynchronous data transfer over the NDN network'
123 url 'https://github.com/cawka/jndn-utils'
124
125 scm {
126 connection 'scm:git:https://github.com/cawka/jndn-utils'
127 developerConnection 'scm:git:https://github.com/cawka/jndn-utils'
128 url 'https://github.com/cawka/jndn-utils'
129 }
130
131 licenses {
132 license {
133 name 'GNU Lesser General Public License, Version 3.0+'
134 url 'http://www.gnu.org/licenses/lgpl.html'
135 }
136 }
137
138 developers {
139 developer {
140 id 'andrewbrown'
141 name 'Andrew Brown'
142 url 'https://github.com/andrewsbrown'
143 }
144 developer {
145 id 'cawka'
146 name 'Alexander Afanasyev'
147 email 'aa@cs.ucla.edu'
148 }
149 }
150 }
151 }
152 }
153}