{"id":22855067,"url":"https://github.com/deinsoftware/hardhat","last_synced_at":"2025-04-30T12:17:00.499Z","repository":{"id":38106491,"uuid":"99840364","full_name":"deinsoftware/hardhat","owner":"deinsoftware","description":"Hard Hat - C# .Net Core Console with Android Building Tools [ Win+Mac ]","archived":false,"fork":false,"pushed_at":"2022-12-14T23:24:48.000Z","size":322147,"stargazers_count":8,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-01T11:29:16.463Z","etag":null,"topics":["adb","android","bash","batch","build-automation","build-tool","c-sharp","csharp","dotnet-core","git","gradle","gulp","hardhat","macos","sonarqube","terminal","windows"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deinsoftware.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["deinsoftware"],"custom":["https://paypal.me/equiman/3"]}},"created_at":"2017-08-09T18:26:10.000Z","updated_at":"2024-05-01T11:29:16.464Z","dependencies_parsed_at":"2023-01-29T01:31:04.626Z","dependency_job_id":null,"html_url":"https://github.com/deinsoftware/hardhat","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deinsoftware%2Fhardhat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deinsoftware%2Fhardhat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deinsoftware%2Fhardhat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deinsoftware%2Fhardhat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deinsoftware","download_url":"https://codeload.github.com/deinsoftware/hardhat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229504576,"owners_count":18083397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adb","android","bash","batch","build-automation","build-tool","c-sharp","csharp","dotnet-core","git","gradle","gulp","hardhat","macos","sonarqube","terminal","windows"],"created_at":"2024-12-13T07:09:43.875Z","updated_at":"2024-12-13T07:09:44.601Z","avatar_url":"https://github.com/deinsoftware.png","language":"C#","funding_links":["https://github.com/sponsors/deinsoftware","https://paypal.me/equiman/3","https://img.shields.io/badge/-GitHub%20Sponsors-gray?style=flat\u0026labelColor=171515\u0026logo=github\u0026logoColor=white\u0026link=https://github.com/sponsors/deinsoftware","https://img.shields.io/badge/-PayPal-gray?style=flat\u0026labelColor=00457C\u0026logo=paypal\u0026logoColor=white\u0026link=https://paypal.me/equiman/3"],"categories":[],"sub_categories":[],"readme":"# HardHat [ for Win \u0026 Mac ]\n\n[![github-actions-build](https://github.com/deinsoftware/hardhat/workflows/build/badge.svg?branch=master)](https://github.com/deinsoftware/hardhat/actions?query=workflow%3Abuild)\n[![github-actions-release](https://github.com/deinsoftware/hardhat/workflows/release/badge.svg)](https://github.com/deinsoftware/hardhat/actions?query=workflow%3Arelease)\n[![sonar-reliability](https://sonarcloud.io/api/project_badges/measure?project=dein%3Ahardhat\u0026metric=reliability_rating)](https://sonarcloud.io/dashboard?id=dein%3Ahardhat)\n[![sonar-security](https://sonarcloud.io/api/project_badges/measure?project=dein%3Ahardhat\u0026metric=security_rating)](https://sonarcloud.io/dashboard?id=dein%3Ahardhat)\n[![sonar-maintainability](https://sonarcloud.io/api/project_badges/measure?project=dein%3Ahardhat\u0026metric=sqale_rating)](https://sonarcloud.io/dashboard?id=dein%3Ahardhat)\n[![license](https://img.shields.io/github/license/deinsoftware/hardhat)](LICENSE.md)\n\n![HardHat](.github/social/preview.png \"HardHat\")\n\n**HardHat** was created to simplify and automate tasks related to Android development with help of [ToolBox](https://github.com/deinsoftware/toolbox) and [Colorify](https://github.com/deinsoftware/colorify) libraries.\n\nPreviously had created the same app making a Batch (for Windows) and a Bash (for macOS) scripts to make the task, maintain both of them is a hard task to do, but now with .Net Core can use and share the same code on both Operating Systems.\n\nI don't like repetitive tasks and make a build is one of them... yuck!\n\n![Why we need automation?](automation.png \"Be a Geek!\")\n\n\u003e The Code is Dark and Full of Errors!\n\u003e Console is your friend ... don't be afraid!\n\n## Menu\n\n* [Getting Started](#getting-started)\n  * [Prerequisites](#prerequisites)\n  * [Installing](#installing)\n* [Environment Variables](#environment-variables)\n  * [Windows](#environment-for-windows)\n  * [macOS](#environment-for-macos)\n* [Usage](#usage)\n  * [Permissions](#permissions)\n  * [Run](#run)\n  * [Keyboard Shortcuts](#keyboard-shortcuts)\n  * [Setup](#setup)\n  * [Recommendations](#recommendations)\n* [About](#about)\n  * [Built With](#built-with)\n  * [Contributing](#contributing)\n  * [Versioning](#versioning)\n  * [Authors](#authors)\n  * [Sponsors](#sponsors)\n  * [License](#license)\n  * [Acknowledgments](#acknowledgments)\n\n---\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\nWhat things do you need to install?\n\n* [Java](http://www.oracle.com/technetwork/java/javase/downloads/index.html)\n* [Android SDK](https://developer.android.com/studio/index.html#downloads)\n* [Gradle](https://gradle.org/install)\n* [Git](https://git-scm.com/downloads)\n* [Gulp](http://gulpjs.com/)\n* [Node.js](https://nodejs.org/en/download/) (with NPM)\n* [SonarQube](https://www.sonarqube.org/)\n* [SonarScanner](https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner)\n* [Sigcheck](https://docs.microsoft.com/en-us/sysinternals/downloads/sigcheck) (only on Windows)\n* [.Net Core](https://www.microsoft.com/net/download/core#/runtime) (optional)\n\nIt's recommended install it using a Package Manager.\n\n| OS | Instructions |\n| --- | --- |\n| win | [Chocolatey](https://github.com/deinsoftware/hardhat/blob/master/Docs/Prerequisites/win.md) |\n| mac | [Brew and SDK Man](https://github.com/deinsoftware/hardhat/blob/master/Docs/Prerequisites/mac.md) |\n\n### Installing\n\nFollow these steps to install on your local machine\n\nClone **HardHat** from GitHub on *recommended* path. Using this command on terminal:\n\n| OS | Command |\n| --- | --- |\n| win | `git clone -b win https://github.com/deinsoftware/hardhat.git \"D:\\Applications\\HardHat\"` |\n| mac | `git clone -b mac https://github.com/deinsoftware/hardhat.git ~/Applications/HardHat/` |\n\n## Environment Variables\n\nEnvironment variables are, in short, variables that describe the environment in which programs run in.\n\nPlease verify that you have been configured all correctly. Paths in descriptions are examples (recommended) but use your own paths.\n\n### Environment for Windows\n\n| var | description |\n| --- | --- |\n| `ANDROID_SDK_ROOT` | C:\\Android\\android-sdk |\n| `ANDROID_HOME` | %ANDROID_SDK_ROOT% |\n| `ANDROID_NDK_HOME` | %ANDROID_SDK_ROOT%\\ndk-bundle |\n| `ANDROID_BT_VERSION` | 28.0.3 |\n| `ANDROID_PROPERTIES` | D:\\Applications\\Android\\Properties |\n| `CHOCO_HOME` | C:\\ProgramData\\chocolatey |\n| `CODE_HOME` | C:\\Program Files\\Microsoft VS Code |\n| `GIT_HOME` | C:\\Program Files\\Git |\n| `GRADLE_HOME` | %CHOCO_HOME% |\n| `LFS_HOME` | C:\\Program Files\\Git LFS |\n| `JAVA_HOME` | C:\\Program Files\\Java\\jdk1.8.0_221 |\n| `MYSQL_HOME` | C:\\tools\\mysql\\mysql-5.7.18-winx64 |\n| `NPM_HOME` | C:\\Program Files\\nodejs |\n| `VPN_HOME` | C:\\Program Files (x86)\\CheckPoint\\Endpoint Connect |\n| `SIGCHECK_HOME` | %CHOCO_HOME% |\n| `SONAR_QUBE_HOME` | D:\\Applications\\Sonar\\Qube |\n| `SONAR_SCANNER_HOME` | %CHOCO_HOME%\\lib\\sonarqube-scanner.portable\\tools\\sonar-scanner-3.3.0.1492-windows |\n| `TASK_PROJECT` | D:\\Applications\\Task |\n| `PATH` | %ANDROID_SDK_ROOT%\\build-tools\\\\%ANDROID_BT_VERSION%;\u003cbr\u003e%ANDROID_SDK_ROOT%\\platform-tools;\u003cbr\u003e%ANDROID_SDK_ROOT%\\platform-tools\\bin;\u003cbr\u003e%ANDROID_SDK_ROOT%\\tools;\u003cbr\u003e%CODE_HOME%\\bin;\u003cbr\u003e%GIT_HOME%\\cmd;\u003cbr\u003e%GRADLE_HOME%\\bin;\u003cbr\u003e%JAVA_HOME%\\bin;\u003cbr\u003e%LFS_HOME%\\bin;\u003cbr\u003e%MYSQL_HOME%\\bin;\u003cbr\u003e%NPM_HOME%;\u003cbr\u003e%SIGCHECK_HOME%\\bin;\u003cbr\u003e%SONAR_QUBE_HOME%\\bin\\windows-x86-64;\u003cbr\u003e%SONAR_SCANNER_HOME%\\bin;\u003cbr\u003eC:\\ProgramData\\Oracle\\Java\\javapath; |\n\nOn Windows need replace `ANDROID_BT_VERSION` manually with your Android SDK Build Tool version (recommended use the last one).\n\n\u003e **Where are environment variables?**\n\u003e In the System Properties window, click on the Advanced tab, then click the Environment Variables button near the bottom of that tab. In the Environment Variables window, highlight the Path variable in the \"System variables\" section and click the Edit button.\n\n### Environment for macOS\n\n```bash\nexport ANDROID_SDK_ROOT=\"/usr/local/share/android-sdk\"\nexport ANDROID_HOME=\"$ANDROID_SDK_ROOT\"\nexport ANDROID_NDK_HOME=\"$ANDROID_SDK_ROOT/ndk-bundle\"\nexport ANDROID_BT_VERSION=\"$(ls -tr $ANDROID_SDK_ROOT/build-tools | sort | tail -1)\"\nexport ANDROID_PROPERTIES=\"~/Applications/Android/Properties\"\nexport GIT_HOME=\"/usr/local/bin/git\"\nexport GRADLE_HOME=\"/usr/local/bin/gradle\"\nexport JAVA_HOME=\"$(/usr/libexec/java_home -v 1.8)\"\nexport POSTGRESQL_HOME=\"/usr/local/opt/postgresql\"\nexport SONAR_QUBE_HOME=\"~/Applications/Sonar/Qube\"\nexport SONAR_SCANNER_HOME=\"~/Applications/Sonar/Scanner\"\nexport TASK_PROJECT=\"~/Applications/Task\"\n\nexport PATH=\"/opt/local/bin:/opt/local/sbin:/usr/local/sbin:$PATH\"\nexport PATH=\"$ANDROID_SDK_ROOT/bin:$PATH\"\nexport PATH=\"$ANDROID_SDK_ROOT/build-tools/$ANDROID_BT_VERSION:$PATH\"\nexport PATH=\"$ANDROID_SDK_ROOT/platform-tools:$PATH\"\nexport PATH=\"$ANDROID_SDK_ROOT/tools:$PATH\"\nexport PATH=\"$ANDROID_NDK_HOME/:$PATH\"\nexport PATH=\"$SONAR_QUBE_HOME/bin/macosx-universal-64:$PATH\"\nexport PATH=\"$SONAR_SCANNER_HOME/bin:$PATH\"\n\nexport PATH=\"$POSTGRESQL_HOME/bin:$PATH\"\nexport LDFLAGS=\"-L$POSTGRESQL_HOME/lib\"\nexport CPPFLAGS=\"-I$POSTGRESQL_HOME/include\"\n\nalias hh=\"sh ~/Applications/HardHat/mac.sh\"\nalias x=\"exit\"\nalias sb=\"source ~/.bash_profile\"\n```\n\nOn macOS `ANDROID_BT_VERSION` automatically take the last Android SDK Build Tool version. But you can modify it and choose the version that you want. Skip `GRADLE_HOME` and `JAVA_HOME` if you [install these libraries with SDKMan](https://medium.com/@equiman/setup-macos-for-development-5eb1f1506ca5).\n\nWith **H**ard**H**at alias, you can open it the application directly from a terminal window using the command `hh` and \u003ckbd\u003eRETURN\u003c/kbd\u003e key.\n\n\u003e **Where are environment variables?**\n\u003e First, one thing to recognize about OS X is that it is built on Unix. This is where the .bash_profile comes in. When you start the Terminal app in OS X you get a bash shell by default. The bash shell comes from Unix and when it loads it runs the .bash_profile script. You can modify this script for your user to change your settings. This file is located at: `~/.bash_profile`\n\nHighly recommend auto-close option in combination with e**x**it alias. It can be a useful combination to finish and close those unused terminals. Even to exit **HardHat** and close automatically his terminal window.\n\n\u003e **Recommended terminal configurations on macOS?**\n\u003e Open a terminal window, go to 'Preference \u003e Profiles.\n\u003e Auto close terminal on exit: Inside 'Shell' tab, select \"Close if the shell exited cleanly\" on \"When the shell exits\" option.\n\u003e Enable Numpad keys: Inside 'Advance' tab, deselect (turn off) \"Allow VT100 application keypad mode\" option.\n\n⇧ [Back to menu](#menu)\n\n---\n\n## Usage\n\nKeep calm, you are almost done. Review these final steps and enjoy life, no more tedious and repetitive tasks stealing your precious time.\n\n### Permissions\n\nmacOS users need add execute permission over some files. Open a terminal on installation path `~/Applications/HardHat/`*recommended* and run this commands:\n\n* `chmod +x mac.sh`\n* `chmod +x mac.command`\n* `chmod +x cmd.sh`\n* `chmod +x HardHat`\n\n### Run\n\nIn order to run **HardHat** open a terminal and run this command:\n\n| OS | Path | Command |\n| --- | --- | --- |\n| win | `\"D:\\Applications\\HardHat\"` | `win.bat` |\n| mac | `~/Applications/HardHat/` | `sh mac.sh` |\n\n### Start Menu Icon\n\nIt's not mandatory but it's highly recommend create and Start Menu icon. This instructions only works with *recommended* path.\n\n#### Star Menu for Windows\n\nUse this commands on terminal (as Admin) to add an icon on your start menu:\n\n```dos\n:: Make Dir\nmd \"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Android\"\n:: Copy Shortcut\ncd /d \"D:\\Applications\\HardHat\\\"\nxcopy \"HardHat.lnk\" \"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Android\"\n```\n\nOpen **star menu** and over the Android section you will can see the link. Remember mark with 'pin to start' option if you are using Win10.\n\n#### Star Menu for macOS\n\nCopy the `icon.png` content on the Clipboard. One way to do this is to open the picture in Preview, choose `Edit \u003e Select All`, then choose `Edit \u003e Copy` or press `Command-C`.\n\nSelect `mac.command` file, then choose `File \u003e Get Info`. At the top of the Info window, click the picture of the icon to select it, then choose `Edit \u003e Paste` or press `Command-V`.\n\nSelect `mac.command` file, then choose `File \u003e Make Alias` or press `Command-L` name it as **Hard Hat** (with blank space between).\n\nJust drag and drop **Hard Hat** (alias shortcut) to your Dock or Desktop.\n\n### Keyboard Shortcuts\n\nChoose the desired letter combination and let **HardHat** work for you.\n\n#### Project\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003ep\u003c/kbd\u003e | Select a project inside `path.dir/bsn/prd` path (_see [Setup \u003e Path Variables](#path-variables) section_) that starts with `flt` folder name. This project required to have an `android.prj` folder inside. |\n| \u003ckbd\u003epf\u003c/kbd\u003e | Select an APK file generated inside selected project on `android.bld` path with `android.ext` extension name (_see [Setup \u003e Android Variables](#android-variables) section_). |\n| \u003ckbd\u003epo\u003c/kbd\u003e | Open selected project in File Explorer. |\n| \u003ckbd\u003epo-b\u003c/kbd\u003e | Open Android build path from selected project in File Explorer. |\n| \u003ckbd\u003epe\u003c/kbd\u003e | Open selected project on Editor. (_see [Usage \u003e Configuration \u003e Other Variable](#other-variables) section_). |\n| \u003ckbd\u003epi\u003c/kbd\u003e | Install selected file on an Android device. |\n| \u003ckbd\u003epp\u003c/kbd\u003e | Show path and full path about selected file. Copy this paths to clipboard. |\n| \u003ckbd\u003epv\u003c/kbd\u003e | Show full information, values, signature and hash about selected file. |\n\n##### Editor\n\n| combination | action | path |\n| --- | --- | --- |\n| \u003ckbd\u003epe\u003ea\u003c/kbd\u003e | Android Studio. **\\*** | project/android |\n| \u003ckbd\u003epe\u003ec\u003c/kbd\u003e | Visual Studio Code. | project |\n| \u003ckbd\u003epe\u003es\u003c/kbd\u003e | Sublime Text 3. | project |\n| \u003ckbd\u003epe\u003ew\u003c/kbd\u003e | Web Storm. **\\*** | project |\n| \u003ckbd\u003epe\u003ex\u003c/kbd\u003e | Xcode | project/ios |\n\n**\\*** Requires enable `Tools -\u003e Create Command-line Launcher` and works only for Linux / macOS.\n\n##### Path\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003epp\u003ep\u003c/kbd\u003e | Copy project path to clipboard. |\n| \u003ckbd\u003epp\u003ef\u003c/kbd\u003e | Copy file path to clipboard. |\n| \u003ckbd\u003epp\u003em\u003c/kbd\u003e | Copy mapping file path to clipboard. |\n| \u003ckbd\u003epp\u003ed\u003c/kbd\u003e | Duplicate and rename selected file. |\n| \u003ckbd\u003epp\u003ec\u003c/kbd\u003e | Compress selected file. |\n\n#### Git\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003eg\u003c/kbd\u003e | Show current GIT branch. |\n| \u003ckbd\u003egd\u003c/kbd\u003e | Discard files. Launch `reset` command over selected project. |\n| \u003ckbd\u003egp\u003c/kbd\u003e | Pull files. Launch `pull` command over selected project. |\n| \u003ckbd\u003egc\u003c/kbd\u003e | Clean files. Launch `clean` command over selected project and delete unversioned files over selected project. |\n| \u003ckbd\u003egd+p\u003c/kbd\u003e | Discard and Pull files over selected project. |\n| \u003ckbd\u003egr+p\u003c/kbd\u003e | Clean and Pull files over selected project. |\n| \u003ckbd\u003ego\u003c/kbd\u003e | Discard, Clean and Pull (x2) files over selected project. |\n\n#### Task\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003et\u003c/kbd\u003e | Task paths, Server and Log configuration. |\n| \u003ckbd\u003etw\u003c/kbd\u003e | Launch `gulp watch` command over selected project to `TASK_PROJECT`. |\n| \u003ckbd\u003etm\u003c/kbd\u003e | Launch `gulp make` command over selected project to `TASK_PROJECT`. |\n| \u003ckbd\u003eto\u003c/kbd\u003e | Make a copy of project files (with an additional backup) and launch `gulp obfuscate` command over selected project to `TASK_PROJECT`. Lite type by default. |\n| \u003ckbd\u003eto-l\u003c/kbd\u003e | Launch `gulp obfuscate --type lite` command on selected files. |\n| \u003ckbd\u003eto-c\u003c/kbd\u003e | Launch `gulp obfuscate --type complete` command on all JS and CSS files. |\n| \u003ckbd\u003etr\u003c/kbd\u003e | Revert original files to selected project. |\n| \u003ckbd\u003ett\u003c/kbd\u003e | Launch `gulp test` command over selected project to `TASK_PROJECT`. Start server according to previous configuration. |\n| \u003ckbd\u003ets\u003c/kbd\u003e | Launch `gulp server` command over selected project to `TASK_PROJECT`. Start server according to previous configuration. |\n| \u003ckbd\u003etk\u003c/kbd\u003e | Run `kill gulp` command. |\n| \u003ckbd\u003etl\u003c/kbd\u003e | Launch `gulp log` command over selected project to `TASK_PROJECT`. |\n\n_See [Environment Variables](#environment-variables) section_ for `TASK_PROJECT` configuration.\n\n##### Path Configuration\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003et\u003epw\u003c/kbd\u003e | Web Server path with configurations. |\n| \u003ckbd\u003et\u003epl\u003c/kbd\u003e | Log path with configurations. |\n| \u003ckbd\u003et\u003epe\u003c/kbd\u003e | Extension name for configurations. |\n\n##### Server (Web/Log) Configuration\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003et\u003esi\u003c/kbd\u003e | Internal Path inside server configuration. |\n| \u003ckbd\u003et\u003esc\u003c/kbd\u003e | Configuration file with web server configuration. |\n| \u003ckbd\u003et\u003esf\u003c/kbd\u003e | Flavor. |\n| \u003ckbd\u003et\u003esn\u003c/kbd\u003e | Number. |\n| \u003ckbd\u003et\u003ess\u003c/kbd\u003e | Sync Browser on save. |\n| \u003ckbd\u003et\u003esp\u003c/kbd\u003e | Open shortcut in browser at start. |\n\n##### Quick Server Configuration\n\n| combination | option | value |\n| --- | --- | --- |\n| \u003ckbd\u003et\u003ef:d\u003c/kbd\u003e | Flavor | dev |\n| \u003ckbd\u003et\u003ef:q\u003c/kbd\u003e | Flavor | qa |\n| \u003ckbd\u003et\u003ef:r\u003c/kbd\u003e | Flavor | drc |\n| \u003ckbd\u003et\u003ef:m\u003c/kbd\u003e | Flavor | mnto |\n| \u003ckbd\u003et\u003ef:v\u003c/kbd\u003e | Flavor | vsrv |\n| \u003ckbd\u003et\u003ef:p\u003c/kbd\u003e | Flavor | prod |\n| \u003ckbd\u003et\u003en:1\u003c/kbd\u003e | Number | 1 |\n| \u003ckbd\u003et\u003en:2\u003c/kbd\u003e | Number | 2 |\n| \u003ckbd\u003et\u003en:3\u003c/kbd\u003e | Number | 3 |\n| \u003ckbd\u003et\u003en:4\u003c/kbd\u003e | Number | 4 |\n| \u003ckbd\u003et\u003en:5\u003c/kbd\u003e | Number | 5 |\n| \u003ckbd\u003et\u003en:8\u003c/kbd\u003e | Number | 8 |\n| \u003ckbd\u003et\u003en:8\u003c/kbd\u003e | Number | 9 |\n| \u003ckbd\u003et\u003en:8\u003c/kbd\u003e | Number | 10 |\n| \u003ckbd\u003et\u003en:8\u003c/kbd\u003e | Number | 11 |\n\n##### Test Server Configuration\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003et\u003ets\u003c/kbd\u003e | Sync Browser on save. |\n| \u003ckbd\u003et\u003etc\u003c/kbd\u003e | Coverage Path inside server configuration. |\n\n#### Build\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003eb\u003c/kbd\u003e | Configure your build type, flavor and dimensions. |\n| \u003ckbd\u003eb\u003et\u003c/kbd\u003e | Type shortcut inside build configuration. This value can be empty. |\n| \u003ckbd\u003eb\u003ed\u003c/kbd\u003e | Dimension shortcut inside build configuration. This value can be empty. |\n| \u003ckbd\u003eb\u003ef\u003c/kbd\u003e | Flavor shortcut inside build configuration. This value can be empty. |\n| \u003ckbd\u003eb\u003em\u003c/kbd\u003e | Mode shortcut inside build configuration. This value can be empty. |\n| \u003ckbd\u003ebi\u003c/kbd\u003e | Install NPM packages configured on packages.json. |\n| \u003ckbd\u003ebp\u003c/kbd\u003e | Copy pre-configured files inside `ANDROID_PROPERTIES` (_see [Environment Variables](#environment-variables) section_) folder and copy inside `android.prj` folder in selected project (_see [Setup \u003e Android Variables](#android-variables) section_). |\n| \u003ckbd\u003ebc\u003c/kbd\u003e | Make `clean` project with gradle command line. |\n| \u003ckbd\u003ebc-c\u003c/kbd\u003e | Make `cleanBuildCache` project with gradle command line. |\n| \u003ckbd\u003ebg\u003c/kbd\u003e | Make `build` project with gradle command line. |\n\nIf you have some pre-configured files to be copied to the project path, add it on the `ANDROID_PROPERTIES` path (_see [Environment Variables](#environment-variables) section_) inside a Business folder. Files like:\n\n* local.properties\n* gradle.properties\n* keystore/development.properties\n* keystore/production.properties\n\n##### Quick Build Configuration\n\n| combination | option | value |\n| --- | --- | --- |\n| \u003ckbd\u003eb\u003et:a\u003c/kbd\u003e | Type | assemble |\n| \u003ckbd\u003eb\u003et:b\u003c/kbd\u003e | Type | bundle |\n| \u003ckbd\u003eb\u003ef:d\u003c/kbd\u003e | Flavor | dev |\n| \u003ckbd\u003eb\u003ef:q\u003c/kbd\u003e | Flavor | qa |\n| \u003ckbd\u003eb\u003ef:r\u003c/kbd\u003e | Flavor | drc |\n| \u003ckbd\u003eb\u003ef:m\u003c/kbd\u003e | Flavor | mnto |\n| \u003ckbd\u003eb\u003ef:v\u003c/kbd\u003e | Flavor | vsrv |\n| \u003ckbd\u003eb\u003ef:p\u003c/kbd\u003e | Flavor | prod |\n| \u003ckbd\u003eb\u003em:d\u003c/kbd\u003e | Mode | Debug |\n| \u003ckbd\u003eb\u003em:s\u003c/kbd\u003e | Mode | Stag |\n| \u003ckbd\u003eb\u003em:r\u003c/kbd\u003e | Mode | Release |\n\n#### Sonar\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003es\u003c/kbd\u003e | Select and show Sonar configuration. |\n| \u003ckbd\u003es\u003ep\u003c/kbd\u003e | Protocol shortcut inside server configuration. |\n| \u003ckbd\u003es\u003es\u003c/kbd\u003e | Server shortcut inside server configuration. |\n| \u003ckbd\u003es\u003esd\u003c/kbd\u003e| Domain shortcut inside server configuration. |\n| \u003ckbd\u003es\u003esp\u003c/kbd\u003e| Port shortcut inside server configuration. |\n| \u003ckbd\u003es\u003ei\u003c/kbd\u003e | Internal Path shortcut inside server configuration. |\n| \u003ckbd\u003esq\u003c/kbd\u003e | Starts sonar server over `SONAR_QUBE_HOME` (_see [Environment Variables](#environment-variables) section_) |\n| \u003ckbd\u003ess\u003c/kbd\u003e | Launch `sonar-scanner` over `SONAR_SCANNER_HOME` (_see [Environment Variables](#environment-variables) section_) inside selected project or his internal path. |s\n| \u003ckbd\u003esb\u003c/kbd\u003e | Open sonar configuration on browser. |\n\n#### Android Debug Bridge\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003ead\u003c/kbd\u003e | Show device/emulator list. |\n| \u003ckbd\u003ear\u003c/kbd\u003e | Kill and Restart ADB server. |\n| \u003ckbd\u003ead\u003c/kbd\u003e | Make ADB launch logcat. |\n| \u003ckbd\u003eaw\u003c/kbd\u003e | Make a ADB device dis/connection over Wifi. |\n| \u003ckbd\u003eaw\u003ei\u003c/kbd\u003e | IP shortcut inside wireless configuration. |\n| \u003ckbd\u003eaw\u003ep\u003c/kbd\u003e | Port shortcut inside wireless configuration. |\n| \u003ckbd\u003eaw\u003ec\u003c/kbd\u003e | Connect IP shortcut inside wireless configuration. |\n| \u003ckbd\u003eas\u003c/kbd\u003e | Show device via ADB. |\n\n#### Extra\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003ec\u003c/kbd\u003e | Configuration. |\n| \u003ckbd\u003ei\u003c/kbd\u003e | Show information about commands version. |\n| \u003ckbd\u003ee\u003c/kbd\u003e | Show information about environmental variables. |\n| \u003ckbd\u003ex\u003c/kbd\u003e | Exit application, save progress and close terminal window. |\n| \u003ckbd\u003e!\u003c/kbd\u003e | Repeat previous option. |\n\n### Configuration\n\nChoose \u003ckbd\u003ec\u003c/kbd\u003e _Configuration_ option on main menu and set the values.\n\n#### Main Path\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003emd\u003c/kbd\u003e | Development path |\n| \u003ckbd\u003emw\u003c/kbd\u003e | Choose workspace folder inside development path. |\n| \u003ckbd\u003emp\u003c/kbd\u003e | Projects folder name inside workspace folder path. |\n| \u003ckbd\u003emf\u003c/kbd\u003e | Filter name for project listing. |\n\n#### Android Path\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003eap\u003c/kbd\u003e | Android folder path inside project |\n| \u003ckbd\u003eab\u003c/kbd\u003e | Build folder path inside android project. |\n| \u003ckbd\u003eae\u003c/kbd\u003e | Extension name for android application. |\n| \u003ckbd\u003eac\u003c/kbd\u003e | Hybrid folder to be processed with Tasks (Uglify \u0026 Minify). |\n| \u003ckbd\u003eaf\u003c/kbd\u003e | Filter extension name for files to be processed. |\n\n#### Other Variables\n\n| combination | action |\n| --- | --- |\n| \u003ckbd\u003ee\u003c/kbd\u003e | Command to open editor. |\n| \u003ckbd\u003ev\u003c/kbd\u003e | VPN Site Name (only for Windows). |\n| \u003ckbd\u003et\u003c/kbd\u003e | Theme chooser. |\n| \u003ckbd\u003el\u003c/kbd\u003e | Enable or disable log on exceptions. |\n\n### Recommendations\n\nHighly recommend this file and directory structure:\n\n```dir\nDeveloper\n├── Workspace1\n│   └── Projects\n│       ├── _devBranch_1\n│       │   ├── android\n│       │   ├── ios\n│       │   └── web\n│       ├── _devBranch_2\n│       │   ├── android\n│       │   ├── ios\n│       │   └── web\n│       ├── _devBranch_3\n│       │   └── ...\n│       ├── _devBranch_n\n│       │   └── ...\n│       └── _distProject\n│           ├── android\n│           ├── ios\n│           └── web\n├── Workspace2\n│   └── ...\n├── WorkspaceN\n│   └── ...\n│\nApplications\n├── Android\n│   ├── Gradle\n│   ├── Keystore\n│   │   ├── Workspace1\n│   │   │   ├── dev.jks\n│   │   │   └── prd.jks\n│   │   ├── Workspace1_Flavor1\n│   │   │   └── ...\n│   │   ├── Workspace1_Flavor2\n│   │   │   └── ...\n│   │   ├── Workspace2\n│   │   │   └── ...\n│   │   └── WorkspaceN\n│   │       └── ...\n│   ├── PlayStore\n│   ├── SDK\n│   └── Properties\n│       ├── Workspace1\n│       │   ├── gradle.properties\n│       │   ├── local.properties\n|       │   └── Keystore\n│       │       ├── development.properties\n│       │       └── production.properties\n│       ├── Workspace1_Flavor1\n│       │   └── ...\n│       ├── Workspace1_Flavor2\n│       │   └── ...\n│       ├── Workspace2\n│       │   └── ...\n│       └── WorkspaceN\n│           └── ...\n├── Task\n├── HardHat\n└── Sonar\n    ├── Qube\n    └── Scanner\n```\n\n⇧ [Back to menu](#menu)\n\n---\n\n## About\n\n### Built With\n\n* [.Net Core](https://dotnet.github.io/) - ASP.NET Core is a free and open-source web framework, and the next generation of ASP.NET, developed by Microsoft and the community.\n* [VS Code](https://code.visualstudio.com/) - Code editing redefined.\n* [SonarQube](https://sonarcloud.io/dashboard/index/dein:hardhat) - Continuous code quality.\n\n### Contributing\n\nPlease read [CONTRIBUTING](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.\n\n### Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [HardHat](https://github.com/deinsoftware/hardhat/tags) on GitHub.\n\n### Authors\n\n* **Camilo Martinez** [[Equiman](http://stackoverflow.com/story/equiman)]\n\nSee also the list of [contributors](https://github.com/deinsoftware/hardhat/contributors) who participated in this project.\n\n### Sponsors\n\nIf this project help you reduce time to develop, you can give me a cup of coffee.\n\n[![GitHub Sponsors](https://img.shields.io/badge/-GitHub%20Sponsors-gray?style=flat\u0026labelColor=171515\u0026logo=github\u0026logoColor=white\u0026link=https://github.com/sponsors/deinsoftware)](https://github.com/sponsors/deinsoftware)\n[![paypal](https://img.shields.io/badge/-PayPal-gray?style=flat\u0026labelColor=00457C\u0026logo=paypal\u0026logoColor=white\u0026link=https://paypal.me/equiman/3)](https://paypal.me/equiman/3)\n\nNo sponsors yet! Will you be the first?\n\n### License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details.\n\n### Acknowledgments\n\n* [StackOverflow](http://stackoverflow.com): The largest online community for programmers.\n* [XKCD](https://xkcd.com/): A web comic of romance, sarcasm, math and language... for making his [font](https://github.com/ipython/xkcd-font) available.\n\n⇧ [Back to menu](#menu)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeinsoftware%2Fhardhat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeinsoftware%2Fhardhat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeinsoftware%2Fhardhat/lists"}