Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Jiangjie Qin authored and becketqin committed Feb 9, 2017
0 parents commit 5acccfe
Show file tree
Hide file tree
Showing 72 changed files with 8,900 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.project
.settings
.classpath
.gradle
.idea
*.iml
*.ipr
*.iws
/build
*/build
out/
*/bin/
.reviewboardrc
27 changes: 27 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Contribution Agreement
======================

As a contributor, you represent that the code you submit is your
original work or that of your employer (in which case you represent you
have the right to bind your employer). By submitting code, you (and, if
applicable, your employer) are licensing the submitted code to LinkedIn
and the open source community subject to the BSD 2-Clause license.

Responsible Disclosure of Security Vulnerabilities
==================================================

Please do not file reports on Github for security issues.
Please review the guidelines on at (link to more info).
Reports should be encrypted using PGP (link to PGP key) and sent to
security@linkedin.com preferably with the title "Github linkedin/<project> - <short summary>".

Tips for Getting Your Pull Request Accepted
===========================================

*Note: These are suggestions. Customize as needed.*

1. Make sure all new features are tested and the tests pass.
2. Bug fixes must include a test case demonstrating the error that it fixes.
3. Open an issue first and seek advice for your change before submitting
a pull request. Large features which have never been discussed are
unlikely to be accepted. **You have been warned.**
25 changes: 25 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
BSD 2-CLAUSE LICENSE

Copyright 2017 LinkedIn Corporation.
All Rights Reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 changes: 31 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Copyright 2017 LinkedIn Corporation
All Rights Reserved.

Licensed under the BSD 2-Clause License (the "License").
See LICENSE in the project root for license information.


