Skip to content

Commit f4f87e5

Browse files
committed
Basic infrastructure.
1 parent e645edd commit f4f87e5

11 files changed

+469
-0
lines changed

.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
*.java text eol=lf
2+
*.py text eol=lf
3+
*.sh text eol=lf
4+
.git* text eol=lf

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,17 @@
1010

1111
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
1212
hs_err_pid*
13+
14+
# Private things
15+
private/
16+
tmp/
17+
build/
18+
lib/
19+
out/
20+
*iws
21+
*ipr
22+
.settings/
23+
.gradle/
24+
.DS_Store*
25+
*.ipr
26+

build.gradle

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
//
2+
// The top-level h2o-dev project does not have any java pieces itself, but
3+
// apply from the standard java.gradle so that 'gradle idea' generates IDE
4+
// files with the right settings.
5+
//
6+
// The top-level h2o-dev.jar file that gets produced is empty and not usable
7+
// for anything. Use the jar file produced by the h2o-web subproject.
8+
//
9+
10+
// The build script settings to fetch plugins and put them on
11+
// classpath
12+
buildscript {
13+
repositories {
14+
mavenCentral()
15+
jcenter()
16+
maven { url "http://dl.bintray.com/releashaus/release" }
17+
}
18+
19+
dependencies {
20+
classpath 'com.github.jengelman.gradle.plugins:shadow:1.1.1'
21+
classpath 'org.github.mansur.scalastyle:gradle-scalastyle-plugin_2.10:0.4.1'
22+
}
23+
}
24+
25+
//
26+
// For all projects (this and all subprojects) specify common properties and tasks
27+
//
28+
configure(allprojects) { project ->
29+
group = 'ai.h2o'
30+
31+
apply plugin: 'idea'
32+
apply plugin: 'eclipse'
33+
apply from: "$rootDir/gradle/artifacts.gradle"
34+
35+
// Version of main components
36+
ext {
37+
scalaVersion = '2.10.4'
38+
scalaBinaryVersion = '2.10'
39+
h2oVersion = '0.1.6'
40+
sparkVersion = '1.1.0'
41+
}
42+
}
43+
44+
//
45+
// Common configuration for all subprojects
46+
//
47+
configure(subprojects) { project ->
48+
// All project inherits the same versioning number
49+
version = rootProject.version
50+
51+
repositories {
52+
mavenCentral()
53+
maven {
54+
url "https://repository.cloudera.com/artifactory/cloudera-repos/"
55+
}
56+
}
57+
58+
59+
// All subprojects are scala project so apply the plugin directly
60+
apply from: "$rootDir/gradle/scala.gradle"
61+
}
62+
63+
task wrapper(type: Wrapper) {
64+
gradleVersion = '2.0'
65+
}
66+

gradle.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
version=0.1.6-SNAPSHOT
2+
major=0
3+
minor=1
4+
incremental=6

gradle/artifacts.gradle

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Print all artifacts of given project
2+
task artifacts {
3+
group = "Help"
4+
description = "Displays the artifacts associated with each configuration of " + project
5+
doFirst {
6+
configurations.findAll().each { config ->
7+
println "${config}:"
8+
config.allArtifacts.getFiles().each { file -> println " " + file}
9+
println ' '
10+
}
11+
}
12+
}
13+

