Resim rapid instantiator

Related tags

Miscellaneous revup
Overview

revup

Install

Linux

First build the executable
cargo build --release

Then move or copy the binary to your preferred executables folder. For example:
sudo mv target/release/revup ~/.cargo/bin or sudo mv target/release/revup /usr/local/bin

You should now be able to use revup in your terminal, if not open an issue.

Usage

Make sure you are in the root folder of your scrypto project and run
revup -i

This will prompt for the first function call. If you are running the HelloToken demo then this would be
Hello new

Then there will be a prompt for names for the results in order. For HelloToken this could be
tokenHT helloCOMP

This should've created a default revup.json file in the folder, you only need to run this once.

You can now run
revup

This will execute all the resim commands that are stored in the revup.json file and it should've created a .env file that has stored all the variables.

You can now run\ source .env

This will make the .env variables usable in your shell, make sure that you re-run source .env everytime you've run revup.

When using revup in a project under git source code control you will want to update your .gitignore file to include
revup.json .env

Going forward:

Normal maintenace is underway. Feel free to add an issue, comment on issue or even fix an open issue. We also have defined some projects outlining future directions. Feel free to contribute in any way.

Comments
  • Add XRD as a defined resource

    Add XRD as a defined resource

    1. Add XRD as a defined resource.

    Enter the arguments for the first function call example: PackageName new 200,$tokenEMT 200,$tokenGMT No ticks, qoutes or backticks

    1. Should the 1st line above read "Enter blueprint name and function-call"?
    2. Is the example correct? When I copy and paste the example and change the token names it still prints the example token names.
    3. quotes is misspelled.
    4. Change the first account created name from "account" to "accout1", same with pubkey.
    enhancement 
    opened by MisoShiru69 2
  • Add install notes

    Add install notes

    The README needs some more details about building and using revup.

    (We shouldn't presume that scrypto programmers know how to build and use rust command line tools.)

    documentation 
    opened by RockHoward 2
  • Quick fix for breaking change in Scrypto 0.3

    Quick fix for breaking change in Scrypto 0.3

    new-account command didn't print "New Entities" anymore in scrypto 0.3. adding an edge case using "A new account has been created!"

    opened by atoumbre 1
  • Allow rev files to be executable

    Allow rev files to be executable

    Extend revup's -r option by adding an extra option that enables reading from stdin.

    Assuming that option is -s then with this in place is should be possible to add:

    #!revup -rs -

    at the beginning of a rev file and then make it executabe.

    Obviously revup needs to ignore #! lines since you would want such a rev file to be usable in the normal way too.

    (This enhancement was suggested by devmannic.)

    opened by RockHoward 1
  • Make revup installable via crates.io

    Make revup installable via crates.io

    Improve the installation process by making revup available as a crate.

    Probably want to wait until after Alexandria for this task as revup may need to go though some adjustments at that time.

    In Progress 
    opened by RockHoward 1
  • strings with spaces handled incorrectly

    strings with spaces handled incorrectly

    A string argument like that for a token description like this:

    "my token description"

    is not handled correctly by the "-r" (aka --rev") option leading to a resim failure. (Not sure about the json version either.)

    Furthermore it seems like an extra space is creeping into most or all of the arguments.

    bug 
    opened by RockHoward 1
  • Separate required and optional initial commands and make the optional commands replaceable

    Separate required and optional initial commands and make the optional commands replaceable

    The second account and two token supply commands should be handled as the default set of optional commands. These optional commands should be overridable (perhaps using a file in the current directory.) A way to make the override file should be defined and implemented.

    wontfix 
    opened by RockHoward 1
  • Package env handling is problematic

    Package env handling is problematic

    When running revup if the $package env variable is already set to something besides what the next publish yields, then an error is encountered when trying to run the first call-function after publish . is run.

    The workaround is to source .env and then simply run revup again.

    Fixing this so that it works 100% of the time may require a rethink of the revup workflow.

    bug 
    opened by RockHoward 1
  • basic CI workflow for deploying to crates.io

    basic CI workflow for deploying to crates.io

    Closes #21

    NOTE: for deployments to work a crates.io API token must be generated and added to the CI secrets (CARGO_TOKEN)

    This is a basic implementation that does the minimum required to publish the crate.

    Workflow

    • All PRs and merges to the develop branch cause the workflow to run: checking out the project, building it and running any tests
    • Pushing a new tag (for example v0.2.1 will run the workflow and additionally publish the crate to crates.io
    • After publishing a new release can be created via Github

    Future Improvements

    • Additional badges on the readme
    • Auto publish documentation
    • Linting (cargo clippy)
    • Formatting (cargo fmt)
    • Auto release management (Github Action generates a release after publish)
    • Changelogs
    opened by charliecooper45 0
  • Dev rev2

    Dev rev2

    Adds new --rev (-r) option to read in and process resim commands from a human readable and editable file.

    Supports the same magic for setting environment variables as we go.

    Refactors the code a bit especially in run_cmd() so that run_file() shares much of the same logic as the new run_rev().

    Handles the special case addition of adding tokenXRD in a smarter way (specifically add it after "reset" command is called.)

    opened by RockHoward 0
  • Transfer the revup repo to the RadGuild organization

    Transfer the revup repo to the RadGuild organization

    To make it easier for more people to get involved with the design, maintenance and evolution of revup, the repo was transferred from initial author dRAT3 to the RadGuild organization.

    opened by RockHoward 0
  • revup -f fails if no env.bat/ps1 exists

    revup -f fails if no env.bat/ps1 exists

    The "append_env" function tries to write to these files but does not pass the create flag in order to ensure they get created if they're missing. W/o the create flag, if those files are missing, you get a cryptic Critical error, aborting The system cannot find the file specified. (os error 2)

    To remedy this, simply modify the file open options to add the create flag like so: let mut env_file = std::fs::OpenOptions::new().create(true).append(true).open("env.bat")?;

    opened by paroxysm 0
  • Add a switch to *.rev files that makes revup abort processing on the first failed instruction

    Add a switch to *.rev files that makes revup abort processing on the first failed instruction

    When working with *.rev files, revup processes all instructions in a file one after the other. If one instruction fails, revup continues to process the subsequent instructions anyway. This may be desirable in some cases, but in others you may want processing to stop there.

    If revup supported a switch like e.g. set -e in bash, a user could configure revup's behavior as desired.

    opened by backyard-coder 1
  • Improve Github Actions Workflow

    Improve Github Actions Workflow

    This is an extension to issue #24. A number of future improvements were identified as part of that issue:

    • [ ] Additional badges on the readme
    • [ ] Auto publish documentation
    • [ ] Linting (cargo clippy)
    • [ ] Formatting (cargo fmt)
    • [ ] Auto release management (Github Action generates a release after publish)
    • [ ] Changelogs
    • [ ] Matrix testing strategy (test on Mac/Windows too)
    enhancement 
    opened by charliecooper45 1
  • Extend smart editor to assist rev file creation

    Extend smart editor to assist rev file creation

    Add support for .rev files into VS Studio and/or other smart editors.

    This mostly boils down to helping guide the selection and creation of supported resim commands.

    opened by RockHoward 0
  • Create an example rev file with all the things

    Create an example rev file with all the things

    A file showing examples of all of the supported resim commands would be handy.

    (We can also point out which resim commands don't work well and/or need an update to include special handling by revup.)

    documentation enhancement help wanted good first issue 
    opened by RockHoward 0
  • Front end --rev option with a GUI

    Front end --rev option with a GUI

    A GUI should be developed to frontend the --rev option.

    Several possibilities exist:

    • A GUI app for the desktop.
    • A browser-based app for desktop and, eventually, mobile.
    • An extension to an editor that understands resim could work.
    enhancement help wanted 
    opened by RockHoward 1
Owner
null
This is a rewrite of the RAMP (Rapid Assistance in Modelling the Pandemic) model

RAMP from scratch This is a rewrite of the RAMP (Rapid Assistance in Modelling the Pandemic) model, based on the EcoTwins-withCommuting branch, in Rus

Dustin Carlino 3 Oct 26, 2022
Rapid, reliable and robust template management

Rapid, reliable and robust template management

null 14 Apr 16, 2022
Blazingly Rapid Uncompressed Harebrained Image File Format.

BRUHIFF Blazingly rapid uncompressed harebrained Image File Format. Also known as BRUHIFF or BRUH. How to Download the repo / git clone it. Open a com

Face 12 Aug 16, 2023
Designed for rapid iteration in IC Canister development projects.

IC_Utils Designed for rapid iteration in IC Canister development projects. IcContext IcContext provides the context for ic canister object invocation,

AlphaQ 83 Nov 13, 2023