[ 
https://issues.apache.org/jira/browse/PARQUET-267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15086575#comment-15086575
 ] 

Kalon Mills commented on PARQUET-267:
-------------------------------------

[~nongli], I agree that a sandboxed env would be very useful for quickstart 
development.  I think, however, that it should be a script which initializes 
the environment for use, rather than part of the build configuration.  Right 
now, apache/parquet-cpp:master requires download_thirdparty.sh and 
build_thirdparty.sh to be run as prerequisites to running cmake because cmake 
relies on specifics.

I'd rather see a cmake configuration that is customizable for determining 
library locations and then an {{./initialize_sandbox.sh <path_to_build_dir>}} 
which can download and install everything required by the sandbox as well as 
configure cmake in that directory with the sandbox libraries.  (In fact this 
would make the travisci build configuration simpler too because travisci could 
leverage the sandbox env.)

I think this is what [~wesmckinn] is getting at with his comment above.  My 
pull request here does three, I think important, things.  
# It removes third party code from the repo.  
# It makes library discovery more generic.  
# It decouples the build configuration from the build environment.  

With this as a foundation, I think that one can script sandbox creation in a 
straightforward and decoupled manner.  

I guess your point is that with this pull request I'm removing an existing 
sandbox solution, but I'm hoping that this would be a good stepping stone for a 
better solution.  I don't want to duplicate work that Wes is doing, but if 
you'd like I can implement a version of initialize_sandbox.sh so that the 
sandbox feature still exists.  [~wesmckinn] is that sort of the direction you 
were already headed?

> Relax Third Party Dependency Restrictions
> -----------------------------------------
>
>                 Key: PARQUET-267
>                 URL: https://issues.apache.org/jira/browse/PARQUET-267
>             Project: Parquet
>          Issue Type: Improvement
>          Components: parquet-cpp
>            Reporter: Kalon Mills
>            Priority: Minor
>
> The existing repo has source code for third party dependencies checked into 
> the repo.  The build system expects those dependencies in a certain place.  
> This enforces that the built library conform to those exact dependencies 
> without customization.
> Managing third party dependencies is better handled through a build 
> environment.  It allows the library builder more flexibility over dependency 
> versions and locations.  It also cleans up the repo from this third party 
> code. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to