Rush • A new and improved way of building extensions

I haven't tried it, but I guess it'd be possible.

2 Likes

Hey, @shreyash Nice work.

Can you share demo template file which to create a extension with Rush?

2 Likes

When you create an extension using rush create command, every required file, including a starter Java file for the extension, is automatically created for you. This is already discussed in the first post and in the wiki. You might want to read it thoroughly first.

2 Likes

Capture
but there is no aix in out directory

2 Likes

same happening with powershell

2 Likes

Check your directory structure and see if there's a space in any of the directory's name. You'll have to remove that space, and then, try again.
This is a known bug and has been fixed for the next release.

4 Likes
4 Likes

Kudos and many thanks to @shreyash for this great way to create extensions. I had a few minor issues in the beginning (like some here) but he solved them all perfectly. :clap:

3 Likes

No directory contains space. but still it's happening

2 Likes

It worked when I changed package name similar to path of directories. :smile: :smiling_face_with_three_hearts: :smiling_face_with_three_hearts:

5 Likes

Can you send me demo video
And where is your aix file located ??

Build Successful But No extension file found ?
Can you please help me ?

3 Likes

@Vishal_Nage, did you read this:

2 Likes

:sparkles: Version 1.0.1 :sparkles:


This release brings a few new features to Rush and fixes some bugs that were reported by users since the initial release.

Below is a quick changelog of everything that's fixed/added in this version.
An exclamation (:exclamation:) in front of a note means it is a critical change.

What's new


  • :exclamation: Rush is now also available for macOS and Linux.

  • :exclamation: It is now possible to pack non-related Java packages with the extension as long as they are inside the src directory.

    • With this feature, you can now have multiple packages inside the src directory and all of them will be available in your extension.
    • This is a Rush exclusive feature.
  • Added a new field, release/optimize to rush.yml. It indicates whether or not to optimize the extension when building with the -r flag.

    release:
      optimize: true
    
  • Some other small changes.

Fixes


  • :exclamation: Fixed the issue where Rush won't work with some terminal apps, like, CMD on Windows.

  • :exclamation: Fixed the issue where <extension>.aix was not being produced because of spaces in one of the parent directory's names.

  • Fixed the issue where the build would be successful even if some step failed to complete.

  • Fixed the issue where an incorrect package would be produced in some cases.

Installation


If you've Rush already installed on your system, follow the below steps to update it to the latest version, i.e., v1.0.1.

  • Delete your previous Rush installation.

    • All you need to do for this is navigate to the place where you unpacked rush.zip and then delete the rush directory and all of its contents.
  • After that, do a fresh installation of Rush.

For Linux and macOS users, installation guidelines can be found here.

Feedback


For all the types of feature requests and bug reports, file an issue on GitHub.

Cheers,
Shreyash

11 Likes

I'd like to bring to your notice that release v1.0.1 had some minor issues that caused the build to failed with random errors. This issue is fixed now, but if you have had updated Rush before 2021-03-24T13:21:00Z, I urge you to please re-update it. :pray:

I apologize for any inconvenience this might have caused.

2 Likes

I have some problem using Rush with libraries:

It gives this error. I have added the jar file into the deps directory:

SharedScreenshot



 deps:         # Dependencies should be first added to the "deps" folder
   - beanshell.jar
2 Likes

Make sure your rush.yml file, or more specifically, the deps field is correctly indented. If you aren't sure, attach an image of the whole rush.yml here.

2 Likes
name: BackgroundTasks           # Caution: DO NOT change the name.
description: Extension component for BackgroundTasks. Created using Rush.

# For a detailed info on this file and supported fields, check
# out this link: https://github.com/ShreyashSaitwal/rush-cli/wiki/Metadata-File

version:
  number: auto        # Auto increments version number when built with '-r' (or '--release') flag.
  name: 1.0 A

assets:
  icon: icon.png      # Extension icon
  # other:              # Extension asset(s)
  #   - my_awesome_asset.anything

authors:
  - Kumaraswamy


 deps:         # Dependencies should be first added to the "deps" folder
   - beanshell.jar
3 Likes

Remove the extra space before deps:.

4 Likes

Thanks! That worked!

3 Likes

I am using services and also declared it:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="io.kumaraswamy.backgroundtasks">

    <!-- For more details, see: https://github.com/ShreyashSaitwal/rush-cli/wiki/Android-Manifest-File -->

    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    <uses-permission android:name="oppo.permission.OPPO_COMPONENT_SAFE"/>
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>

    <application>
      <!-- <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity> -->
        <service android:name="io.kumaraswamy.backgroundtasks.BackgroundService"/>
    </application>
</manifest>

This did not work and nothing happened. So I checked the compiled APK manifest and the service element is not present but everything else was there. I can pm you the compiled Manifest code.

2 Likes