πŸƒβ€β™‚οΈ Fast : An Efficient Way to Build & Publish Extensions

:mega: An update is available v1.2.7

Date built: 12.11.24.21.50


  • Fixed warnings for kapt-compiler when using JDK11

:mega: An update is available v1.2.8

Date built: 13.11.24.15.09


  • Modified the default ProGuard rules to keep all required methods and values from helper classes.
3 Likes

:mega: An update is available v2.0.0

Date built: 22.11.24.00.52


  • :fire: Added Maven dependency resolver.
  • The sync command has been optimized.
  • Removed some duplicate libraries to optimize ProGuard task.
  • The .gitignore file has been modified.
  • Remove comments from default project.
  • Updated AndroidRuntime.jar with these changes.

:man_running: Enter a new era of extension development with FAST 2.0, unlocking the full power of Maven like dependency management.

4 Likes

Congrats for this great update :tada::tada:

1 Like

:mega: An update is available v2.0.1

Date built: 22.11.24.21.37


  • Fixed dependency resolving for JDK11
  • Changes on terminal prints (debug info).
  • Downgraded Java version to 1.8 for testing-support-R-classes.jar to be compatible with JDK8 and above.
  • Added a few more debug info.
2 Likes

I have a question regarding Fast, previously when using fast build -r everything was fine but now when using it I get some Notes, this is the code that generates fast by default: package com.christianqf.videobackground;

import com.google.appinventor.components.annotations.DesignerComponent;
import com.google.appinventor.components.annotations.SimpleFunction;
import com.google.appinventor.components.runtime.ComponentContainer;
import com.google.appinventor.components.runtime.AndroidNonvisibleComponent;

@DesignerComponent(version = 2, versionName = β€œ1.0”, description = β€œDeveloped by ChristianQF by Fast.”, iconName = β€œicon.png”)
public class VideoBackground extends AndroidNonvisibleComponent {

public VideoBackground(ComponentContainer container) {
super(container.$form());
}

@SimpleFunction(description = β€œReturns sum of two integer numbers.”)
public int SumNumber(int firstNumber, int secondNumber) {
return firstNumber + secondNumber;
}
}
And this is part of what comes out: - Note: duplicate definition of library class [org.apache.commons.pool2.PoolUtils]

  • Note: duplicate definition of library class [org.apache.commons.pool2.proxy.BaseProxyHandler]
  • Note: duplicate definition of library class [org.apache.commons.pool2.proxy.CglibProxyHandler]
  • Note: duplicate definition of library class [org.apache.commons.pool2.proxy.CglibProxySource]
  • Note: duplicate definition of library class [org.apache.commons.pool2.proxy.JdkProxyHandler]
  • Note: duplicate definition of library class [org.apache.commons.pool2.proxy.JdkProxySource]
  • Note: duplicate definition of library class [org.apache.commons.pool2.proxy.ProxiedKeyedObjectPool]
  • Note: duplicate definition of library class [org.apache.commons.pool2.proxy.ProxiedObjectPool]
  • Note: duplicate definition of library class [org.apache.commons.pool2.proxy.ProxySource]
  • Note: duplicate definition of library class [org.apache.commons.pool2.SwallowedExceptionListener]
  • Note: duplicate definition of library class [org.apache.commons.pool2.TrackedUse]
  • Note: duplicate definition of library class [org.apache.commons.pool2.UsageTracking]
  • Note: there were 3421 duplicate class definitions.
    (ProGuard Manual: Troubleshooting | Guardsquare)
  • Generating DEX bytecode, yes it generates the aix but why does it appear now that it didn’t appear before?
1 Like

Could you please perform a clean installation of FAST 2+?

How do I do it? Since to update I use this: iwr https://raw.githubusercontent.com/jewelshkjony/fast-cli/main/scripts/update/win.ps1 -useb | iex

Run the installation script again.

iwr https://raw.githubusercontent.com/jewelshkjony/fast-cli/main/scripts/install/win.ps1 -useb | iex

Those Notes no longer appear now if you compile clean: - Cleaning build caches

  • Increasing Components version
  • Compiling Java classes
  • Copying extension assets
  • Reading AndroidManifest.xml
  • Generating AndroidRuntime.jar
  • ProGuard, version 7.6.0
  • Generating DEX bytecode
  • Packaging extension at C:\Users\Usuario\Documents\Fast_Extension\video-background\out\com.christianqf.videobackground.aix

BUILD SUCCESSFUL in 7s 684ms

Thank you Jewel

1 Like

You’re welcome :bouquet:
Your feedback is always valuable in making the FAST better and more stable.

1 Like

:mega: An update is available v2.0.2

Date built: 23.11.24.20.35


  • Added a few more additional debug info into the logs.txt.
  • Modified the by default created project.
  • Compiling R.class from R.txt for remote AAR dependencies.
  • This exception is now handled and prints the root cause.

:mega: An update is available v2.0.3

Date built: 04.12.24.21.48


  • The processing of AAR has been optimized.
  • Updated compiler info.

:mega: An update is available v2.0.6

Date built: 17.12.24.23.12


  • Added fast upgrade command to update FAST to latest version.
  • Added fast sync build command to run sync and build commands simultaneously.
  • The Java compiler will generate debugging information if -d is passed.
  • Fixed some dependency resolution bugs.
  • Added missing argument to default prompt.
1 Like

:mega: An update is available v2.0.9

Date built: 24.12.24.10.35


  • Added select update type feature to upgrade command.
  • Optimized the upgrade feature.

v2.0.8

  • Fixed a reported bug for the Maven resolver. (Reported here)
  • Modified fast.bat to work with relative fast.jar.

v2.0.7

  • The exception catcher will print the line number of the source.
  • A few debug prints have been changed.
  • Optimized the Maven resolver.
1 Like

Fresh updates and features, every single day! :smile:

I am trying to add all the valuable ideas shared by the community members.

1 Like

:mega: An update is available v2.1.0

Date built: 26.12.24.20.37


  • Added kotlin_version attribute in the fast.yml.
  • kotlin-compiler version can be changed from fast.yml dynamically.
  • Added support for single line commands for fast create.

:mega: An update is available v2.3.0

Date built: 13.01.25.19.56


  • FAST will generates docs for your extension during build if gen_docs is enabled in fast.yml
  • If component specific elements are not defined, FAST will include manifest elements to the default component.

v2.2.0:

  • Jetifier is now accepts remote dependencies to process.
  • Jetifier is now accepts AAR dependencies to process.
  • Added -f argument to fast upgrade command to force a clean install.
  • Added -dir as global argument to define working directory manually.
  • Renamed a few JARs in tools directory.
  • A typo is corrected in default README.md
1 Like

:mega: An update is available v2.4.0

Date built: 25.02.25.06.19


  • Added support for attaching custom xml to bundle it with APK. (Will be working from nb201)
  • The Maven resolver has been updated to the latest version.

v2.3.1:

  • A few minor tweaks to optimize overall performance.

:heart_on_fire: A huge thanks to @Patryk_F for this awesome contribution.

1 Like