This product includes software developed by The Apache Software
Foundation (http://www.apache.org/).

This product includes/uses Jackson (http://jackson.codehaus.org/)
Copyright (c) 2007- Tatu Saloranta, tatu.saloranta@iki.fi
License: Apache 2.0

This product includes/uses SLF4J (http://slf4j.org)
Copyright (c) 2004 QOS.ch
License: MIT

This product includes/uses TestNG (http://testng.org/)
Copyright (c) 2004 Cedric Beust
License: Apache 2.0

This product includes/uses BouncyCastle (http://www.bouncycastle.org/)
Copyright (c) 2000 - 2016 The Legion of the Bouncy Castle Inc.
License: MIT

This product includes/uses Scala (http://http://www.scala-lang.org/)
Copyright (c) 2002-2016 EPFL
Copyright (c) 2011-2016 Lightbend, Inc. (formerly Typesafe, Inc.)
All rights reserved.
License: BSD
120 changes: 120 additions & 0 deletions README.md

Large diffs are not rendered by default.

39 changes: 39 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
* Copyright 2017 LinkedIn Corp. Licensed under the BSD 2-Clause License (the "License").
 See License in the project root for license information.
*/

apply plugin: 'java'
apply plugin: 'scala'
apply plugin: 'idea'
apply plugin: 'checkstyle'

repositories {
mavenCentral()
}

checkstyle {
toolVersion = '5.9'
}

dependencies {
compile 'org.apache.kafka:kafka_2.10:0.10.1.1:test'
compile 'org.apache.kafka:kafka_2.10:0.10.1.1'
compile 'org.apache.kafka:kafka-clients:0.10.1.1'
compile 'org.scala-lang:scala-library:2.10.4'
compile 'org.apache.zookeeper:zookeeper:3.4.6'
compile 'org.bouncycastle:bcpkix-jdk15on:1.54'

testCompile "org.scala-lang:scala-library:2.10.4"
testCompile 'org.testng:testng:6.8.8'
}

test {
useTestNG {}
testLogging {
events "passed", "failed", "skipped"
}
}

task wrapper(type: Wrapper) {
gradleVersion = '2.13' //version required
}
185 changes: 185 additions & 0 deletions config/checkstyle/checkstyle.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2017 LinkedIn Corp. Licensed under the BSD 2-Clause License (the "License").
 See License in the project root for license information.
-->

<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">

<!--
Checkstyle-Configuration: LinkedIn Style
Description:
LinkedIn Java style.
-->
<module name="Checker">

<!-- header -->
<module name="RegexpHeader">
<property name="header" value="/\*\n Copyright 2017 LinkedIn Corp.*"/>
</module>

<property name="severity" value="${checkstyle.severity}" default="warning"/>

<module name="TreeWalker">
<module name="FileContentsHolder"/>

<!-- ANNOTATIONS -->

<!-- No trailing empty parenthesis or commas -->
<module name="AnnotationUseStyle">
<property name="elementStyle" value="ignore"/>
</module>
<!-- Ensure @Override is present when {@inheritDoc} Javadoc tag is present -->
<module name="MissingOverride"/>
<!-- Package level annotations belong in package-info.java -->
<module name="PackageAnnotation"/>

<!-- BLOCKS -->

<!-- Block opening brace on same line -->
<module name="LeftCurly">
<property name="option" value="eol"/>
</module>
<!-- Block closing brace for else, catch, finally on same line -->
<module name="RightCurly">
<property name="option" value="same"/>
</module>
<!-- Always use braces even if optional -->
<module name="NeedBraces"/>

<!-- CLASS DESIGN -->

<!-- Classes containing only static methods should not have a public constructor -->
<module name="HideUtilityClassConstructor"/>

<!-- CODING -->

<!-- Use Java style array declarations (e.g. String[] names), not C style (e.g. String names[]) -->
<module name="ArrayTypeStyle"/>
<!-- If covariant equals defined, standard equals must also be defined -->
<module name="CovariantEquals"/>
<!-- Switch 'default' case must appear last -->
<module name="DefaultComesLast"/>
<!-- Override equals and hashCode together -->
<module name="EqualsHashCode"/>
<!-- No fall through in switch cases, even the last one -->
<module name="FallThrough">
<property name="checkLastCaseGroup" value="true"/>
</module>
<!-- Do not perform assignments embedded within expressions -->
<module name="InnerAssignment"/>
<!-- Switch statements must have a 'default' case -->
<module name="MissingSwitchDefault"/>
<!-- Do not modify the 'for' loop control variable -->
<module name="ModifiedControlVariable"/>
<!-- Each variable delcaration must be on a separate line -->
<module name="MultipleVariableDeclarations"/>
<!-- Each statement (i.e. code terminated by a semicolon) must be on a separate line -->
<module name="OneStatementPerLine"/>
<!-- Classes must have an explicit package declaration -->
<module name="PackageDeclaration"/>
<!-- Do not test boolean expressions against the values true or false -->
<module name="SimplifyBooleanExpression"/>
<!-- Do not test for boolean conditions and return the values true or false -->
<module name="SimplifyBooleanReturn"/>
<!-- Do not use '==' to compare string against a literal; use 'equals' -->
<module name="StringLiteralEquality"/>
<!-- Use 'L' with long literals -->
<module name="UpperEll"/>

<!-- IMPORTS -->

<!-- No imports statements using '*' notation except static imports -->
<module name="AvoidStarImport">
<property name="allowStaticMemberImports" value="true"/>
</module>
<!-- Do not import 'sun' packages -->
<module name="IllegalImport"/>
<!-- Do not duplicate import statements -->
<module name="RedundantImport"/>
<!-- Eliminate unused imports -->
<module name="UnusedImports">
<property name="processJavadoc" value="true" />
</module>

<!-- JAVADOC COMMENTS -->

<!-- If you have a Javadoc comment, make sure it is properly formed -->
<module name="JavadocStyle">
<property name="checkFirstSentence" value="false"/>
</module>

<!-- NAMING CONVENTIONS -->

<!-- Generic parameters for a class must be uppercase letters (e.g. <T>, <OLD>) -->
<module name="ClassTypeParameterName">
<property name="format" value="^[A-Z]+$"/>
</module>
<!-- Constants must be all uppercase letters separated by underscores -->
<module name="ConstantName">
<property name="format" value="^(_?log)|([A-Z][A-Z0-9]*(_[A-Z0-9]+)*)$"/>
</module>
<!-- Local variables must be camel case starting with lowercase letter -->
<module name="LocalFinalVariableName"/>
<module name="LocalVariableName"/>
<!-- Method name must be camel case starting with a lowercase letter -->
<module name="MethodName"/>
<!-- Generic parameters for a method must be uppercase letters (e.g. <V>, <NEW>) -->
<module name="MethodTypeParameterName">
<property name="format" value="^[A-Z]+$"/>
</module>
<!-- Package name must be all lowercase letters separated by periods -->
<module name="PackageName">
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
</module>
<!-- Parameters must be camel case starting with a lowercase letter -->
<module name="ParameterName"/>
<!-- Type names must be camel case starting with an uppercase letter -->
<module name="TypeName"/>

<!-- LENGTHS -->

<!-- Desired line length is 120 but allow some overrun beyond that -->
<module name="LineLength">
<property name="max" value="160"/>
<message key="maxLineLen" value="Line is longer than {0,number,integer} characters (found {1,number,integer}). Try to keep lines under 120 characters."/>
</module>

<!-- WHITESPACE -->

<module name="GenericWhitespace"/>
<module name="MethodParamPad"/>
<module name="NoWhitespaceBefore"/>
<module name="ParenPad"/>
<module name="TypecastParenPad">
<property name="tokens" value="RPAREN,TYPECAST"/>
</module>
<module name="WhitespaceAfter"/>
<module name="WhitespaceAround"/>

<!-- Do not allow meaningless, IDE generated parameter names -->
<module name="RegexpSinglelineJava">
<property name="format" value="[\s]+arg[\d]+[,\)]"/>
<property name="message" value="Replace argN with a meaningful parameter name"/>
</module>
</module>

<!-- Do not allow tab characters in source files -->
<module name="FileTabCharacter"/>

<!-- Ensure parameter and exception names are present on @param and @throws tags -->
<module name="RegexpSingleline">
<property name="format" value="\*[\s]*@(throws|param)[\s]*$"/>
<property name="message" value="Missing parameter or exception name"/>
</module>
<!-- IDE generated code must be reviewed by developer -->
<module name="RegexpSingleline">
<property name="format" value="\/\/[\s]*TODO[\s]+Auto-generated"/>
<property name="message" value="Replace IDE generated code with real implementation"/>
</module>
<!-- Detect commonly misspelled Javadoc tags -->
<module name="RegexpSingleline">
<property name="format" value="\*[\s]*@(params|throw|returns)[\s]+"/>
<property name="message" value="Correct misspelled Javadoc tag"/>
</module>

</module>
1 change: 1 addition & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
version=0.0.1-SNAPSHOT
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
10 changes: 10 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#
# Copyright 2017 LinkedIn Corp. Licensed under the BSD 2-Clause License (the "License").
 See License in the project root for license information.
#

#Fri Apr 22 16:57:09 PDT 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2-bin.zip
Loading

0 comments on commit 5acccfe

Please sign in to comment.