gradle/conf/scalastyle-config.xml

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
<!--
2+
~ Licensed to the Apache Software Foundation (ASF) under one or more
3+
~ contributor license agreements. See the NOTICE file distributed with
4+
~ this work for additional information regarding copyright ownership.
5+
~ The ASF licenses this file to You under the Apache License, Version 2.0
6+
~ (the "License"); you may not use this file except in compliance with
7+
~ the License. You may obtain a copy of the License at
8+
~
9+
~ http://www.apache.org/licenses/LICENSE-2.0
10+
~
11+
~ Unless required by applicable law or agreed to in writing, software
12+
~ distributed under the License is distributed on an "AS IS" BASIS,
13+
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
~ See the License for the specific language governing permissions and
15+
~ limitations under the License.
16+
-->
17+
<!-- If you wish to turn off checking for a section of code, you can put a comment in the source
18+
before and after the section, with the following syntax: -->
19+
<!-- // scalastyle:off -->
20+
<!-- ... -->
21+
<!-- // naughty stuff -->
22+
<!-- ... -->
23+
<!-- // scalastyle:on -->
24+
25+
<scalastyle>
26+
<name>Scalastyle standard configuration</name>
27+
<check level="error" class="org.scalastyle.file.FileTabChecker" enabled="true"></check>
28+
<!-- <check level="error" class="org.scalastyle.file.FileLengthChecker" enabled="true"> -->
29+
<!-- <parameters> -->
30+
<!-- <parameter name="maxFileLength"><![CDATA[800]]></parameter> -->
31+
<!-- </parameters> -->
32+
<!-- </check> -->
33+
<check level="error" class="org.scalastyle.file.HeaderMatchesChecker" enabled="true">
34+
<parameters>
35+
<parameter name="header"><![CDATA[/*
36+
* Licensed to the Apache Software Foundation (ASF) under one or more
37+
* contributor license agreements. See the NOTICE file distributed with
38+
* this work for additional information regarding copyright ownership.
39+
* The ASF licenses this file to You under the Apache License, Version 2.0
40+
* (the "License"); you may not use this file except in compliance with
41+
* the License. You may obtain a copy of the License at
42+
*
43+
* http://www.apache.org/licenses/LICENSE-2.0
44+
*
45+
* Unless required by applicable law or agreed to in writing, software
46+
* distributed under the License is distributed on an "AS IS" BASIS,
47+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
48+
* See the License for the specific language governing permissions and
49+
* limitations under the License.
50+
*/]]></parameter>
51+
</parameters>
52+
</check>
53+
<check level="error" class="org.scalastyle.scalariform.SpacesAfterPlusChecker" enabled="true"></check>
54+
<check level="error" class="org.scalastyle.file.WhitespaceEndOfLineChecker" enabled="false"></check>
55+
<check level="error" class="org.scalastyle.scalariform.SpacesBeforePlusChecker" enabled="true"></check>
56+
<check level="error" class="org.scalastyle.file.FileLineLengthChecker" enabled="true">
57+
<parameters>
58+
<parameter name="maxLineLength"><![CDATA[100]]></parameter>
59+
<parameter name="tabSize"><![CDATA[2]]></parameter>
60+
<parameter name="ignoreImports">true</parameter>
61+
</parameters>
62+
</check>
63+
<check level="error" class="org.scalastyle.scalariform.ClassNamesChecker" enabled="true">
64+
<parameters>
65+
<parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter>
66+
</parameters>
67+
</check>
68+
<check level="error" class="org.scalastyle.scalariform.ObjectNamesChecker" enabled="true">
69+
<parameters>
70+
<parameter name="regex"><![CDATA[[A-Z][A-Za-z]*]]></parameter>
71+
</parameters>
72+
</check>
73+
<check level="error" class="org.scalastyle.scalariform.PackageObjectNamesChecker" enabled="true">
74+
<parameters>
75+
<parameter name="regex"><![CDATA[^[a-z][A-Za-z]*$]]></parameter>
76+
</parameters>
77+
</check>
78+
<check level="error" class="org.scalastyle.scalariform.EqualsHashCodeChecker" enabled="false"></check>
79+
<!-- <check level="error" class="org.scalastyle.scalariform.IllegalImportsChecker" enabled="true"> -->
80+
<!-- <parameters> -->
81+
<!-- <parameter name="illegalImports"><![CDATA[sun._,java.awt._]]></parameter> -->
82+
<!-- </parameters> -->
83+
<!-- </check> -->
84+
<check level="error" class="org.scalastyle.scalariform.ParameterNumberChecker" enabled="true">
85+
<parameters>
86+
<parameter name="maxParameters"><![CDATA[10]]></parameter>
87+
</parameters>
88+
</check>
89+
<!-- <check level="error" class="org.scalastyle.scalariform.MagicNumberChecker" enabled="true"> -->
90+
<!-- <parameters> -->
91+
<!-- <parameter name="ignore"><![CDATA[-1,0,1,2,3]]></parameter> -->
92+
<!-- </parameters> -->
93+
<!-- </check> -->
94+
<check level="error" class="org.scalastyle.scalariform.NoWhitespaceBeforeLeftBracketChecker" enabled="false"></check>
95+
<check level="error" class="org.scalastyle.scalariform.NoWhitespaceAfterLeftBracketChecker" enabled="false"></check>
96+
<!-- <check level="error" class="org.scalastyle.scalariform.ReturnChecker" enabled="true"></check> -->
97+
<!-- <check level="error" class="org.scalastyle.scalariform.NullChecker" enabled="true"></check> -->
98+
<!-- <check level="error" class="org.scalastyle.scalariform.NoCloneChecker" enabled="true"></check> -->
99+
<!-- <check level="error" class="org.scalastyle.scalariform.NoFinalizeChecker" enabled="true"></check> -->
100+
<!-- <check level="error" class="org.scalastyle.scalariform.CovariantEqualsChecker" enabled="true"></check> -->
101+
<!-- <check level="error" class="org.scalastyle.scalariform.StructuralTypeChecker" enabled="true"></check> -->
102+
<!-- <check level="error" class="org.scalastyle.file.RegexChecker" enabled="true"> -->
103+
<!-- <parameters> -->
104+
<!-- <parameter name="regex"><![CDATA[println]]></parameter> -->
105+
<!-- </parameters> -->
106+
<!-- </check> -->
107+
<!-- <check level="error" class="org.scalastyle.scalariform.NumberOfTypesChecker" enabled="true"> -->
108+
<!-- <parameters> -->
109+
<!-- <parameter name="maxTypes"><![CDATA[30]]></parameter> -->
110+
<!-- </parameters> -->
111+
<!-- </check> -->
112+
<!-- <check level="error" class="org.scalastyle.scalariform.CyclomaticComplexityChecker" enabled="true"> -->
113+
<!-- <parameters> -->
114+
<!-- <parameter name="maximum"><![CDATA[10]]></parameter> -->
115+
<!-- </parameters> -->
116+
<!-- </check> -->
117+
<check level="error" class="org.scalastyle.scalariform.UppercaseLChecker" enabled="true"></check>
118+
<check level="error" class="org.scalastyle.scalariform.SimplifyBooleanExpressionChecker" enabled="false"></check>
119+
<check level="error" class="org.scalastyle.scalariform.IfBraceChecker" enabled="true">
120+
<parameters>
121+
<parameter name="singleLineAllowed"><![CDATA[true]]></parameter>
122+
<parameter name="doubleLineAllowed"><![CDATA[true]]></parameter>
123+
</parameters>
124+
</check>
125+
<!-- <check level="error" class="org.scalastyle.scalariform.MethodLengthChecker" enabled="true"> -->
126+
<!-- <parameters> -->
127+
<!-- <parameter name="maxLength"><![CDATA[50]]></parameter> -->
128+
<!-- </parameters> -->
129+
<!-- </check> -->
130+
<!-- <check level="error" class="org.scalastyle.scalariform.MethodNamesChecker" enabled="true"> -->
131+
<!-- <parameters> -->
132+
<!-- <parameter name="regex"><![CDATA[^[a-z][A-Za-z0-9]*$]]></parameter> -->
133+
<!-- </parameters> -->
134+
<!-- </check> -->
135+
<!-- <check level="error" class="org.scalastyle.scalariform.NumberOfMethodsInTypeChecker" enabled="true"> -->
136+
<!-- <parameters> -->
137+
<!-- <parameter name="maxMethods"><![CDATA[30]]></parameter> -->
138+
<!-- </parameters> -->
139+
<!-- </check> -->
140+
<!-- <check level="error" class="org.scalastyle.scalariform.PublicMethodsHaveTypeChecker" enabled="true"></check> -->
141+
<check level="error" class="org.scalastyle.file.NewLineAtEofChecker" enabled="true"></check>
142+
<check level="error" class="org.scalastyle.file.NoNewLineAtEofChecker" enabled="false"></check>
143+
<check level="error" class="org.apache.spark.scalastyle.SparkSpaceAfterCommentStartChecker" enabled="true"></check>
144+
</scalastyle>

