aboutsummaryrefslogtreecommitdiff
path: root/gradle/sonatype.gradle
blob: adae7e67a76e70fb17366f1d9848480929a1a6df (plain)
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
ext {

    sonatypeBaseUrl = "https://oss.sonatype.org"
    sonatypeSnapshotUrl = "$sonatypeBaseUrl/content/repositories/snapshots/"
    sonatypeRepositoryUrl = "$sonatypeBaseUrl/content/groups/public"
    sonatypeReleaseUrl = "$sonatypeBaseUrl/service/local/staging/deploy/maven2/"
    sonatypeUploadUrl = isSnapshot ? sonatypeSnapshotUrl : sonatypeReleaseUrl

    projectUrl = "https://github.com/Frege/frege-gradle-plugin"
    projectName = "Frege Gradle Plugin"
    pomProjectName = projectName
    baseJarName = "gradle-frege-plugin"

    groupName = "org.frege-lang"
    scmUrl = "git://github.com/Frege/frege-gradle-plugin.git"
    scmGitFile = "scm:git@github.com:Frege/frege-gradle-plugin.git"
    projectDescription = "Frege Gradle plugin"

    licenseName = "BSD 3-clause license"
    licenseUrl = 'http://opensource.org/licenses/BSD-3-Clause'

    organisation = groupName

    primaryEmail = "frege-programming-language@googlegroups.com"
}

Boolean doSigning() {

    signingEnabled.trim() == "true"
}

task javadocJar(type: Jar, dependsOn: "javadoc") {
    classifier = 'javadoc'
    from "build/docs/javadoc"
}

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

artifacts {
    archives jar
    archives javadocJar

    archives sourcesJar
}

signing {
    required { doSigning() }
    sign configurations.archives
}

uploadArchives {
    enabled = true
    repositories {
        mavenDeployer {
            if (doSigning()) {
                beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
            }


            repository(url: sonatypeUploadUrl) {
                authentication(userName: sonatypeUsername, password: sonatypePassword)
            }
            pom {
                groupId = groupName
                project {
                    name pomProjectName
                    packaging 'jar'
                    description projectDescription
                    url projectUrl
                    organization {
                        name pomProjectName
                        url projectUrl
                    }
                    scm {
                        url scmUrl
                    }
                    licenses {
                        license {
                            name licenseName
                            url licenseUrl
                            distribution 'repo'
                        }
                    }
                    developers {
                        developer {
                            email primaryEmail
                        }
                    }
                }
            }
        }
    }
}