> Also, since you’re relying on the latest googletest, protobuf and re2
your release will work today and will break at some point in the future.
That’s not OK. A release can depend only on releases, not snapshots or
live repositories.
Thanks for pointing that. It is possible to fetch a particular release
(based on its commit ID) of the submodule. We will add the release
commit ID to the git submodule file.
On 01/05/2017 01:44 PM, Julian Hyde wrote:
Git sub-modules are useful, I agree. But for a source release, the goal is that
someone should be able to download the source tar-ball and go:
$ curl -O …/apache-quickstep-x.x-incubating.tar.gz
$ tar xvfz apache-quickstep-x.x-incubating.tar.gz
$ cd apache-quickstep-x.x-incubating/build
$ ./download-thirdparty.sh
$ cmake etc.
I tried to find other Apache projects that use git submodules and see what they
do for source releases. Not much luck. Maybe someone else can find something.
Also, since you’re relying on the latest googletest, protobuf and re2 your
release will work today and will break at some point in the future. That’s not
OK. A release can depend only on releases, not snapshots or live repositories.
Julian
On Jan 5, 2017, at 11:03 AM, Harshad Deshmukh <hars...@cs.wisc.edu> wrote:
Thanks for the review Julian.
For some of the third party libraries used in Quickstep (e.g. googletest,
protobuf and re2) we use the submodules feature of git. For such libraries, the
developer has to initialize the submodule only once, which pulls code from the
third party repo to the Quickstep third party directory.
I don't know of a centralized repo for C++ projects. Does the git submodule
method sound similar to the maven central approach you mentioned?
On 01/05/2017 12:43 PM, Julian Hyde wrote:
I took a quick look at third_party and there don’t seem to be any binaries in
there. That’s good. You definitely cannot include binaries in a source release.
The more you can remove from third_party, the better. It doesn’t have to be
done this release, but the less IP there is to review, the easier for everyone.
Consider pulling from an external source the first time the developer builds in
a sandbox, then apply patches. The patches will be the only thing checked in to
quickstep. (My expertise is in Java projects, which these days get their
dependencies from a Maven repo such as Maven central; I don’t know whether
there is an equivalent place to pull C and C++ source code. Might be worth a
review of what other C and C++ based Apache projects do for their third-party
dependencies.)
Julian
On Jan 5, 2017, at 9:43 AM, Marc Spehlmann <spehl.apa...@gmail.com> wrote:
That seems to be the repo with the LLVM code for implementing IWYU. I think
what we have in our repo is scripts ontop of that library. I'm wondering
where the scripts came from.
Thanks,
Marc
On Thu, Jan 5, 2017 at 10:50 AM, Harshad Deshmukh <hars...@cs.wisc.edu>
wrote:
Hi Marc,
How about this one for IWYU?
https://github.com/include-what-you-use/include-what-you-use
/blob/master/LICENSE.TXT
On 01/05/2017 10:43 AM, Marc Spehlmann wrote:
I double checked the libraries in thirdy_party. They adhere to Apache's
3rd
party requirement as they are all apache 2 or opensourced by Google. The
only issue I saw was that IWYU has no documentation. Anyone know of its
source?
Library
Ver
License
Notes
benchmark
Apache 2.0
cpplint
Google
Header states that reuse is unconditional so long as the copyright header
stays intact.
Farmhash
Google
No restrictions so long as COPYING file is preserved. See COPYING
gflags
Google
No restrictions so long as COPYING file is preserved. See COPYING
glog
Google
No restrictions so long as COPYING file is preserved. See COPYING
gtest
Google
No restrictions so long as COPYING file is preserved. See COPYING in
subprojects.
gperftools
Google
No restrictions so long as COPYING file is preserved.
iwyu
No license present
linenoise
Google
No restrictions so long as LICENSE file is preserved.
protobuf
Google
No restrictions so long as LICENSE file is preserved.
RE2
Google
No restrictions so long as LICENSE file is preserved.
tmb
Apache 2.0
README: TMB is part of the Quickstep project (copyright Pivotal Software,
Inc.) and is distributed under the same license terms.
--
Thanks,
Harshad
--
Thanks,
Harshad
--
Thanks,
Harshad