GithubHelp home page GithubHelp logo

matlabpackages / dart-pubgrub-example Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 4.87 MB

Minimal examples to solve dependency resolution problems using the original PubGrub implementation in Dart

Dart 98.18% Shell 1.82%
dartlang pubgrub

dart-pubgrub-example's Introduction

dart-pubgrub-example

Minimal examples to solve dependency resolution problems using the original PubGrub implementation in Dart.

Setup

First you have to install the current Dart SDK.

Then, clone the pub git repository into the subdirectory pub:

git clone https://github.com/dart-lang/pub.git
# for best reproducability also use:
cd pub && git checkout 14b13103acff082b9657848c449132a51ffb278f
cd -

Install dependencies:

dart pub get

Run

Run test cases:

bash run_main.sh

Debug main.dart using VS Code to inspect what is happening inside the PubGrub algorithm.

Run on Elm package universe

The file universes/elm/elm-packages.json has been created by the script convert_graph.py from the file graph.json, which was downloaded using the script download.py on 2023-02-25 at 12:01 UTC. Both scripts are from elm-package-benchmark.

Solve every version of every package of the Elm universe using universes/elm/elm-packages.json as input file:

bash run_universe.sh elm

This takes about 30 seconds and saves the output file universes/elm/elm-result.json containing the version solving results.

Run on Julia package universe

Preparation

If you want to run PubGub on the Julia package universe, you have to modify the source code of package pub_semver first, to allow a set union of version ranges. Use the following script to patch the files (use bash pub_semver.sh restore to restore the original version)

bash pub_semver.sh patch

Alternatively, it can also be done manually using this guide.

Run

Solve every version of every package of the Julia universe using universes/julia/julia-packages.json as input file (this file has been created using the script convert.py from julia-package-universe):

bash run_universe.sh julia

This takes about one hour and saves the output file universes/julia/julia-result.json containing the version solving results.

Develop

see Debugging PubGrub

dart-pubgrub-example's People

Contributors

patrsc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.