group = 'de.regnis.q.sequence' version = '1.0.4' task wrapper(type: Wrapper) { gradleVersion = '2.14' } ext { release = false target = '1.5' versionMajor = '1' versionMinor = '0' versionMicro = '4' versionQualifier = !release ? 'SNAPSHOT' : '' if (!release) { rootProject.version = rootProject.version + '-SNAPSHOT' } buildNumber = project.hasProperty('revision') ? ('r' + project.revision) : null if (buildNumber == null) { if (release) { throw new GradleException('release or interim targets requires build number to be specified via revision project property (-Prevision=REV)') } def buildTime = new java.text.SimpleDateFormat("yyyyMMddHHmmss", java.util.Locale.US).format(new Date()) buildNumber = 't' + buildTime } println "Version: ${rootProject.version}" println "Build Number: ${rootProject.buildNumber}" buildVersion = rootProject.version } allprojects { repositories { mavenCentral() maven { url 'https://maven.tmatesoft.com/content/repositories/releases' } maven { url 'https://maven.tmatesoft.com/content/repositories/snapshots' } } apply plugin : 'base' apply plugin : 'maven' apply plugin : 'signing' apply plugin : 'java' version = rootProject.version ext { release = rootProject.release target = rootProject.target buildVersion = [ baseVersion : '1.0.4', buildNumber : buildNumber, major: '1', minor: '0', micro: '4' ] 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}") } } } } } } 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' } jar { metaInf { from rootProject.file('LICENSE.txt') } } javadoc { failOnError = false } task javadocJar(type: Jar, dependsOn: javadoc) { description="Builds Javadoc Jar" from "$docsDir/javadoc" classifier = 'javadoc' } artifacts { archives sourcesJar, javadocJar, jar sources sourcesJar javadocs javadocJar jar_archive jar } dependencies { testCompile 'junit:junit:3.8.2' } build.dependsOn javadoc, sourcesJar uploadArchives { enabled = true repositories.mavenDeployer { pom.artifactId = 'sequence-library' pom.groupId = 'de.regnis.q.sequence' pom.project { name "Sequence Library" description "Textual Diff and Merge Library" url "https://svn.tmatesoft.com/repos/3rdparty/de.regnigs.q.sequence" scm { url "https://svn.tmatesoft.com/repos/3rdparty/de.regnigs.q.sequence" connection "scm:svn:https://svn.tmatesoft.com/repos/3rdparty/de.regnis.q.sequence" developerConnection "scm:svn:https://svn.tmatesoft.com/repos/3rdparty/de.regnis.q.sequence" } organization { name "TMate Software" url "https://tmatesoft.com/" } developers { developer { id "alexander.kitaev" email "support@tmatesoft.com" name "Alexander Kitaev" roles { role "developer" } } } licenses { license { name "Sequence Library License (BSD-like)" url "https://svn.tmatesoft.com/repos/3rdparty/de.regnis.q.sequnce/trunk/LICENSE.txt" distribution "repos" comments "Sequence Library License (BSD-like)" } } } } }