Skip to content

Commit b9de617

Browse files
committed
Initial Kotlin support / Sorted dependencies / Project url
1 parent 5353556 commit b9de617

File tree

5 files changed

+100
-53
lines changed

5 files changed

+100
-53
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ node_modules
22
yarn-error.log
33
.gradle
44
build.gradle
5+
build.gradle.kts
56
gradlew
67
gradlew.bat
78
build

ReplaceVersion.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ module.exports = {
3030
}
3131

3232
// id 'com.github.ben-manes.versions' version "0.21.0"
33-
const regexPluginVersionWithPrefix = new RegExp(`${dependency.group}("|')(\\s+)?version(\\s+)?("|')${oldVersion}("|')`)
33+
// id("com.github.ben-manes.versions") version "0.22.0"
34+
const regexPluginVersionWithPrefix = new RegExp(`${dependency.group}("|')\\)?(\\s+)?version(\\s+)?("|')${oldVersion}("|')`)
3435
const regexVersionWithPrefixMatches = regexPluginVersionWithPrefix.exec(modifiedBody)
3536
if (regexVersionWithPrefixMatches && regexVersionWithPrefixMatches.length) {
3637
regexVersionWithPrefixMatches.filter(it => it.includes(oldVersion)).forEach(match => {

__tests__/ReplaceVersion.test.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,14 @@ test('Replace version with version prefix in dependency', () => {
7070
const replacedVersion = ReplaceVersion.replace(`compile group: 'de.kevcodez.pubg', name: 'pubg-api-wrapper', version: '0.8.1'`, dependency)
7171

7272
expect(replacedVersion).toBe(`compile group: 'de.kevcodez.pubg', name: 'pubg-api-wrapper', version: '1.0.0'`)
73-
})
73+
})
74+
test('Replace kotlin plugin version', () => {
75+
const pluginDependency = {
76+
group: 'com.github.ben-manes.versions',
77+
name: 'com.github.ben-manes.versions.gradle.plugin',
78+
oldVersion: '0.22.0',
79+
version: '0.24.0'
80+
}
81+
const replacedVersion = ReplaceVersion.replace(`id("com.github.ben-manes.versions") version "0.22.0"`, pluginDependency)
82+
expect(replacedVersion).toBe(`id("com.github.ben-manes.versions") version "0.24.0"`)
83+
})

index.js

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,6 @@ try {
4141
} catch (err) {
4242
}
4343

44-
if (!fs.existsSync('build.gradle')) {
45-
console.log('build.gradle file was not found.'.red)
46-
return
47-
}
48-
4944
if (!gradleCommand) {
5045
const gradleVersion = spawnSync('gradle', ['--version'])
5146
if (gradleVersion.status === 0) {
@@ -58,6 +53,19 @@ if (!gradleCommand) {
5853
return
5954
}
6055

56+
let buildFile
57+
58+
if (fs.existsSync('build.gradle')) {
59+
buildFile = 'build.gradle'
60+
} else if (fs.existsSync('build.gradle.kts')) {
61+
buildFile = 'build.gradle.kts'
62+
}
63+
64+
if (!buildFile) {
65+
console.log('Unable to find a build.gradle or build.gradle.kts file.'.bgRed)
66+
return
67+
}
68+
6169
console.log('Checking for upgrades...\n')
6270

6371
const debug = argv.debug
@@ -119,9 +127,21 @@ function debugLog (message) {
119127

120128
let choices = outdatedDependencies.map(it => {
121129
const newVersion = it.available.release || it.available.milestone || it.available.integration
122-
return { description: `Group ${it.group}`, title: `${it.name} - ${it.version} => ${newVersion}`, value: { group: it.group, name: it.name, oldVersion: it.version, version: newVersion } }
130+
return {
131+
description: it.projectUrl,
132+
title: `${it.name} - ${it.version} => ${newVersion}`,
133+
value: {
134+
group: it.group,
135+
name: it.name,
136+
oldVersion: it.version,
137+
version: newVersion,
138+
projectUrl: it.projectUrl
139+
}
140+
}
123141
})
124142

143+
choices.sort((a, b) => a.title.localeCompare(b.title))
144+
125145
debugLog(`Choices\n${JSON.stringify(choices)}\n\n`)
126146

127147
let currentGradleRelease = dependencyUpdates.gradle.running.version
@@ -168,7 +188,7 @@ function debugLog (message) {
168188

169189
debugLog('Reading Gradle build file\n')
170190

171-
fs.readFile('build.gradle', function (err, buf) {
191+
fs.readFile(buildFile, function (err, buf) {
172192
let buildFileAsString = buf.toString()
173193

174194
response.upgrades.filter(it => it !== 'gradle').forEach(it => {
@@ -177,7 +197,7 @@ function debugLog (message) {
177197
})
178198

179199
debugLog('Writing Gradle build file\n')
180-
fs.writeFile('build.gradle', buildFileAsString, 'utf8', function (err) {
200+
fs.writeFile(buildFile, buildFileAsString, 'utf8', function (err) {
181201
if (err) return console.log(`Unable to write gradle build file.\n${err}`.bgRed);
182202
});
183203

package-lock.json

Lines changed: 58 additions & 43 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)