From 29648d6ad49db22e5951da1859c168b116f7c43c Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Thu, 8 Feb 2024 19:15:47 -0800 Subject: [PATCH] Simplify. We don't need to do everything --- vars/addVersionFromNexusRepo.groovy | 49 +++++++---------------------- 1 file changed, 12 insertions(+), 37 deletions(-) diff --git a/vars/addVersionFromNexusRepo.groovy b/vars/addVersionFromNexusRepo.groovy index f49075b..cdf9dc5 100644 --- a/vars/addVersionFromNexusRepo.groovy +++ b/vars/addVersionFromNexusRepo.groovy @@ -11,30 +11,23 @@ Jenkins Plugin dependencies: */ -// Define the enum -enum BuildNumFlags { - - IS_COMMITS_SINCE_TAG, - IS_JOB_BUILD_NUMBER, - IS_FROM_QUERY - -} - -Map call(Map config = [:]) { - def defaults = [ +Map call(Map config = [:], Map queryParams = [:]) { + Map defaults = [ nexusBase: 'https://repo.thejimnicholson.com', searchAPI: 'service/rest/v1/search', - buildFlag: BuildNumFlags.IS_FROM_QUERY, - queryParams: [ - repository: 'tools', - sort: 'name', - name: 'tests/test-something*' - ] ] + + Map queryParamsDefaults: [ + repository: 'tools', + sort: 'name', + name: 'tests/test-something*' + ] + Map runConfig = defaults + config + Map query = queryParamsDefaults + queryParams nexusURL = runConfig.nexusBase + '/' + runConfig.searchAPI - nexusSearch = buildUrlWithQueryParams(nexusURL, runConfig.queryParams) + nexusSearch = buildUrlWithQueryParams(nexusURL, query) response = httpRequest acceptType: 'APPLICATION_JSON', contentType: 'APPLICATION_JSON', @@ -43,31 +36,13 @@ Map call(Map config = [:]) { body = response.content assets = readJSON text: body latest = assets.items.last() - version = latest.version buildNumFromQuery = '1' - if (version == null) { + if ((latest.version ?: null) == null) { matches = (latest.name =~ /.*-([0-9\.]+)-([0-9]+)\.)[0]/)[0] version = matches[1] buildNumFromQuery = matches[2] } - switch (runConfig.buildFlag) { - case BuildNumFlags.IS_COMMITS_SINCE_TAG: - build = sh( - script: 'git rev-list $(git tag | tail -1).. --count', - returnStdout: true - ).trim() - break - case BuildNumFlags.IS_JOB_BUILD_NUMBER: - build = env.BUILD_NUMBER - break - case BuildNumFlags.IS_FROM_QUERY: - build = buildNumFromQuery - break - default: - build = buildNumFromQuery - break - } runConfig.nexusQuery = nexusSearch runConfig.latestVersion = version runConfig.latestBuild = build