Rush • A new and improved way of building extensions

OK, where do we input that information?

In rush.yml:

license: url/filename

Note the spelling though, licence won't work.

:slight_smile:

Thank you

1 Like

Any other undocumented hidden treasures like this ? The MIT Designer Component has quite a few...

Rush supports everything that the DesignerComponent annotation supports. And everything has been documented here: Metadata File (rush.yml) · shreyashsaitwal/rush-cli Wiki (github.com)

1 Like

Using Rush, how do you add another java file, which is a continuation of the first page?

What do you mean by a continuation of the first page?

Say I have a great big array of strings

List < String> countryFiles = Arrays.asList("ad.png","ae.png","af.png","ag.png","ai.png" ----"zw.png");

which means many scrolls of the ide to get to the next section. Have this in a separate java file to call on from the first.

Please add Java 11 support for dependencies. Also need to support Java 8 for dependencies.
(Thanks for your hard work)

Why not create a logic if the file names are like aa.png,ab.png,ac.png,ad.png.... ?

Like,

for(char i= 'a'; i<='z'; i++ )
    for(char j='a',j<='z',j++)
        list.add(i+j+".png");

You mean to create a new class and use them from main/another class??

That sort of thing :slight_smile:

I can create another java file with a new class, and put the list in it, but don't know how to reference that list in the main java file.

package xyz.hello.yourpackagename;

import java.util.Arrays;
import java.util.List;

public class ListData {
    public static List<String> myfiles = Arrays.asList(
            "ad.png", "ae.png", "af.png", "ag.png", "ai.png", "zw.png"
    );
}

and to access the list you can

// import the class if it is in a different package
List<String> myfiles = ListData.myfiles;
4 Likes

Aha !

// import the class....
List<String> myfiles = .....

This was the part I was missing. Thank you :slight_smile:

1 Like

Hello @shreyash,
How many days remain to release Rush v2.0?

1 Like

Status update 2 -- I spent the last month laying the foundation of the new update, implementing a few new features, and mostly, refactoring the horrible spaghetti only God knows which drunk head wrote (no, don't look at me).

We now have a mostly working dependency management system in place, written entirely from scratch to best meet Rush's needs. Along with that I recently added support for the helper blocks. The multi-component extensions are also supported now.

Talking about beta testing, I will certainly start it in a couple of days. I wanted to start it by the end of the last month, but things were mostly half-baked and/or broken and it didn't really made any sense to beta-test at that phase. If you're interested in beta testing Rush, PM me here on the community or on Discord (my username: shreyash#4002).

Also, if you have any feature requests, suggestions, or bug reports, now is the right time to let me know about them. Bring them on!

Before we finish, here's a peek at a handy little feature I implemented to view the dependency tree of your extension project. This screenshot is from my media-notification extension.

Oh, in case you're wondering where's the first status update, it's here on the Kodular community. Sorry, I forgot to post here last time.

4 Likes

Please tell me how to build extensions on rush

There's the official documentation here to help you get started with Rush. It expects you to have previous knowledge of developing extensions.

If you're completely new, you can follow this blog post by me that guides you through the basics of extension development. Even though in that post I use AI2's extension-template to create an extension, you can still follow it with Rush with a few changes:

  1. You don't need to manually create the extension source file as mentioned in the "Getting started section". Running rush create extension-name creates it for you.

  2. You don't need to add the following annotations:

    • @DesignerComponent: This is replaced by the rush.yml config file. More info about it here.
    • @SimpleObject
  3. Instead of running ant extensions, you run rush build to build your extensions.

There are also some video tutorials by @ZainUlHassan and @AkshatRana on their respective YouTube channels (kudos to them :tada:):

Edit: There's also this awesome guide by @Juan_Antonio: App Inventor. Crear extensión con Rush. Create extension with Rush. Even though it's in Spanish, but you should be able to translate the webpage using Google Translate.

6 Likes

I have a problem. the extension will not be built

You need to run rush build from the command line.