gradle/scala.gradle

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
apply plugin: 'scala'
2+
3+
// Specify properties
4+
project.ext {
5+
scalaBinaryVersion = '2.10'
6+
scalaVersion = '2.10.4'
7+
}
8+
9+
// Activate Zinc compiler and configure scalac
10+
tasks.withType(ScalaCompile) {
11+
scalaCompileOptions.useCompileDaemon = false
12+
scalaCompileOptions.useAnt = false
13+
scalaCompileOptions.additionalParameters = ['-target:jvm-1.6']
14+
}
15+
16+
jar {
17+
baseName = "${project.name}_${scalaBinaryVersion}"
18+
}
19+
20+
// Create jar
21+
task testJar(type: Jar, dependsOn: testClasses) {
22+
baseName = "${project.name}_${scalaBinaryVersion}"
23+
appendix = 'test'
24+
from sourceSets.test.output
25+
}
26+
27+
// Create a configuration containing only for test artifacts
28+
configurations {
29+
testArchives
30+
}
31+
32+
// Explicitly
33+
artifacts {
34+
testArchives testJar
35+
}
36+
37+
// Enable scalastyle
38+
apply from: "$rootDir/gradle/scalastyle.gradle"
39+

gradle/scalastyle.gradle

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
apply plugin: 'scalaStyle'
2+
3+
scalaStyle {
4+
//configLocation = "$rootDir/gradle/conf/scalastyle_conf.xml"
5+
configLocation = "$rootDir/gradle/conf/scalastyle-config.xml"
6+
includeTestSourceDirectory = true
7+
source = "src/main/scala"
8+
testSource = "src/test/scala"
9+
}
10+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#Tue Aug 26 17:18:31 PDT 2014
2+
distributionBase=GRADLE_USER_HOME
3+
distributionPath=wrapper/dists
4+
zipStoreBase=GRADLE_USER_HOME
5+
zipStorePath=wrapper/dists
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-all.zip

0 commit comments

Comments
 (0)