Skip to content
Snippets Groups Projects
Commit 245a46c4 authored by User expired's avatar User expired
Browse files

Increased version number

parent 4d4744f5
No related branches found
No related tags found
No related merge requests found
// Plugin declaration // Plugin declaration
plugins { plugins {
id 'com.bmuschko.vagrant' version '2.0' id 'com.bmuschko.vagrant' version '2.0'
id 'com.kageiit.url-cache' version '1.0.0' id 'com.kageiit.url-cache' version '1.0.0'
id 'org.ajoberstar.grgit-release' version '0.10.0' id 'org.ajoberstar.grgit-release' version '0.10.0'
} }
apply plugin: 'eclipse' apply plugin: 'eclipse'
import org.ajoberstar.grgit.* import org.ajoberstar.grgit.*
import org.apache.tools.ant.filters.FixCrLfFilter import org.apache.tools.ant.filters.FixCrLfFilter
import org.apache.tools.ant.filters.ReplaceTokens import org.apache.tools.ant.filters.ReplaceTokens
// Basic settings // Basic settings
group = 'at.uibk.dbis' group = 'at.uibk.dbis'
version = '0.4.0-SNAPSHOT' version = '0.4.1-SNAPSHOT'
description = 'PhD project of Nikolaus Krismer (infrastructure as vagrantbox)' description = 'PhD project of Nikolaus Krismer (infrastructure as vagrantbox)'
ext { ext {
vagrantDir = getProjectDir() vagrantDir = getProjectDir()
} }
// Groovy method declaration // Groovy method declaration
def getDate() { def getDate() {
def date = new Date() def date = new Date()
def formattedDate = date.format('yyyyMMdd') def formattedDate = date.format('yyyyMMdd')
return formattedDate return formattedDate
} }
// Detailled settings (dependencies, tasks, task configuration, ...) // Detailled settings (dependencies, tasks, task configuration, ...)
eclipse { eclipse {
project { project {
natures = [ natures = [
'org.springsource.ide.eclipse.gradle.core.nature' 'org.springsource.ide.eclipse.gradle.core.nature'
] ]
file { file {
withXml { xmlProvider -> withXml { xmlProvider ->
Node project = xmlProvider.asNode() Node project = xmlProvider.asNode()
Node filteredResources = project.appendNode('filteredResources'); Node filteredResources = project.appendNode('filteredResources');
Node filterGit = filteredResources.appendNode('filter') Node filterGit = filteredResources.appendNode('filter')
filterGit.appendNode('id', 1421146667415) filterGit.appendNode('id', 1421146667415)
filterGit.appendNode('name', '') filterGit.appendNode('name', '')
filterGit.appendNode('type', 30) filterGit.appendNode('type', 30)
Node matcherGit = filterGradle.appendNode('matcher') Node matcherGit = filterGradle.appendNode('matcher')
matcherGit.appendNode('id', 'org.eclipse.ui.ide.multiFilter') matcherGit.appendNode('id', 'org.eclipse.ui.ide.multiFilter')
matcherGit.appendNode('arguments', '1.0-name-matches-false-false-.git') matcherGit.appendNode('arguments', '1.0-name-matches-false-false-.git')
Node filterGradle = filteredResources.appendNode('filter') Node filterGradle = filteredResources.appendNode('filter')
filterGradle.appendNode('id', 1392635165065) filterGradle.appendNode('id', 1392635165065)
filterGradle.appendNode('name', '') filterGradle.appendNode('name', '')
filterGradle.appendNode('type', 30) filterGradle.appendNode('type', 30)
Node matcherGradle = filterGradle.appendNode('matcher') Node matcherGradle = filterGradle.appendNode('matcher')
matcherGradle.appendNode('id', 'org.eclipse.ui.ide.multiFilter') matcherGradle.appendNode('id', 'org.eclipse.ui.ide.multiFilter')
matcherGradle.appendNode('arguments', '1.0-name-matches-false-false-.gradle') matcherGradle.appendNode('arguments', '1.0-name-matches-false-false-.gradle')
Node filterVagrant = filteredResources.appendNode('filter') Node filterVagrant = filteredResources.appendNode('filter')
filterVagrant.appendNode('id', 1392635165131) filterVagrant.appendNode('id', 1392635165131)
filterVagrant.appendNode('name', '') filterVagrant.appendNode('name', '')
filterVagrant.appendNode('type', 30) filterVagrant.appendNode('type', 30)
Node matcherVagrant = filterVagrant.appendNode('matcher') Node matcherVagrant = filterVagrant.appendNode('matcher')
matcherVagrant.appendNode('id', 'org.eclipse.ui.ide.multiFilter') matcherVagrant.appendNode('id', 'org.eclipse.ui.ide.multiFilter')
matcherVagrant.appendNode('arguments', '1.0-name-matches-false-false-.vagrant') matcherVagrant.appendNode('arguments', '1.0-name-matches-false-false-.vagrant')
} }
} }
} }
} }
vagrant { vagrant {
provider = 'virtualbox' provider = 'virtualbox'
} }
vagrantDestroy.doFirst { vagrantDestroy.doFirst {
if (!vagrantDir.isDirectory()) { if (!vagrantDir.isDirectory()) {
throw new StopExecutionException() throw new StopExecutionException()
} }
} }
// Custom tasks // Custom tasks
task changelog << { task changelog << {
def grgit = Grgit.open(project.file('.')) def grgit = Grgit.open(project.file('.'))
def fileChangelog = new File('CHANGELOG.md') def fileChangelog = new File('CHANGELOG.md')
def tags = ["HEAD"] def tags = ["HEAD"]
grgit.tag.list().reverse().each{ t -> grgit.tag.list().reverse().each{ t ->
tags += t.getName() tags += t.getName()
} }
fileChangelog.delete() fileChangelog.delete()
def builder def builder
def commits; def commits;
def numTags = tags.size() def numTags = tags.size()
for (int i = 0; i < numTags; i++) { for (int i = 0; i < numTags; i++) {
builder = new StringBuilder() builder = new StringBuilder()
builder.append("- Version ${tags[i]}:\n".replaceAll('Version HEAD', 'Upcoming version')) builder.append("- Version ${tags[i]}:\n".replaceAll('Version HEAD', 'Upcoming version'))
if (tags[i+1] == null) { if (tags[i+1] == null) {
commits = grgit.log(includes: [tags[i]]) commits = grgit.log(includes: [tags[i]])
} else { } else {
commits = grgit.log { range tags[i+1], tags[i]; } commits = grgit.log { range tags[i+1], tags[i]; }
} }
commits.inject(builder) { bldr, commit -> commits.inject(builder) { bldr, commit ->
bldr.append(' - ') bldr.append(' - ')
bldr.append(commit.shortMessage) bldr.append(commit.shortMessage)
bldr.append('\n') bldr.append('\n')
} }
fileChangelog << builder.toString() fileChangelog << builder.toString()
} }
} }
task vagrantExport(type: Zip) { task vagrantExport(type: Zip) {
description = 'Builds an archive file that contains the files, needed to create the vagrant box' description = 'Builds an archive file that contains the files, needed to create the vagrant box'
from 'etc/vagrant' from 'etc/vagrant'
appendix = '' appendix = ''
baseName = 'vagrantbox' baseName = 'vagrantbox'
classifier = '' classifier = ''
version = getDate() version = getDate()
filter(FixCrLfFilter) filter(FixCrLfFilter)
filter(ReplaceTokens, tokens: [db_username: 'myUser', db_password: 'myPassword']) filter(ReplaceTokens, tokens: [db_username: 'myUser', db_password: 'myPassword'])
} }
task vagrantPrepare << { task vagrantPrepare << {
description = 'Prepares the vagrant environment (creates directory, copies Vagrantfile, ...)' description = 'Prepares the vagrant environment (creates directory, copies Vagrantfile, ...)'
if (!vagrantDir.isDirectory()) { if (!vagrantDir.isDirectory()) {
println "Creating directory $vagrantDir and copying content" println "Creating directory $vagrantDir and copying content"
vagrantDir.mkdirs() vagrantDir.mkdirs()
sync { sync {
from files('etc/vagrant') from files('etc/vagrant')
into vagrantDir into vagrantDir
filter(FixCrLfFilter) filter(FixCrLfFilter)
filter(ReplaceTokens, tokens: [db_username: 'niko', db_password: 'secretPhdPassword#2014!']) filter(ReplaceTokens, tokens: [db_username: 'niko', db_password: 'secretPhdPassword#2014!'])
} }
} }
} }
// task dependencies // task dependencies
tasks.vagrantUp.dependsOn vagrantPrepare tasks.vagrantUp.dependsOn vagrantPrepare
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment