Skip to content

Commit d89e3c4

Browse files
authored
Merge pull request #76 from miguelduque/feature/project-version-to-versionFile-versionDisplay
Add project version to versionFile and versionDisplay task
2 parents 7a50c9e + c3566a7 commit d89e3c4

File tree

7 files changed

+106
-0
lines changed

7 files changed

+106
-0
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ Property | Description | Git: `master` | Git: `feature/great` | Git: `release/2.
9393
`build` | Short commit/revision indicator, suitable for a build number | `09ef629` | `09ef629` | `09ef629`
9494
`full` | Branch ID and build | `master-09ef629` | `feature-great-09ef629` | `release-2.0-09ef629`
9595
`base` | Base version for the display version | `` | `great` | `2.0`
96+
`gradle` | Project's version | | |
9697
`display` | Display version | `master` | `great` | `2.0.0`, `2.0.1`, ...
9798
`tag` (1) | Current tag | (2) | (2) | (2)
9899
`lastTag` (1) | Last tag | (4) | (4) | (4)
@@ -156,6 +157,7 @@ Displays the version information in the standard output. For example:
156157
[version] full = release-0.3-da50c50
157158
[version] base = 0.3
158159
[version] build = da50c50
160+
[version] gradle = 0.3.0
159161
[version] display = 0.3.0
160162
[version] tag =
161163
[version] lastTag = 0.2.0
@@ -180,6 +182,7 @@ VERSION_BASE=0.3
180182
VERSION_BRANCHID=release-0.3
181183
VERSION_BRANCHTYPE=release
182184
VERSION_COMMIT=da50c50567073d3d3a7756829926a9590f2644c6
185+
VERSION_GRADLE=0.3.0
183186
VERSION_DISPLAY=0.3.0
184187
VERSION_FULL=release-0.3-da50c50
185188
VERSION_SCM=git

src/main/groovy/net/nemerosa/versioning/tasks/VersionDisplayTask.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class VersionDisplayTask extends DefaultTask {
3030
println "[version] full = ${info.full}"
3131
println "[version] base = ${info.base}"
3232
println "[version] build = ${info.build}"
33+
println "[version] gradle = ${project.version == 'unspecified' ? '' : project.version}"
3334
println "[version] display = ${info.display}"
3435
println "[version] tag = ${info.tag ?: ''}"
3536
println "[version] lastTag = ${info.lastTag ?: ''}"

src/main/groovy/net/nemerosa/versioning/tasks/VersionFileTask.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ ${prefix}BASE=${info.base}
4141
${prefix}BRANCHID=${info.branchId}
4242
${prefix}BRANCHTYPE=${info.branchType}
4343
${prefix}COMMIT=${info.commit}
44+
${prefix}GRADLE=${project.version == 'unspecified' ? '' : project.version}
4445
${prefix}DISPLAY=${info.display}
4546
${prefix}FULL=${info.full}
4647
${prefix}SCM=${info.scm}

src/test/groovy/net/nemerosa/versioning/git/GitVersionReleaseBuildFalseTest.groovy

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ VERSION_BASE=\n\
274274
VERSION_BRANCHID=master
275275
VERSION_BRANCHTYPE=master
276276
VERSION_COMMIT=${head}
277+
VERSION_GRADLE=
277278
VERSION_DISPLAY=master-${headAbbreviated}
278279
VERSION_FULL=master-${headAbbreviated}
279280
VERSION_SCM=git
@@ -323,6 +324,7 @@ CUSTOM_BASE=\n\
323324
CUSTOM_BRANCHID=master
324325
CUSTOM_BRANCHTYPE=master
325326
CUSTOM_COMMIT=${head}
327+
CUSTOM_GRADLE=
326328
CUSTOM_DISPLAY=master-${headAbbreviated}
327329
CUSTOM_FULL=master-${headAbbreviated}
328330
CUSTOM_SCM=git
@@ -372,6 +374,7 @@ VERSION_BASE=\n\
372374
VERSION_BRANCHID=master
373375
VERSION_BRANCHTYPE=master
374376
VERSION_COMMIT=${head}
377+
VERSION_GRADLE=
375378
VERSION_DISPLAY=master-${headAbbreviated}
376379
VERSION_FULL=master-${headAbbreviated}
377380
VERSION_SCM=git

src/test/groovy/net/nemerosa/versioning/git/GitVersionReleaseBuildTrueTest.groovy

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ VERSION_BASE=\n\
274274
VERSION_BRANCHID=master
275275
VERSION_BRANCHTYPE=master
276276
VERSION_COMMIT=${head}
277+
VERSION_GRADLE=
277278
VERSION_DISPLAY=master-${headAbbreviated}
278279
VERSION_FULL=master-${headAbbreviated}
279280
VERSION_SCM=git
@@ -323,6 +324,7 @@ CUSTOM_BASE=\n\
323324
CUSTOM_BRANCHID=master
324325
CUSTOM_BRANCHTYPE=master
325326
CUSTOM_COMMIT=${head}
327+
CUSTOM_GRADLE=
326328
CUSTOM_DISPLAY=master-${headAbbreviated}
327329
CUSTOM_FULL=master-${headAbbreviated}
328330
CUSTOM_SCM=git
@@ -372,6 +374,7 @@ VERSION_BASE=\n\
372374
VERSION_BRANCHID=master
373375
VERSION_BRANCHTYPE=master
374376
VERSION_COMMIT=${head}
377+
VERSION_GRADLE=
375378
VERSION_DISPLAY=master-${headAbbreviated}
376379
VERSION_FULL=master-${headAbbreviated}
377380
VERSION_SCM=git

src/test/groovy/net/nemerosa/versioning/git/GitVersionTest.groovy

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,52 @@ VERSION_BASE=\n\
256256
VERSION_BRANCHID=master
257257
VERSION_BRANCHTYPE=master
258258
VERSION_COMMIT=${head}
259+
VERSION_GRADLE=
260+
VERSION_DISPLAY=master-${headAbbreviated}
261+
VERSION_FULL=master-${headAbbreviated}
262+
VERSION_SCM=git
263+
VERSION_TAG=
264+
VERSION_LAST_TAG=
265+
VERSION_DIRTY=false
266+
VERSION_VERSIONCODE=0
267+
VERSION_MAJOR=0
268+
VERSION_MINOR=0
269+
VERSION_PATCH=0
270+
VERSION_QUALIFIER=
271+
""" as String
272+
} finally {
273+
repo.close()
274+
}
275+
}
276+
277+
@Test
278+
void 'Git version file - project version'() {
279+
GitRepo repo = new GitRepo()
280+
try {
281+
// Git initialisation
282+
repo.with {
283+
(1..4).each { commit it }
284+
}
285+
def head = repo.commitLookup('Commit 4')
286+
def headAbbreviated = repo.commitLookup('Commit 4', true)
287+
288+
def project = ProjectBuilder.builder().withProjectDir(repo.dir).build()
289+
project.version = '0.0.1'
290+
new VersioningPlugin().apply(project)
291+
def task = project.tasks.getByName('versionFile') as DefaultTask
292+
task.execute()
293+
294+
// Checks the file
295+
def file = new File(project.buildDir, 'version.properties')
296+
assert file.exists(): "File ${file} must exist."
297+
assert file.text == """\
298+
VERSION_BUILD=${headAbbreviated}
299+
VERSION_BRANCH=master
300+
VERSION_BASE=\n\
301+
VERSION_BRANCHID=master
302+
VERSION_BRANCHTYPE=master
303+
VERSION_COMMIT=${head}
304+
VERSION_GRADLE=0.0.1
259305
VERSION_DISPLAY=master-${headAbbreviated}
260306
VERSION_FULL=master-${headAbbreviated}
261307
VERSION_SCM=git
@@ -302,6 +348,7 @@ CUSTOM_BASE=\n\
302348
CUSTOM_BRANCHID=master
303349
CUSTOM_BRANCHTYPE=master
304350
CUSTOM_COMMIT=${head}
351+
CUSTOM_GRADLE=
305352
CUSTOM_DISPLAY=master-${headAbbreviated}
306353
CUSTOM_FULL=master-${headAbbreviated}
307354
CUSTOM_SCM=git
@@ -348,6 +395,7 @@ VERSION_BASE=\n\
348395
VERSION_BRANCHID=master
349396
VERSION_BRANCHTYPE=master
350397
VERSION_COMMIT=${head}
398+
VERSION_GRADLE=
351399
VERSION_DISPLAY=master-${headAbbreviated}
352400
VERSION_FULL=master-${headAbbreviated}
353401
VERSION_SCM=git

src/test/groovy/net/nemerosa/versioning/svn/SVNVersionTest.groovy

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,51 @@ VERSION_BASE=\n\
129129
VERSION_BRANCHID=trunk
130130
VERSION_BRANCHTYPE=trunk
131131
VERSION_COMMIT=4
132+
VERSION_GRADLE=
133+
VERSION_DISPLAY=trunk-4
134+
VERSION_FULL=trunk-4
135+
VERSION_SCM=svn
136+
VERSION_TAG=
137+
VERSION_LAST_TAG=
138+
VERSION_DIRTY=false
139+
VERSION_VERSIONCODE=0
140+
VERSION_MAJOR=0
141+
VERSION_MINOR=0
142+
VERSION_PATCH=0
143+
VERSION_QUALIFIER=
144+
"""
145+
}
146+
147+
@Test
148+
void 'SVN version file - project version'() {
149+
// SVN
150+
repo.mkdir 'project/trunk', 'Trunk'
151+
repo.mkdir 'project/trunk/1', 'Commit for TEST-1'
152+
repo.mkdir 'project/trunk/2', 'Commit for TEST-2'
153+
def dir = repo.checkout('project/trunk')
154+
ignore dir, '.gradle'
155+
// Project
156+
def project = ProjectBuilder.builder().withProjectDir(dir).build()
157+
project.version = '0.0.1'
158+
new VersioningPlugin().apply(project)
159+
project.versioning {
160+
scm = 'svn'
161+
}
162+
// version file task
163+
def task = project.tasks.getByName('versionFile') as DefaultTask
164+
task.execute()
165+
166+
// Checks the file
167+
def file = new File(project.buildDir, 'version.properties')
168+
assert file.exists(): "File ${file} must exist."
169+
assert file.text == """\
170+
VERSION_BUILD=4
171+
VERSION_BRANCH=trunk
172+
VERSION_BASE=\n\
173+
VERSION_BRANCHID=trunk
174+
VERSION_BRANCHTYPE=trunk
175+
VERSION_COMMIT=4
176+
VERSION_GRADLE=0.0.1
132177
VERSION_DISPLAY=trunk-4
133178
VERSION_FULL=trunk-4
134179
VERSION_SCM=svn
@@ -174,6 +219,7 @@ CUSTOM_BASE=\n\
174219
CUSTOM_BRANCHID=trunk
175220
CUSTOM_BRANCHTYPE=trunk
176221
CUSTOM_COMMIT=4
222+
CUSTOM_GRADLE=
177223
CUSTOM_DISPLAY=trunk-4
178224
CUSTOM_FULL=trunk-4
179225
CUSTOM_SCM=svn
@@ -219,6 +265,7 @@ VERSION_BASE=\n\
219265
VERSION_BRANCHID=trunk
220266
VERSION_BRANCHTYPE=trunk
221267
VERSION_COMMIT=4
268+
VERSION_GRADLE=
222269
VERSION_DISPLAY=trunk-4
223270
VERSION_FULL=trunk-4
224271
VERSION_SCM=svn

0 commit comments

Comments
 (0)