-
-
Notifications
You must be signed in to change notification settings - Fork 921
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build: add script to auto bump android version
- Loading branch information
1 parent
c9f1ac3
commit 869fd12
Showing
3 changed files
with
86 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
### Bug Fixes | ||
|
||
- **sync:** rev check code #3661 #3660 | ||
### Features | ||
|
||
- **android:** improve error handling in request interceptor 3657 | ||
- **android:** prepare auto builds | ||
- changes the separators when the user is typing |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
const fs = require('fs'); | ||
const path = require('path'); | ||
|
||
// Read the version from package.json | ||
const packageJson = require('../package.json'); | ||
const version = packageJson.version; | ||
|
||
// Define the path to build.gradle | ||
const gradleFilePath = path.join(__dirname, '..', 'android', 'app', 'build.gradle'); | ||
|
||
// Read the build.gradle file | ||
let gradleFileContent = fs.readFileSync(gradleFilePath, 'utf8'); | ||
|
||
// Update the versionCode and versionName | ||
const versionCodeDroid = version | ||
.split('.') | ||
.map((num) => num.padStart(2, '0')) | ||
.join(''); | ||
|
||
gradleFileContent = gradleFileContent.replace( | ||
/versionCode \d+/g, | ||
`versionCode ${versionCodeDroid}`, | ||
); | ||
gradleFileContent = gradleFileContent.replace( | ||
/versionName "[^"]+"/g, | ||
`versionName "${version}"`, | ||
); | ||
|
||
// Write the updated content back to build.gradle | ||
fs.writeFileSync(gradleFilePath, gradleFileContent, 'utf8'); | ||
|
||
console.log(`Updated build.gradle to version ${version}`); | ||
|
||
// CREATE fastlane changelog file | ||
// Define the paths | ||
const changelogPath = path.join(__dirname, '..', 'CHANGELOG.md'); | ||
const outputDir = path.join( | ||
__dirname, | ||
'..', | ||
'fastlane', | ||
'metadata', | ||
'android', | ||
'en-US', | ||
'changelogs', | ||
); | ||
const outputFilePath = path.join(outputDir, `${versionCodeDroid}.txt`); | ||
|
||
// Read the changelog.md file | ||
const changelogContent = fs.readFileSync(changelogPath, 'utf8'); | ||
|
||
// Extract the latest changes | ||
const lines = changelogContent.split('\n').slice(2); // Remove the first two lines; | ||
let latestChanges = ''; | ||
let headerCount = 0; | ||
|
||
for (const line of lines) { | ||
if (line.startsWith('# [') || line.startsWith('## [')) { | ||
headerCount++; | ||
if (headerCount === 1) break; | ||
} | ||
latestChanges += line + '\n'; | ||
} | ||
// Remove all links from the extracted text | ||
latestChanges = latestChanges | ||
.replace(/\[([^\]]+)\]\([^\)]+\)/g, '$1') | ||
.replace(/\s*\([a-f0-9]{7}\)\s*$/gm, ''); | ||
|
||
// Ensure the output directory exists | ||
if (!fs.existsSync(outputDir)) { | ||
fs.mkdirSync(outputDir, { recursive: true }); | ||
} | ||
|
||
// Write the latest changes to the versioned changelog file | ||
fs.writeFileSync(outputFilePath, latestChanges, 'utf8'); | ||
|
||
console.log(`Wrote latest changes to ${outputFilePath}`); | ||
// console.log(latestChanges); |