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

I am using the gson library.

Proguard reported the following errors:

Warning: library class com.google.api.client.json.gson.GsonGenerator depends on program class com.google.gson.stream.JsonWriter
Warning: library class com.google.api.client.json.gson.GsonParser depends on program class com.google.gson.stream.JsonReader

Adding the google-http-client-gson.jar library fixed the problem, but it didn't happen before.

Thanks, I'll take a look on it again.

1 Like

Does proguard use guava library, does it have it built in? I add guava to extension, removed older versions from Fast folder and did sync. But it seems that proguard still sees older guava version than 33 somewhere, because I have many warnings and I have to use -dontwarn for guava classes. Here are some of them:

Warning: library class com.google.common.util.concurrent.ImmediateFuture$ImmediateFailedCheckedFuture extends or implements program class com.google.common.util.concurrent.ImmediateFuture
Warning: library class com.google.common.util.concurrent.ImmediateFuture$ImmediateSuccessfulCheckedFuture extends or implements program class com.google.common.util.concurrent.ImmediateFuture
Warning: library class com.google.common.util.concurrent.ImmediateFuture$ImmediateSuccessfulFuture extends or implements program class com.google.common.util.concurrent.ImmediateFuture
Warning: library class com.google.common.util.concurrent.Service$State$1 extends or implements program class com.google.common.util.concurrent.Service$State
Warning: library class com.google.common.util.concurrent.Service$State$2 extends or implements program class com.google.common.util.concurrent.Service$State
Warning: library class com.google.common.util.concurrent.Service$State$3 extends or implements program class com.google.common.util.concurrent.Service$State
Warning: library class com.google.common.util.concurrent.Service$State$4 extends or implements program class com.google.common.util.concurrent.Service$State
Warning: library class com.google.common.util.concurrent.Service$State$5 extends or implements program class com.google.common.util.concurrent.Service$State
Warning: library class com.google.common.util.concurrent.Service$State$6 extends or implements program class com.google.common.util.concurrent.Service$State
Warning: library class com.google.common.util.concurrent.Striped$2 extends or implements program class com.google.common.base.Supplier
Warning: library class com.google.common.util.concurrent.Striped$3 extends or implements program class com.google.common.base.Supplier
Warning: library class com.google.common.util.concurrent.Striped$4 extends or implements program class com.google.common.base.Supplier
Warning: library class com.google.common.util.concurrent.Striped$5 extends or implements program class com.google.common.base.Supplier
Warning: library class com.google.common.util.concurrent.Striped$6 extends or implements program class com.google.common.base.Supplier

Class e.g. com.google.common.util.concurrent.Striped$2 does not appear in my version of guava. But it is in guava 27.1 which appinventor uses. But it is present in guava 27.1 which is used by appinventor. But it is nowhere in Fast folders or in my dependencies.

I see that proguard has inside jar guave, gson and many other libraries. Probably in older version than I use in extension and that's where problem is. I don't know if -dontwarn will be safe in this case?

:loudspeaker: An update is available, v1.1.9 25.10.24.11.32


  • Changes in the printing process on the terminal.

The dontwarn option can be safely used to suppress duplicate class warnings. However, when encountering classes missing issues, it is crucial to ensure that the required classes are present in the dependencies folder. Alternatively, it is necessary to verify that the absence of these classes will not adversely affect runtime behavior.

I've started coding for it and hopefully I'll be able to release it with the next update.

3 Likes

Yes, of course. Only the warnings I showed are not due to missing classes, because my dependencies have those classes...the reason is that proguard has built-in outdated libraries that do not have the appropriate classes.

I believe, in such cases you may safely apply the -dontwarn option, if you wish to do so.

1 Like

hello @JEWEL , i got error while i am using fast build command
error:

 - Error parsing command line: While parsing option --classpath_entry C:\Program: C:\Program is not a valid path: it does not exist.
 - Try --help.
x BUILD FAILED!

edit:
this error just display when desugar_sources: true in fast.xml but when desugar_sources: false there is not errors displayed it is work fine :slight_smile:

Your project may have spaces in the directory path. I believe the desugar tool does not accept spaces in the directory path. I will attempt to provide a solution for this issue later.
In the meantime, please move the FAST to a different location where there are no spaces in the path. Then, configure the FAST_HOME variable and the environment path with the new location.

And please, let me know which version of FAST you're using right now?

2 Likes

Why it Gives error when use this command

curl https://raw.githubusercontent.com/jewelshkjony/fast-cli/main/scripts/update/install.sh -fsSL | sh

But when use the command like this

curl -fsSL https://raw.githubusercontent.com/jewelshkjony/fast-cli/main/scripts/update/install.sh | bash

It Works Fine

There was no error before version 1.1.5

1 Like

:loudspeaker: An update is available, v1.2.0 26.10.24.19.30


  • Blocks will be arranged in order to the source code.
  • Use the -a flag to maintain the alphabetical order of the blocks.

I'll take a look on it later.

3 Likes

Does the Fast supports Java 11
:point_down::point_down:

Yeah, the FAST is fully compatible with JDK11.

3 Likes

:loudspeaker: An update is available v1.2.1 30.10.24.23.43


  • FAST will print warnings if naming conventions are not followed.

Please mention this one point in this topic.

You can install FAST on older versions of Windows automatically, you don't have to download or build it.

For that, you have to install the Windows Management Framework, which includes Windows Powershell 5.1, and that has the support for running the command to install FAST automatically.

This is how I installed FAST on my Windows 7 system.

1 Like

I've no prior experience with Windows 7, and I would greatly appreciate it if you could share a guide on this process.

I am also using Windows 7 Professional and will definitely not upgrade to Windows 10 or 11 for very good reasons. I downloaded v1.2.0 from here Releases Β· jewelshkjony/fast-cli Β· GitHub, unzipped it and copied it to C:\Users\Jo\AppData\Local\Fast\.

grafik

2 Likes

First, install the WMF from this site: https://www.microsoft.com/en-us/download/details.aspx?id=54616

Then restart the system (because it is a system update), and open Powershell

Then run the command to install, as written in the topic πŸƒβ€β™‚οΈ Fast : An Efficient Way to Build Extensions

2 Likes

:mega: An update is available v1.2.2

Date built: 02.11.24.06.29


  • Resolved an issue impacting the R8 dexer and shrinker.
  • Included naming conventions warnings for helper-blocks, arguments of choices, parameters of functions and events.
4 Likes

Hello, how can I add the .jar libraries?

I have been using this version:
γ…€Version: 1.2.0 26.10.24.19.30γ…€

2 Likes

Place the jar files in the project's deps directory and declare them in fast.yml. And run fast sync to include them into classpath for IDE.

Always try to stay updated. The latest version is 1.2.2.

2 Likes