Rush • A new and improved way of building extensions

Repackage gson library.

Thanks for your answer, can you please tell me how I can do that. Guidance will be of great help. Thanks @vknow360

Build with Proguard.
rush build -r

1 Like

some tutorial how can add kotlin third library i am trying to build using korge third library but i dont get some guide for add librarys

i am trying to understand how can make a extension using rush and kotlin. somebody can helpme? i see the tutorial for java but for kotlin i cant find a tutorial.

See first post for how to install RUSH.

When creating a new project, select Kotlin.

The demo project should look like this:

package com.metricrat.testkotlin

import com.google.appinventor.components.annotations.SimpleFunction
import com.google.appinventor.components.runtime.AndroidNonvisibleComponent
import com.google.appinventor.components.runtime.ComponentContainer
import com.google.appinventor.components.runtime.util.YailList

class Testkotlin(container: ComponentContainer) : AndroidNonvisibleComponent(container.`$form`()) {

    @SimpleFunction(description = "Returns the sum of the given list of integers.")
    fun SumAll(integers: YailList): Int {
        return integers.sumOf {
          it.toString().toIntOrNull() ?: 0
        }
    }
}

Just replace any java code with kotlin code

Getting this error while trying to build extension in rush.

husnain@Husnain-Macbook-Pro rsuhfix % rush build -r
                      __
     _______  _______/ /_
    / ___/ / / / ___/ __ \
   / /  / /_/ (__  / / / /
  /_/   \__,_/____/_/ /_/

• Build initialized

┌ Checking project files
│ info Checking metadata file (rush.yml)
│ info Checking AndroidManifest.xml file
└ done
┌ Compiling sources
│ info Picked 2 source files
└ done
┌ Processing the extension
│ info Linking extension assets and dependencies
│ erro FileSystemException: Cannot create file, path = '/Users/husnain/rush/workspaces/pk.rushfix.rsuhfix/art/META-INF/' (OS Error: Is a directory, errno = 21)
└ failed

How I can fix this error @shreyash. Is it related to file permissions?

it says it's a directory delete it (after backing it up possibly) and then try it again. If it does not work, then just put the backup back

After deleting the directory, during rebuild it created the same directory.

Oh then I don't know. Sorry...

1 Like

Try creating the file yourself

Hello everyone,

I'm working on an extension using Rush CLI and need help implementing helper blocks using enums. I've tried a few approaches, but I'm running into issues with YAIL type conversion and block visibility in MIT App Inventor.

What I've Done:

  • Created an enum to represent options like Option1, Option2, and Option3.
  • Implemented a method to use this enum, but it's causing IllegalStateException during compilation, and sometimes the blocks don't show up in the Blocks Editor.

What I Need:

  • Best practices for implementing helper blocks with enums in Rush CLI.
  • How to resolve type conversion issues.
  • Working examples or guidance.

Any help or advice would be greatly appreciated!

Thank you

Sorry, no Helper blocks in RUSH yet. Will hopefully be available when version 2 comes

1 Like

You forgot that you can (if you are courageous) implement yourself in your private Rush-cli the so long awaiting "helpers feature" with this Release v2.0.0 by shreyashsaitwal · Pull Request #48 · shreyashsaitwal/rush-cli · GitHub

I am in deadlock and this is the only way. Wish me luck.

How to build v2 branch?

1 Like

I tried but to no avail. It's still incomplete and gives build errors.

After clicking the first link, where should i go?
.github
assets
bin
lib
processor
schema
scripts/install
gitattributes
gitignore
LICENSE
README.md
analysis_options.yaml
pubspec.yaml

where should i go?

Ah, that's sad. :cry:

Hello
I am trying to create an extension that uses an sdk
I downloaded as an aar
Converted it into zip and extracted the classes jar file from it
I then added it to deps folder and the rush yml file Tried to build it error that package has not been found please help
PS I am using Jdk 8 and rush

When you extract a .jar from an .aar then in some cases you'll not be able to access all the features and the methods as .aar also includes the resources which aren't yet supported by App Inventor for building extension, yet it's available for in-built components

1 Like