Code Monkey home page Code Monkey logo

Comments (8)

kevmoo avatar kevmoo commented on June 12, 2024

@cbracken most of those dependencies come via analyzer, which comes via pkg/test

Otherwise, I don't think the set of runtime dependencies is that much greater...

from coverage.

zoechi avatar zoechi commented on June 12, 2024

Does coverage have to be a package dependency or can it also be used with pub global run?

from coverage.

kevmoo avatar kevmoo commented on June 12, 2024

It can be used via pub global run

On Mon, May 30, 2016 at 1:44 AM, Günter Zöchbauer [email protected]
wrote:

Does coverage have to be a package dependency or can it also be used with pub
global run?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#109 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AABCitFpHzdqUsGthWeNEa2IJSMgXR0Bks5qGqNQgaJpZM4IpgYW
.

from coverage.

cbracken avatar cbracken commented on June 12, 2024

@zoechi the way coverage is run (from srcs or via a binary snapshot) is a separate issue to the dependency issue. * (details on how we actually run dart binaries at bottom)

For background, internally absolutely everything is built hermetically from the ground up from source on every build/test/coverage run, all the way down to the Dart VM itself. Binaries (e.g. snapshots) are never checked in.

Blaze/Bazel is actually pretty clever and caches all build products across everyone's runs, so this works out to be pretty quick in practice. However, this means that on every commit, all build products in the transitive closure of reverse dependencies of the committed code are invalidated and need to be rebuilt. The worst case scenario for this is a change to something that blaze itself depends on; this transitively affects all code and build products and requires a lot of extra pain and special procedures as a result.

*If you're curious, pub run is not used internally: we generally run all VM tools via snapshots, which are built from source immediately before running them. pub run is convenient for desktop development but behaviour isn't hermetic, which leads to non-reproducible builds. The Blaze/Bazel rules do effectively the same job, hermetically. If you're curious, we're working with the Bazel team on open-sourcing the rules. An early version is here.

from coverage.

cbracken avatar cbracken commented on June 12, 2024

@kevmoo thanks for clarifying.

Ripped out the test dep and we're down to 10. That's still a lot, but the set looks a lot more reasonable:

args 0.13.4+2
async 1.11.0
collection 1.8.0
json_rpc_2 1.2.0 (2.0.1 available)
logging 0.11.3
path 1.3.9
pub_semver 1.2.4
source_span 1.2.2
stack_trace 1.6.5
vm_service_client 0.1.3

from coverage.

jtmcdole avatar jtmcdole commented on June 12, 2024

@cbracken, those actually look pretty decent.

from coverage.

zoechi avatar zoechi commented on June 12, 2024

@cbracken thanks for the info

from coverage.

cbracken avatar cbracken commented on June 12, 2024

Closing as ignoring test, things look pretty good.

from coverage.

Related Issues (20)

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.