mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-20 10:01:00 +00:00
77 lines
2.1 KiB
JavaScript
77 lines
2.1 KiB
JavaScript
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);
|