I just read Dart's suggested packagout layout spec and have a few questions regarding it:
- The spec says that I should put all 3rd party packages into a
lib
directory. But runningpub get
orpub upgrade
will fetch those packages into apackages
directory. So which is it?!? Am I supposed to runpub get
, pull down packages intopackages
, and then manually copy them over tolib
? That seems inefficient! - The spec says that packages that should be a part of an API should go in
lib
, but that internal packages (not a part of the API) should go inlib/src
. So if my project depends on some 3rd party package calledtransmogrify
, how do I known whichtransmogrify
packages are a part of the public API and should be placed inlib
, and which ones are "private" and should be placed inlib/src
? This seems tedious! - Can a Dart app have 2+
main()
methods? Why/why not? - Just want confirmation that the following files should not be checked into a VCS:
packages/**
build/**
(produced bypub build
)pubspec.lock
- Any others?