Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request some helper scripts #540

Open
sequencer opened this issue Apr 22, 2024 · 0 comments
Open

Request some helper scripts #540

sequencer opened this issue Apr 22, 2024 · 0 comments

Comments

@sequencer
Copy link
Member

we need some helper script for development, future plan is hide nix command from developers.

  • genConfig [someConfig(fall back if not exist)] to pwd.
  • elaborate [ip, ipemu, ...] --config [some config.json by default from pwd]
    • use mill elaborator.run to generate the elaborator
  • setupScalaIDE {idea-community,metals(TBD)} --config[some config.json by default from pwd]
    • nix develop .#t1.elaborator.editable + nix shell .#espresso;
    • post run mill elaborator.assembly for jar;
    • IDE should be opened under this environment;
    • some idea to think about:
      • add our chisel-plugin(not opensourced yet) for D/I macro hack, ScalaPlugin for Scala. this can be used to simple onboarding new contributors.
      • In the future, we may add plugin for reading MLIR, HGLDD, FST to RPC surfer for debugging.(or RPC Verdi)
      • add IDE target for elaborator:
        image
        image
        This is extremely useful for debug Scala, see:
        image
        This is basically added some line to .idea/workspace.xml
  <component name="RunManager" selected="JAR Application.Elaborate">
    <configuration name="Elaborate" type="JarApplication" activateToolWindowBeforeRun="false">
      <option name="JAR_PATH" value="$PROJECT_DIR$/out/elaborator/assembly.dest/out.jar" />
      <option name="PROGRAM_PARAMETERS" value="ipemu -t . -c config.json " />
      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
      <option name="ALTERNATIVE_JRE_PATH" />
      <method v="2">
        <option name="RunConfigurationTask" enabled="true" run_configuration_name="assembly" run_configuration_type="ShConfigurationType" />
      </method>
    </configuration>
    <configuration name="assembly" type="ShConfigurationType">
      <option name="SCRIPT_TEXT" value="mill elaborator.assembly" />
      <option name="INDEPENDENT_SCRIPT_PATH" value="true" />
      <option name="SCRIPT_PATH" value="mill" />
      <option name="SCRIPT_OPTIONS" value="elaborator.assembly" />
      <option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
      <option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
      <option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
      <option name="INTERPRETER_PATH" value="/nix/store/i2z9yfbv0akyk6ad0fl0z0msqs9gmj3m-fish-3.7.1/bin/fish" />
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="EXECUTE_IN_TERMINAL" value="true" />
      <option name="EXECUTE_SCRIPT_FILE" value="false" />
      <envs />
      <method v="2" />
    </configuration>
    <list>
      <item itemvalue="JAR Application.Elaborate" />
      <item itemvalue="Shell Script.assembly" />
    </list>
  </component>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant