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
|
configurations {
scripts
}
project.ext.packageName = 'org.tmatesoft.svn.cli'
project.ext.scripts = ['jsvn' : "${packageName}.SVN",
'jsvnadmin' : "${packageName}.SVNAdmin",
'jsvndumpfilter' : "${packageName}.SVNDumpFilter",
'jsvnlook' : "${packageName}.SVNLook",
'jsvnsync' : "${packageName}.SVNSync",
'jsvnversion' : "${packageName}.SVNVersion"]
jar << {
File scriptsDir = new File(buildDir, 'scripts')
scriptsDir.mkdirs()
def classpath = []
configurations.compile.files.each {
classpath += fullJarName(it)
}
classpath += jar.archiveName
scripts.keySet().each { scriptName ->
def mainclassName = scripts[scriptName]
copy {
from file("src/main/scripts/jsvn")
into scriptsDir
filter {
it = expandClasspath(it, classpath)
it = it.replace('@mainclass@', mainclassName)
}
eachFile {
it.name = scriptName
}
}
copy {
from file("src/main/scripts/jsvn.bat")
into scriptsDir
filter {
it = expandClasspath(it, classpath)
it = it.replace('@mainclass@', mainclassName)
}
eachFile {
it.name = scriptName + '.bat'
}
}
}
copy {
from file("src/main/scripts/jsvnsetup.openvms")
into scriptsDir
filter {
it = expandClasspath(it, classpath)
}
}
copy {
from file("src/main/conf/logging.properties")
into scriptsDir
}
configurations.scripts.artifacts.add(new
org.gradle.api.internal.artifacts.publish.DefaultPublishArtifact("svn-cli-scripts", "dir", "dir", null, new Date(), scriptsDir))
}
|