graalvm / graalvm/mx

Consolidate mx s* commands

Open
#24 12 comments 0 reactions 1 assignee View on GitHub

@gilles-duboscq is already working on this.

Since Feb 25, 2016.

Dominant language
Python
Stars
205
Forks
129
PR merge metrics
No merged PRs in 30d

Description

Based on Roland's suggestion we should simplify mx version conflict resolution: Allow solving conflicts only by defining a specific version in the primary suite. This way, dependencies still get transitively resolved but conflicts can only be resolved by defining an exact revision for the conflicting dependency on primary suite level.

In addition to that we should remove all s* commands from mx, except for the bare minimum we require. Below a list of commands that should remain (but probably under a better name):

List of mx dependency handling commands
Current command Notes
mx sforceimports We need some command that allows us to get our project dependencies (transitively) in sync with the current definitions in suite.py (right after initial cloning of the primary suite but also after pulling or after local changes to suite.py). Renaming this command to mx dependencies --update might be a good idea.
mx scheckimports A command that tells us if we are currently in sync with the current definitions in suite.py files. Renaming this command to mx dependencies --check might be a good idea.
mx scloneimports --manual This is needed by buildbot to get a list of the direct (non-transitive) dependencies of a suite. Renaming this command to mx dependencies --list might be a good idea.

(Please add to that list if some version control specific command we need is missing)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.