-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle
45 lines (32 loc) · 1.09 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
import java.util.zip.*
plugins {
id 'maven-publish'
}
File build = file("build")
if (build.exists())
build.delete()
build.mkdirs()
File filtersDir = file("filters")
filtersDir.listFiles().each { directory ->
// extract version
String version = (new File(directory, "version.txt")).text.trim()
def baos = new ByteArrayOutputStream()
def zaos = new ZipOutputStream(baos)
zaos.putNextEntry(new ZipEntry("${directory.getName()}/"))
// just add everything in the zip
directory.listFiles().each { f ->
zaos.putNextEntry(new ZipEntry("${directory.getName()}/${f.getName()}"))
zaos.write(f.bytes)
}
zaos.close()
File artifactFile = new File(file("build"), "${directory.getName()}-${version}.zip")
artifactFile.setBytes(baos.toByteArray())
def pub = publishing.publications.create(directory.getName(), MavenPublication)
pub.setGroupId("com.muwire.filters")
pub.setArtifactId(directory.getName())
pub.setVersion(version)
// create artifact
pub.artifact(artifactFile, {
extension = "zip"
})
}