Skip to content

Commit

Permalink
init bigflow
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangyuncong committed Nov 27, 2017
0 parents commit 61070c7
Show file tree
Hide file tree
Showing 1,146 changed files with 171,303 additions and 0 deletions.
165 changes: 165 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
# Created by .ignore support plugin (hsz.mobi)
### Scala template
*.class
*.log
### macOS template
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### Maven template
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties

# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
!/.mvn/wrapper/maven-wrapper.jar
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff:
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/dictionaries

# Sensitive or high-churn files:
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.xml
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml

# Gradle:
.idea/**/gradle.xml
.idea/**/libraries

# CMake
cmake-build-debug/

# Mongo Explorer plugin:
.idea/**/mongoSettings.xml

## File-based project format:
*.iws

## Plugin-specific files:

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

### CMake template
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
### Java template
# Compiled class file

# Log file

# BlueJ files
*.ctxt

# Package Files #
*.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
### C++ template
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app


### Project Related
extern_*/
thirdparty/
*_dummy.c

bigflow_python/proto/*.pb*
flume/proto/
flume/thrift/

# cc_test generated test binary
bigflow_python/*_test
flume/*_test
toft/*_test
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "toft"]
path = toft
url = https://github.com/acmol/toft.git
30 changes: 30 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
sudo: required

services:
- docker

os:
- linux

branches:
only:
- master

install:
- echo ok

script:
- docker run -t -v $PWD:/root/bigflow centos:7.1.1503 bash -c "export MAKEFLAGS='-j 2';yum install sudo -y -q && cd /root/bigflow/build_support && sh -x build_deps.sh && source ./environment && mkdir /root/bigflow/build && cd /root/bigflow/build && cmake .. && make && make release && cd /root/bigflow/bigflow_python/python && PARALLEL_NUM=2 sh run-tests && cd /root/bigflow/doc/ && sh generate_doc.sh"


deploy:
- provider: releases
api_key: $GITHUB_TOKEN
file: "bigflow_python/output/bigflow_python.tar.gz"
skip_cleanup: true
- provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN
on:
branch: master
local_dir: ./doc/_build/html
70 changes: 70 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.2)
PROJECT(bigflow)

SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
ADD_DEFINITIONS(-DTOFT_CXX11_ENABLED -DBASE_CXX_ENABLED)
ADD_COMPILE_OPTIONS(-fPIC)
ADD_COMPILE_OPTIONS(-fpermissive)

# todo: move init.sh to a build-support dir
EXECUTE_PROCESS(COMMAND sh ${PROJECT_SOURCE_DIR}/init.sh)

INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR})

#TODO check pthread
SET(CMAKE_HAVE_PTHREAD_H 1)

SET(EXTERNAL_INSTALL_LOCATION ${CMAKE_BINARY_DIR}/thirdparty)
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

OPTION(WITH_TESTING "Compile Bigflow with unit testing" ON)
SET(THIRD_PARTY_PATH "${CMAKE_BINARY_DIR}/thirdparty" CACHE STRING
"A path setting third party libraries download & build directories.")

INCLUDE_DIRECTORIES("$ENV{JAVA_HOME}/include")
IF(APPLE)
INCLUDE_DIRECTORIES($ENV{JAVA_HOME}/include/darwin)
ELSE()
INCLUDE_DIRECTORIES("$ENV{JAVA_HOME}/include/linux")
ENDIF()

INCLUDE_DIRECTORIES(${EXTERNAL_INSTALL_LOCATION})
INCLUDE_DIRECTORIES(${EXTERNAL_INSTALL_LOCATION}/hdfs/src)
INCLUDE_DIRECTORIES(${EXTERNAL_INSTALL_LOCATION}/include)
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/flume/proto)
LINK_DIRECTORIES(${EXTERNAL_INSTALL_LOCATION}/lib)

INCLUDE(generic)
INCLUDE(thrift)
INCLUDE(python)
INCLUDE(boost)
INCLUDE(cityhash)
INCLUDE(libev)
INCLUDE(protobuf)
INCLUDE(snappy)
INCLUDE(leveldb)
INCLUDE(re2)
INCLUDE(tinyxml)
INCLUDE(krb)
INCLUDE(libxml2)
INCLUDE(libgsasl)
INCLUDE(uuid)
INCLUDE(hdfs)
INCLUDE(ctemplate)
INCLUDE(gflags)
INCLUDE(glog)
INCLUDE(gtest)
INCLUDE(stringencoders)
# brpc cannot be compiled on mac yet
IF(NOT APPLE)
INCLUDE(brpc)
ENDIF()

#set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/libs)
ADD_SUBDIRECTORY("toft")

#set(LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/.libs)
ADD_SUBDIRECTORY("flume")
ADD_SUBDIRECTORY("bigflow_python")
Loading

0 comments on commit 61070c7

Please sign in to comment.