summaryrefslogtreecommitdiff
path: root/platform/ios/scripts/lint-podspecs.js
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ios/scripts/lint-podspecs.js')
-rwxr-xr-xplatform/ios/scripts/lint-podspecs.js79
1 files changed, 0 insertions, 79 deletions
diff --git a/platform/ios/scripts/lint-podspecs.js b/platform/ios/scripts/lint-podspecs.js
deleted file mode 100755
index 1381acacff..0000000000
--- a/platform/ios/scripts/lint-podspecs.js
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/usr/bin/env node
-
-const fs = require('fs');
-const execSync = require('child_process').execSync;
-const _ = require('lodash');
-const semver = require('semver');
-
-console.step = _.partial(console.log, '\n\033[1m\033[36m*', _, '\033[0m');
-process.exitCode = 0;
-
-const podspecsPath = 'platform/ios';
-
-/*
- Step 1. Run the official CocoaPods linter against all of our podspecs.
-*/
-console.step(`Running CocoaPods linter against podspecs in '${podspecsPath}'`)
-execSync(`pod spec lint ${podspecsPath}/*.podspec --quick`, {stdio: 'inherit'});
-
-/*
- Step 2. Check that our podspecs contain properly formatted version strings.
-*/
-console.step('Checking Mapbox SDK version strings in podspecs')
-const podspecs = fs.readdirSync(podspecsPath).filter(fn => fn.endsWith('.podspec'));
-
-let matchedVersions = [];
-
-for (const podspecFilename of podspecs) {
- console.log(podspecFilename);
- const podspecContents = fs.readFileSync(`${podspecsPath}/${podspecFilename}`, 'utf8');
-
- /*
- This regular expression:
- - Matches single lines in the format: version = '9.9.9'
- - Groups the version number inside the single quotes.
- - Ignores whitespace at the start of the line and between parts of the definition using: \s*?
- */
- const regex = /^\s*?version\s*?=\s*?'(.*)'$/gmi;
-
- const match = regex.exec(podspecContents);
- if (!match) {
- console.error(' ❌ No version string found');
- process.exitCode = 1;
- continue;
- }
-
- const matchedVersion = match[1];
- matchedVersions.push(matchedVersion);
-
- if (!semver.valid(matchedVersion)) {
- console.error(` ❌ ${matchedVersion} is not a valid semantic version`);
- process.exitCode = 1;
- continue;
- }
-
- console.log(` ✅ ${matchedVersion} is a valid semantic version`);
-}
-
-/*
- Step 3. Check that versions are consistent across our podspecs.
-*/
-console.step('Checking version consistency')
-const uniqueVersions = _.uniq(matchedVersions);
-if (uniqueVersions.length != 1) {
- console.error('❌ Versions in podspecs do not match:', uniqueVersions);
- process.exitCode = 1;
-} else {
- console.log(`✅ ${uniqueVersions[0]} is set in all podspecs`);
-}
-
-/*
- Step 4. Finish up and summarize the results.
-*/
-process.on('exit', (code) => {
- if (code == 0) {
- console.log('\nPodspec linting completed successfully! 🕵️‍♀️');
- } else {
- console.log('\nPodspec linting failed. 💥');
- }
-});