def log = new File("/temp/deploy-flex.log")
log.createNewFile()
def ROOT = "/temp/flex-repo"
def TEST = "/temp/flex-repo/org/apache/flex/framework/framework"
new File(TEST).eachDirRecurse {dir ->
dir.eachFileMatch(~/.*\.pom/, { pomFile ->
def pkg = (pomFile.text=~/<packaging>(.*)<\/packaging>/)[0][1]
if (pkg.equals('pom')) {
log << "cmd /c mvn deploy:deploy-file -Durl=http://ci2.reksoft.ru/content/repositories/thirdparty/ -Dfile=$pomFile.absolutePath -DpomFile=$pomFile.absolutePath -DrepositoryId=deployment".execute().text
println "upload $pomFile.name finished"
} else {
def files = []
def classifiers = []
def types = []
def main
dir.eachFileMatch({!it.endsWith("pom") && !it.endsWith("md5")},{ file ->
if (file.name =~ /$dir.parentFile.name-$dir.name.$pkg/) {
main = file.absolutePath
} else {
def parse = (file.name=~/$dir.parentFile.name-${dir.name.replace('.', '\\.')}-?(.*?)\.(.*)/)
if (parse.size() > 0){
classifiers << parse[0][1]
files << file
types << parse[0][2]
} else {
println file
}
}
})
def cmd = ["cmd", "/c", "mvn", "deploy:deploy-file", "-Durl=http://ci2.reksoft.ru/content/repositories/thirdparty/", "-DrepositoryId=deployment", "-B",
"-Dfile=$main",
"-DpomFile=$pomFile.absolutePath",
"-Dfiles=${files.join(',')}",
"-Dclassifiers=${classifiers.join(',')}",
"-Dtypes=${types.join(',')}",
]
// println types
// println classifiers
log << cmd << cmd.execute().text
println "$cmd\\nfinished"
}
})
}