1 Star 0 Fork 0

tudorex/svnkit

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
build.gradle 12.80 KB
一键复制 编辑 原始数据 按行查看 历史
group = 'org.tmatesoft.svnkit'
version = '1.10.2'
task wrapper(type: Wrapper) {
gradleVersion = '2.14'
}
def javaProjects() {
return subprojects - project(':svnkit-distribution')
}
ext {
release = project.hasProperty('release')
target = '1.6'
compatibleSvnVersion = '1.10.0'
if (!release) {
rootProject.version = rootProject.version + '-SNAPSHOT'
}
buildNumber = project.hasProperty('revision') ? ('r' + project.revision) : null
if (buildNumber == null) {
def buildTime = new java.text.SimpleDateFormat("yyyyMMddHHmmss", java.util.Locale.US).format(new Date())
buildNumber = (release ? 'snapshot' : 't') + buildTime
if (release) {
rootProject.version = rootProject.version + '-' + buildNumber
}
}
println "Version: ${rootProject.version}"
println "Build Number: ${rootProject.buildNumber}"
}
allprojects {
repositories {
mavenCentral()
maven {
url 'https://maven.tmatesoft.com/content/repositories/releases'
}
maven {
url 'https://maven.tmatesoft.com/content/repositories/snapshots'
}
}
}
subprojects {
apply plugin : 'base'
apply plugin : 'maven'
apply plugin : 'signing'
version = rootProject.version
ext {
release = rootProject.release
target = rootProject.target
compatibleSvnVersion = rootProject.compatibleSvnVersion
buildVersion = [
baseVersion : '1.10.1',
buildNumber : buildNumber,
major: '1',
minor: '10',
micro: '1'
]
buildNumber = rootProject.buildNumber
}
signing {
required { project.hasProperty('signing.keyId') }
sign configurations.archives
}
uploadArchives {
dependsOn signArchives
enabled = false
repositories.mavenDeployer {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
if (project.hasProperty('mavenReleasesRepository')) {
repository( url : "${mavenReleasesRepository}") {
if (project.hasProperty('mavenUser')) {
authentication(userName: "${mavenUser}", password: "${mavenPassword}")
}
}
}
if (project.hasProperty('mavenSnapshotsRepository')) {
snapshotRepository( url : "${mavenSnapshotsRepository}") {
if (project.hasProperty('mavenUser')) {
authentication(userName: "${mavenUser}", password: "${mavenPassword}")
}
}
}
}
}
}
configure(javaProjects()) {
apply plugin : 'java'
sourceCompatibility = target
targetCompatibility = target
configurations {
sources
javadocs
jar_archive
}
task sourcesJar(type: Jar) {
description = 'Builds Java Sources Jar'
from sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadocJar(type: Jar, dependsOn: javadoc) {
description="Builds Javadoc Jar"
from "$docsDir/javadoc"
classifier = 'javadoc'
}
jar {
metaInf {
from rootProject.file('LICENSE.txt')
}
}
artifacts { sources sourcesJar }
}
project(':svnkit') {
dependencies {
compile 'de.regnis.q.sequence:sequence-library:1.0.4'
compile 'org.tmatesoft.sqljet:sqljet:1.1.13'
compile 'net.java.dev.jna:jna:4.1.0'
compile 'net.java.dev.jna:jna-platform:4.1.0'
compile 'com.trilead:trilead-ssh2:1.0.0-build222'
compile('com.jcraft:jsch.agentproxy.connector-factory:0.0.7') {
exclude group: 'net.java.dev.jna'
}
compile 'com.jcraft:jsch.agentproxy.svnkit-trilead-ssh2:0.0.7'
compile 'org.lz4:lz4-java:1.4.1'
testCompile 'junit:junit:4.8'
}
artifacts {
archives jar, sourcesJar, javadocJar
jar_archive jar
}
uploadArchives {
enabled = true
repositories.mavenDeployer {
pom.artifactId = 'svnkit'
pom.groupId = 'org.tmatesoft.svnkit'
pom.project {
name "SVNKit Java(tm) Subversion Library"
description "Java(tm) library to manage Subversion working copies and repositories"
url "https://svnkit.com/"
scm {
url "https://svn.tmatesoft.com/repos/svnkit"
connection "scm:svn:https://svn.tmatesoft.com/repos/svnkit"
developerConnection "scm:svn:https://svn.tmatesoft.com/repos/svnkit"
}
organization {
name "TMate Software"
url "https://svnkit.com/"
}
developers {
developer {
id "alexander.kitaev"
email "support@svnkit.com"
name "Alexander Kitaev"
roles {
role "developer"
}
}
}
licenses {
license {
name "TMate Open Source License"
url "https://svnkit.com/license.html"
distribution "repos"
comments "GPL-like license with a dual-licensing option for closed source usage"
}
}
}
}
}
}
project(':svnkit-javahl16') {
dependencies {
compile project(path: ':svnkit')
compile 'org.apache.subversion:svn-javahl-api:1.9.3-SNAPSHOT'
testCompile 'org.apache.subversion:svn-javahl-tests:1.9.3-SNAPSHOT'
}
artifacts {
archives jar, sourcesJar, javadocJar
jar_archive jar
}
uploadArchives {
enabled = true
repositories.mavenDeployer {
pom.artifactId = 'svnkit-javahl16'
pom.groupId = 'org.tmatesoft.svnkit'
pom.project {
name "SVNKit Java(tm) Subversion JavaHL API implementation"
description "SVNKit Java(tm) Subversion JavaHL API implementation"
url "https://svnkit.com/"
scm {
url "https://svn.tmatesoft.com/repos/svnkit"
connection "scm:svn:https://svn.tmatesoft.com/repos/svnkit"
developerConnection "scm:svn:https://svn.tmatesoft.com/repos/svnkit"
}
organization {
name "TMate Software"
url "https://svnkit.com/"
}
developers {
developer {
id "alexander.kitaev"
email "support@svnkit.com"
name "Alexander Kitaev"
roles {
role "developer"
}
}
}
licenses {
license {
name "TMate Open Source License"
url "https://svnkit.com/license.html"
distribution "repos"
comments "GPL-like license with a dual-licensing option for closed source usage"
}
}
}
}
}
}
project(':svnkit-cli') {
dependencies {
compile project(path: ':svnkit')
}
artifacts {
archives jar, sourcesJar, javadocJar
}
uploadArchives {
enabled = true
repositories.mavenDeployer {
pom.artifactId = 'svnkit-cli'
pom.groupId = 'org.tmatesoft.svnkit'
pom.project {
name "SVNKit based Subversion command line client"
description "SVNKit based Subversion command line client"
url "https://svnkit.com/"
scm {
url "https://svn.tmatesoft.com/repos/svnkit"
connection "scm:svn:https://svn.tmatesoft.com/repos/svnkit"
developerConnection "scm:svn:https://svn.tmatesoft.com/repos/svnkit"
}
organization {
name "TMate Software"
url "https://svnkit.com/"
}
developers {
developer {
id "alexander.kitaev"
email "support@svnkit.com"
name "Alexander Kitaev"
roles {
role "developer"
}
}
}
licenses {
license {
name "TMate Open Source License"
url "https://svnkit.com/license.html"
distribution "repos"
comments "GPL-like license with a dual-licensing option for closed source usage"
}
}
}
}
}
}
project(':svnkit-dav') {
apply plugin: 'war'
dependencies {
compile project(path: ':svnkit')
compile 'javax.servlet:servlet-api:2.5'
}
artifacts { archives war }
uploadArchives {
enabled = true
repositories.mavenDeployer {
pom.artifactId = 'svnkit-dav'
pom.groupId = 'org.tmatesoft.svnkit'
pom.project {
name "SVNKit based Subversion HTTP server (servlet)"
description "SVNKit based Subversion HTTP server (servlet)"
url "https://svnkit.com/"
scm {
url "https://svn.tmatesoft.com/repos/svnkit"
connection "scm:svn:https://svn.tmatesoft.com/repos/svnkit"
developerConnection "scm:svn:https://svn.tmatesoft.com/repos/svnkit"
}
organization {
name "TMate Software"
url "https://svnkit.com/"
}
developers {
developer {
id "alexander.kitaev"
email "support@svnkit.com"
name "Alexander Kitaev"
roles {
role "developer"
}
}
}
licenses {
license {
name "TMate Open Source License"
url "https://svnkit.com/license.html"
distribution "repos"
comments "GPL-like license with a dual-licensing option for closed source usage"
}
}
}
}
}
}
project(':svnkit-test') {
dependencies {
compile project(path: ':svnkit-cli')
}
sourcesJar.enabled=false
}
project(':svnkit-osgi') {
sourcesJar.enabled=false
artifacts { archives jar }
uploadArchives {
enabled = true
repositories.mavenDeployer {
pom.artifactId = 'svnkit-osgi'
pom.groupId = 'org.tmatesoft.svnkit'
pom.whenConfigured { p ->
p.dependencies.clear()
}
}
}
}
project(':svnkit-distribution') {
configurations {
binaries
sources
osgi
}
dependencies {
binaries project(path: ':svnkit')
binaries project(path: ':svnkit-cli')
binaries project(path: ':svnkit-javahl16', configuration: 'archives')
sources project(path: ':svnkit', configuration: 'sources')
sources project(path: ':svnkit-cli', configuration: 'sources')
sources project(path: ':svnkit-javahl16', configuration: 'sources')
osgi project(path: ':svnkit-osgi', configuration: 'archives')
osgi 'com.trilead:trilead-ssh2-osgi:1.0.0-build222'
osgi 'org.tmatesoft.sqljet:sqljet-osgi:1.1.13'
osgi 'net.java.dev.jna:jna-osgi:4.1.0'
}
}
import java.util.jar.*
def read_manifest(file) {
println "reading manifest of ${file}"
def result = [:]
result['File-Name'] = file.getName()
def jar = new JarFile(file)
try {
def manifest = jar.getManifest()
if (manifest != null) {
manifest.getMainAttributes().each { k,v -> result.put(k.toString(), v) }
}
} finally {
jar.close()
}
return result
}
def build_jar_name(file) {
def fileProps = read_manifest(file)
def fileBuildVersion = fileProps.get('Build-Version')
def fileBuildNumber = fileProps.get('Build-Number')
if (fileBuildVersion != null && (fileBuildVersion.endsWith('-SNAPSHOT') || fileBuildVersion.endsWith('-EAP'))) {
if (fileBuildNumber != null) {
return file.name.substring(0, file.name.length() - '.jar'.length()) + '_' + fileBuildNumber + '.jar'
}
}
return file.name
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/tudorex/svnkit.git
git@gitee.com:tudorex/svnkit.git
tudorex
svnkit
svnkit
master

搜索帮助