Credit: The idea of the installation process and the project structures is inspired by Rush. Thanks a ton, Shreyash
Features
Dynamic Kotlin Compiler.
Integration of R8 Shrinker.
Maven dependency resolver.- Support for
.aarfiles as dependencies. - Java 8 support, including lambda expressions (
()->). - Seamless support for Java and Kotlin languages.
- Support for Multi-component in extension.
- Integration of new red helper/drop-down blocks.
- Up-to-date ProGuard library 7.6.1.
- Generates a smaller size of extension.
@annotationsless source codes.- All
@annotationswill be removed from built aix. - Optimizer to optimize aix size even no ProGuard.
- Ability to declare manifest attributes in AndroidManifest.xml.
- Code suggestions on VSCode, Eclipse, IntelliJ IDEA and Android Studio.
- Filter MIT AI2 provided classes to reduce the aix size.
- Project migration to FAST from Rush, extension-template & MIT AI2 source based extension.
- Jetifier to make Android Support libraries compatible with AndroidX.
Supported OS
- Windows
- Linux
- MacOS
- Android (Termux, UserLand, etc)
Requirements
- Only Java is required to run the FAST. (JDK 8 or 11 is recommended).
How to install?
Windows Only
- Run the the below command on Windows PowerShell.
iwr https://raw.githubusercontent.com/jewelshkjony/fast-cli/main/scripts/install/win.ps1 -useb | iex
- The installation is successful. Youβre now good to use the FAST CLI.
Linux, MacOS & Android Termux
- Run the the below command on terminal.
curl https://raw.githubusercontent.com/jewelshkjony/fast-cli/main/scripts/install/install.sh -fsSL | sh
- The installation is successful. Youβre now good to use the FAST CLI.
Manual Process for Windows
- Download the
fast.zipfrom here. - Unzip it, at where you want.
- Copy the absolute directory of the unzipped Fast folder.
- Create
FAST_HOMEenvironment variable with the copied value (Optional). - Set the copied value to path. mandatory
- Done. Now open the terminal and write
fast -vto check the installed version.
How to update the FAST
Using Fast Command
- Open terminal and run
fast upgrade. - If an update is available it will ask to download it. Enter
Yesto download the latest update. - It will download the latest version. Wait while it downloads.
- Done.
Windows Only
- Make sure that FAST is already installed on your system.
- Run the the below command on Windows PowerShell.
iwr https://raw.githubusercontent.com/jewelshkjony/fast-cli/main/scripts/update/win.ps1 -useb | iex
- Done. Check the version of updated FAST.
Linux, MacOS & Android Termux
- Make sure that FAST is already installed on your system.
- Run the the below command on terminal.
curl -fsSL https://raw.githubusercontent.com/jewelshkjony/fast-cli/main/scripts/update/install.sh | sh
- Done. Check the version of updated FAST.
How to create a new FAST project
- Open terminal at where you want to create a new FAST project.
- Run
fast create <ProjectName> - Enter the package name.
- Enter author name.
- Select language.
- Done.
How to declare the component class
- You need to annotate with
@DesignerComponentto declare extension component classes.
Example:
@DesignerComponent(
version = 1,
versionName = "1.0",
description = "Developed by JEWEL using Fast.",
iconName = "icon.png"
)
- Required attributes:
version,iconName - Optional attributes:
versionName,description,designerHelpDescription,helpUrl,licenseName,androidMinSdk - Ignored attributes:
category,nonVisible
How to build a FAST project
- Open termanl at where the FAST project is.
- Run
fast buildto build the project. - Done. The compiled extension should be inside the out directory.
How to optimize using ProGuard?
- Make sure that the
proguardattribute is enabled in thefast.ymlconfig file. Ex.proguard: true - Run the build command with
-ras an additional argument. Ex.fast build -r
How to optimize using R8?
- Make sure that the
R8attribute is enabled in thefast.ymlconfig file. Ex.R8: true - Run the build command with
-sas an additional argument. Ex.fast build -s
Want to share an idea?
Please share your ideas here.
Getting issues?
Please open an issue here.
For additional support
Please send me a private message or comment below.
Release Notes
Please read the release notes from here.
Donation
I have dedicated a significant amount of time and effort into developing the FAST. If you find my work beneficial and would like to show your appreciation, you may consider making a donation here.
Thanks a lot to all the beta testers of FAST. Without their feedback and help, it would have been impossible to make FAST a stable compiler.
