build.gradle 3.9 KB
Newer Older
Gradl, Tobias's avatar
Gradl, Tobias committed
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
allprojects {
    apply plugin: "maven-publish"
    apply plugin: "eclipse"

    group = 'eu.dariah.de'
    version = '2.0.0-DEV'

    repositories {
        mavenLocal()
        maven {
            url = 'https://minfba.de.dariah.eu/nexus/repository/minfba-central/'
        }
    }

    ext {
        jupiterVersion = "5.7.0"
        slf4jVersion = "1.7.30"
        logbackVersion = "1.2.3"

        librarySets = [
            commonTest: [
            	"org.junit.jupiter:junit-jupiter-engine:$jupiterVersion",
				"org.junit.jupiter:junit-jupiter-api:$jupiterVersion",
				"org.junit.jupiter:junit-jupiter-params:$jupiterVersion",
				"org.slf4j:slf4j-api:$slf4jVersion",
                "org.slf4j:jcl-over-slf4j:$slf4jVersion",
                "org.slf4j:log4j-over-slf4j:$slf4jVersion",
    			"ch.qos.logback:logback-core:$logbackVersion",
    			"ch.qos.logback:logback-classic:$logbackVersion",
            ]
        ]
    }

    publishing {
        publications {
            maven(MavenPublication) {
                pom {
                    name = 'DARIAHSP'
                    url = 'https://gitlab.rz.uni-bamberg.de/dariah/dariahsp'
                    licenses {
                        license {
                            name = 'The Apache License, Version 2.0'
                            url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                        }
                    }
                    developers {
                        developer {
                            id = 'tgradl'
                            name = 'Tobias Gradl'
                            email = 'tobias.gradl@uni-bamberg.de'
                        }
                    }
                    scm {
                        connection = 'scm:git:git://gitlab.rz.uni-bamberg.de/dariah/dariahsp.git'
                        developerConnection = 'scm:git:ssh://gitlab.rz.uni-bamberg.de/dariah/dariahsp.git'
                        url = 'https://gitlab.rz.uni-bamberg.de/dariah/dariahsp/'
                    }
                    issueManagement {
                        system = 'GitLab'
                        url = 'https://gitlab.rz.uni-bamberg.de/dariah/dariahsp/issues'
                    }
                }
            }
        }
        repositories {
            maven {
                def releasesRepoUrl = "https://minfba.de.dariah.eu/nexus/repository/minfba-releases/"
                def snapshotsRepoUrl = "https://minfba.de.dariah.eu/nexus/repository/minfba-snapshots/"
                
                if (version.endsWith('SNAPSHOT') || version.endsWith('RELEASE')) {
                    credentials {
                        username project.hasProperty('nexususer') ? project.getProperty('nexususer') : ''
                        password project.hasProperty('nexuspass') ? project.getProperty('nexuspass') : ''
                    }
                    url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
                } else {
                    // Have a local test repo under buildDir to be able to test publish but only actually do publish when the version ending matches
                    url = "$buildDir/repo/"
                }
            }
        }
    }
}

subprojects {
    apply plugin: "java"

    java {
        sourceCompatibility = JavaVersion.VERSION_1_8
    }

    tasks.withType(JavaCompile) {
        options.encoding = 'UTF-8'
    }

    task sourcesJar(type: Jar, dependsOn: classes) {
        classifier = 'sources'
        from sourceSets.main.allSource
    }

    task javadocJar(type: Jar, dependsOn: javadoc) {
        classifier = 'javadoc'
        from javadoc.destinationDir
    }

    artifacts {
        archives sourcesJar
        archives javadocJar
    }

    publishing {
        publications {
            maven(MavenPublication) {
                from(components.java)
                artifact(sourcesJar) {}
                artifact(javadocJar) {}
            }
        }
    }
}