Re: release: third_party/

2017-03-30 Thread Harshad Deshmukh

Hi Zuyu,

Can you please start another thread for the travis problems for 
distributed version? This thread is old and it's hard to keep track of 
things on this one.


On 03/27/2017 04:45 PM, Zuyu Zhang wrote:
Hi Harshad -- I did reply regarding the protobuf version (link 
).

​
Anyway, it is ok for me to keep the submodule. And I have tested that 
upgrading to protobuf 3 as a git submodule works in the Travis CI 
(https://github.com/apache/incubator-quickstep/pull/223/ 
).


But there are serval issues need to fix to test the distributed 
version in Travis CI:


  * 50 minute timeout, even if we only run the distributed unit tests:
https://github.com/apache/incubator-quickstep/pull/220
. We may
use ccache to speed up the whole process.
  * What is the best way to install grpc in Travis: download in Travis
script, or download in the third_party? I don't think we could
install using a pre-built binary package. Again, downloading in
Travis script gets stuck due to the timeout.

Cheers,
Zuyu


--
Thanks,
Harshad



Re: release: third_party/

2017-03-27 Thread Zuyu Zhang
Hi Harshad -- I did reply regarding the protobuf version (link

).
​
Anyway, it is ok for me to keep the submodule. And I have tested that
upgrading to protobuf 3 as a git submodule works in the Travis CI (
https://github.com/apache/incubator-quickstep/pull/223/).

But there are serval issues need to fix to test the distributed version in
Travis CI:

   - 50 minute timeout, even if we only run the distributed unit tests:
   https://github.com/apache/incubator-quickstep/pull/220
   . We may use
   ccache to speed up the whole process.
   - What is the best way to install grpc in Travis: download in Travis
   script, or download in the third_party? I don't think we could install
   using a pre-built binary package. Again, downloading in Travis script gets
   stuck due to the timeout.

Cheers,
Zuyu


Re: release: third_party/

2017-03-27 Thread Harshad Deshmukh

Hi Zuyu,

The protobuf issue had come when I was working on making the third party 
library leaner, when I had asked you about the appropriate version for 
protobuf. (Email link 
). 
If you want to remove it as a submodule and make it a part of the 
download script, please feel free to make appropriate changes.



On 03/27/2017 03:04 PM, Zuyu Zhang wrote:

Hi Harshad,

A quick question: any reason why we still keep protobuf as a git 
submodule?


To test the distributed version in the Travis CI, we need at least 
protobuf 3.0 and grpc.


Cheers,
Zuyu​


--
Thanks,
Harshad



Re: release: third_party/

2017-03-27 Thread Zuyu Zhang
Hi Harshad,

A quick question: any reason why we still keep protobuf as a git submodule?

To test the distributed version in the Travis CI, we need at least protobuf
3.0 and grpc.

Cheers,
Zuyu​


Re: release: third_party/

2017-01-31 Thread Harshad Deshmukh

Hello all,

At long last, we have dealt with the third party issue. Some highlights:

1. Most of the libraries are now downloaded through a shell script.

2. The download links point to the release versions of the libraries.

3. After downloading the source code, we apply appropriate patches.

Some libraries don't have an official release yet, so we will wait until 
they have a release. Until then, we have copied their entire source code 
to our third party directory. I have updated the build instructions 
based on these changes.


Thanks Julian, Marc and Zuyu for your help.

On 01/23/2017 09:57 PM, Jignesh Patel wrote:

Thanks Zuyu for the nice summary! For this release, I’d support going with 
Harshad’s lead, which is a single script to download the third party libraries.

Dear Harshad: If your life is simpler with any of the other option (e.g. the 
issue you are having with an old version of Ubuntu in Travis), when feel free 
to go with the Mesos approach.

Cheers,
Jignesh

On 1/23/17, 12:26 AM, "Zuyu Zhang"  wrote:

 FYI, there are some Apache projects in C++ (
 https://projects.apache.org/projects.html?language), and more in github (
 https://github.com/apache?language=c%2B%2B), including incubator projects.
 
 I summaries how typically they deal with the third parties and the release.
 
- Apache Mesos (https://github.com/apache/mesos) has most third parties

in release tar balls, along with patches.
- Apache Kudu (https://github.com/apache/kudu) has multiple scripts to
download and build third parties.
- Apache NiFi - MiNiFi (https://github.com/apache/nifi-minifi-cpp)
includes the whole codebase of third parties.
 
 Cheers,

 Zuyu
 





--
Thanks,
Harshad



Re: release: third_party/

2017-01-22 Thread Zuyu Zhang
FYI, there are some Apache projects in C++ (
https://projects.apache.org/projects.html?language), and more in github (
https://github.com/apache?language=c%2B%2B), including incubator projects.

I summaries how typically they deal with the third parties and the release.

   - Apache Mesos (https://github.com/apache/mesos) has most third parties
   in release tar balls, along with patches.
   - Apache Kudu (https://github.com/apache/kudu) has multiple scripts to
   download and build third parties.
   - Apache NiFi - MiNiFi (https://github.com/apache/nifi-minifi-cpp)
   includes the whole codebase of third parties.

Cheers,
Zuyu


Re: release: third_party/

2017-01-22 Thread Zuyu Zhang
Hi all,

If I remembered correctly, the IWYU script (iwyu/iwyu_helper.py) was added
by Shoban.

As of the protobuf version, the distributed Quickstep needs protobuf 3 (on
which gRPC depends). And there is no hard requirements for the single node
version, at least 2.6 works.

Sorry for that I missed the discussion regarding changing submodules for
re2 and gtest to downloading a release. I would suggest to track a release
commit in a submodule. For example, when we added it as a submodule (
https://github.com/pivotalsoftware/quickstep/pull/156), there is a TODO in
the comments to track v1.8 once ready.

Cheers,
Zuyu


Re: release: third_party/

2017-01-17 Thread Harshad Deshmukh

Hi all,

An update on the release and third party related issues. I have created 
a branch called "lean-third-party" (link: 
https://github.com/apache/incubator-quickstep/tree/lean-third-party). 
Some highlights -


1. I removed the source code for many libraries and added patches for 
some libraries.


2. There is a shell script that downloads the source code for the third 
party libraries and optionally applies patches. No more submodules for 
such libraries.


3. Each download link points to a release version of the library. There 
are some libraries for which there is no official release version yet, 
for such libraries I haven't modified the code and let it as is. 
Upgrading the version in the future will require minor modification in 
the shell script.


Can I have some volunteers for trying out this branch and ensuring that 
the scripts download the libraries and apply the patches correctly? Once 
we get green signals from few of the volunteers, I can create a pull 
request and update the master branch.


@Zuyu: We don't know what's the right version for protobuf that we need. 
Can you please let us know?


Thanks Julian for the inputs on cleaning up the third party library.

On 01/05/2017 01:03 PM, Jignesh Patel wrote:

I think it was Zuyu. Zuyu – can you comment?

Cheers,
Jignesh

On 1/5/17, 12:56 PM, "Harshad Deshmukh"  wrote:

 If I recall correctly, one of the Quickstep developers wrote the python
 script.
 
 
 On 01/05/2017 11:43 AM, Marc Spehlmann 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 
 > 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



Re: release: third_party/

2017-01-09 Thread Marc Spehlmann
Also, IWYU script was written by Shoban

On Mon, Jan 9, 2017 at 3:39 PM, Marc Spehlmann 
wrote:

> Thanks for finding these! Impala is more or less doing what we're doing,
> except it doesn't use submodules. One thing is that if you download their
> release (http://impala.apache.org/downloads.html) it's not clear where
> all the thirdparty dependencies went.
>
> On Mon, Jan 9, 2017 at 12:00 PM, Hakan Memisoglu <
> hakanmemiso...@apache.org> wrote:
>
>> Hi Marc,
>>
>> Here are two Apache projects using C++:
>>
>> Impala: https://github.com/cloudera/Impala > mpala>
>>
>> Kudu: https://github.com/cloudera/kudu 
>>
>> Kudu has a download script for dependencies in third_party folder.
>> It seems to be a good example for our case.
>>
>> > On Jan 8, 2017, at 2:17 PM, Marc Spehlmann 
>> wrote:
>> >
>> > Regarding the IWYU script. It sounds safe then. If anything, maybe it
>> > belongs in another folder. ("tools/" ?)
>> >
>> > On Thu, Jan 5, 2017 at 3:07 PM, Julian Hyde  wrote:
>> >
>> >> Better still, make a release depend only releases. Snapshots and even
>> >> commit IDs can disappear.
>> >>
>> >> And consider the state of the IP. In Apache and many other open source
>> >> projects, the IP is only guaranteed "clean" when it has been formally
>> >> released.
>> >>
>> >> Sorry this is all painful. But conversely, this is the value-add of
>> >> making a release.
>> >>
>> >> On Thu, Jan 5, 2017 at 11:57 AM, Harshad Deshmukh > >
>> >> wrote:
>>  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 
>> > 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:
>> 

Re: release: third_party/

2017-01-09 Thread Marc Spehlmann
Thanks for finding these! Impala is more or less doing what we're doing,
except it doesn't use submodules. One thing is that if you download their
release (http://impala.apache.org/downloads.html) it's not clear where all
the thirdparty dependencies went.

On Mon, Jan 9, 2017 at 12:00 PM, Hakan Memisoglu 
wrote:

> Hi Marc,
>
> Here are two Apache projects using C++:
>
> Impala: https://github.com/cloudera/Impala  Impala>
>
> Kudu: https://github.com/cloudera/kudu 
>
> Kudu has a download script for dependencies in third_party folder.
> It seems to be a good example for our case.
>
> > On Jan 8, 2017, at 2:17 PM, Marc Spehlmann 
> wrote:
> >
> > Regarding the IWYU script. It sounds safe then. If anything, maybe it
> > belongs in another folder. ("tools/" ?)
> >
> > On Thu, Jan 5, 2017 at 3:07 PM, Julian Hyde  wrote:
> >
> >> Better still, make a release depend only releases. Snapshots and even
> >> commit IDs can disappear.
> >>
> >> And consider the state of the IP. In Apache and many other open source
> >> projects, the IP is only guaranteed "clean" when it has been formally
> >> released.
> >>
> >> Sorry this is all painful. But conversely, this is the value-add of
> >> making a release.
> >>
> >> On Thu, Jan 5, 2017 at 11:57 AM, Harshad Deshmukh 
> >> wrote:
>  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 
> > 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  >
> >>> 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,
> 

Re: release: third_party/

2017-01-05 Thread Julian Hyde
Better still, make a release depend only releases. Snapshots and even
commit IDs can disappear.

And consider the state of the IP. In Apache and many other open source
projects, the IP is only guaranteed "clean" when it has been formally
released.

Sorry this is all painful. But conversely, this is the value-add of
making a release.

On Thu, Jan 5, 2017 at 11:57 AM, Harshad Deshmukh  wrote:
>> 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 
>>> 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 
> 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 
> 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 

Re: release: third_party/

2017-01-05 Thread Jignesh Patel
I think it was Zuyu. Zuyu – can you comment? 

Cheers,
Jignesh 

On 1/5/17, 12:56 PM, "Harshad Deshmukh"  wrote:

If I recall correctly, one of the Quickstep developers wrote the python 
script.


On 01/05/2017 11:43 AM, Marc Spehlmann 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 
> 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






Re: release: third_party/

2017-01-05 Thread Julian Hyde
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  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 
> 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
>> 
>> 



Re: release: third_party/

2017-01-05 Thread Marc Spehlmann
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 
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
>
>


Re: release: third_party/

2017-01-05 Thread Harshad Deshmukh

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