forked from testvagrant/ekam-atoms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
126 lines (106 loc) · 3.11 KB
/
build.gradle
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
122
123
124
125
126
plugins {
id 'java'
id 'maven-publish'
id 'signing'
id "com.google.cloud.artifactregistry.gradle-plugin" version "2.1.5"
}
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
//google
implementation('com.google.inject:guice:5.0.1')
//selenium
implementation('org.seleniumhq.selenium:selenium-java:3.141.59')
implementation('io.appium:java-client:7.5.1')
//lombok
implementation('org.projectlombok:lombok:1.18.20')
annotationProcessor('org.projectlombok:lombok:1.18.20')
testImplementation('org.projectlombok:lombok:1.18.20')
testAnnotationProcessor('org.projectlombok:lombok:1.18.20')
// generic wait
implementation('org.awaitility:awaitility:4.1.0')
}
task sourceJar(type: Jar) {
classifier "sources"
from sourceSets.main.allJava
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier "javadoc"
from javadoc.destinationDir
}
artifacts {
archives jar
archives sourceJar
archives javadocJar
}
publishing {
publications {
mavenJava(MavenPublication) {
customizePom(pom)
groupId 'dunzoit'
artifactId 'ekam-atoms'
version '1.0.2'
from components.java
artifact(sourceJar) {
classifier = 'sources'
}
artifact(javadocJar) {
classifier = 'javadoc'
}
}
}
repositories {
maven {
url "artifactregistry://asia-south1-maven.pkg.dev/dev-application-294611/maven-qe"
// credentials {
// username System.getenv("sonatypeUsername")
// password System.getenv("sonatypePassword")
// username sonatypeUsername
// password sonatypePassword
// }
}
}
}
def customizePom(pom) {
pom.withXml {
def root = asNode()
// eliminate test-scoped dependencies (no need in maven central POMs)
root.dependencies.removeAll { dep ->
dep.scope == "test"
}
// add all items necessary for maven central publication
root.children().last() + {
resolveStrategy = Closure.DELEGATE_FIRST
description 'Ekam atoms for all common driver actions'
name 'Atoms'
url 'https://github.com/dunzoit/ekam-atoms'
licenses {
license {
name 'MIT License'
url 'https://github.com/dunzoit/ekam-atoms/-/blob/master/LICENSE'
distribution 'repo'
}
}
scm {
url 'https://github.com/dunzoit/ekam-atoms'
connection 'https://github.com/dunzoit/ekam-atoms.git'
developerConnection 'git@github.com:dunzoit/ekam-atoms.git'
}
developers {
developer {
name 'Central QA'
}
}
}
}
}
model {
tasks.generatePomFileForMavenJavaPublication {
destination = file("$buildDir/generated-pom.xml")
}
}
task runTests(type: Test) {
useTestNG()
}