Ability to identify mobile platform automatically

It would be helpful to be able to identify the platform or framework for a project based on the contents of the repository.

I did some digging and found one open-source project does a pretty good job of identifying what type of mobile platform is being used based for the given codebase. There are other tools out there as well, but this seems to be the only one focused on mobile platforms.

https://github.com/bitrise-io/bitrise-init

This is written in Go, so I built the package from the source by running go build.

I then ran the following on a known Android project:

../bitrise-init/bitrise-init --ci config

[15:11:45] CI mode
[15:11:45] scan dir: /Users/darbyfrey/projects/code/Weatherapp
[15:11:45] output dir: /Users/darbyfrey/projects/code/Weatherapp/_scan_result
[15:11:45] output format: yaml

[15:11:45] Running scanners:

[15:11:45] Scanner: react-native
[15:11:45] +------------------------------------------------------------------------------+
[15:11:45] |                                                                              |
[15:11:45] Collect package.json files
[15:11:45] 0 package.json file detected
[15:11:45] Filter relevant package.json files
[15:11:45] |                                                                              |
[15:11:45] +------------------------------------------------------------------------------+

[15:11:45] Scanner: flutter
[15:11:45] +------------------------------------------------------------------------------+
[15:11:45] |                                                                              |
[15:11:45] Search for project(s)
[15:11:45] Paths containing pubspec.yaml(0):
[15:11:45]
[15:11:45] Fetching pubspec.yaml files
[15:11:45] |                                                                              |
[15:11:45] +------------------------------------------------------------------------------+

[15:11:45] Scanner: ionic
[15:11:45] +------------------------------------------------------------------------------+
[15:11:45] |                                                                              |
No ionic.project file nor ionic.config.json found.
[15:11:46] |                                                                              |
[15:11:46] +------------------------------------------------------------------------------+

[15:11:46] Scanner: cordova
[15:11:46] +------------------------------------------------------------------------------+
[15:11:46] |                                                                              |
[15:11:46] Searching for config.xml file
[15:11:46] config.xml:
[15:11:46] platform not detected
[15:11:46] |                                                                              |
[15:11:46] +------------------------------------------------------------------------------+

[15:11:46] Scanner: ios
[15:11:46] +------------------------------------------------------------------------------+
[15:11:46] |                                                                              |
[15:11:46] Filter relevant Xcode project files
[15:11:46] 0 Xcode ios project files found
[15:11:46] platform not detected
[15:11:46] |                                                                              |
[15:11:46] +------------------------------------------------------------------------------+

[15:11:46] Scanner: macos
[15:11:46] +------------------------------------------------------------------------------+
[15:11:46] |                                                                              |
[15:11:46] Filter relevant Xcode project files
[15:11:46] 0 Xcode macos project files found
[15:11:46] platform not detected
[15:11:46] |                                                                              |
[15:11:46] +------------------------------------------------------------------------------+

[15:11:46] Scanner: android
[15:11:46] +------------------------------------------------------------------------------+
[15:11:46] |                                                                              |
Looking for app icons. Manifest path: /Users/darbyfrey/projects/code/Weatherapp/app/src/main/AndroidManifest.xml
[15:11:46] |                                                                              |
[15:11:46] +------------------------------------------------------------------------------+

[15:11:46] Scanner: xamarin
[15:11:46] +------------------------------------------------------------------------------+
[15:11:46] |                                                                              |
[15:11:46] Searching for solution files
[15:11:46] 0 solution files detected
[15:11:46] platform not detected
[15:11:46] |                                                                              |
[15:11:46] +------------------------------------------------------------------------------+

Detected project types: [android]

[15:11:46] Scanner: fastlane
[15:11:46] +------------------------------------------------------------------------------+
[15:11:46] |                                                                              |
[15:11:47] Searching for Fastfiles
[15:11:47] 0 Fastfiles detected
[15:11:47] platform not detected
[15:11:47] |                                                                              |
[15:11:47] +------------------------------------------------------------------------------+

Detected automation tools: []

[15:11:47] Saving outputs:
[15:11:47] scan result: /Users/darbyfrey/projects/code/Weatherapp/_scan_result/result.yml