You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by sr...@apache.org on 2015/09/28 01:10:00 UTC

[1/2] storm git commit: STORM-1062. Establish the basic structure of the code generator.

Repository: storm
Updated Branches:
  refs/heads/STORM-1040 55ab04242 -> df49ca4bc


STORM-1062. Establish the basic structure of the code generator.


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/bef8bf5e
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/bef8bf5e
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/bef8bf5e

Branch: refs/heads/STORM-1040
Commit: bef8bf5ea29b1114aa1c99ee14382b576e315b8a
Parents: 55ab042
Author: Haohui Mai <wh...@apache.org>
Authored: Wed Sep 23 11:40:54 2015 -0700
Committer: Haohui Mai <wh...@apache.org>
Committed: Thu Sep 24 14:45:25 2015 -0700

----------------------------------------------------------------------
 .travis.yml                                     |  5 ++
 external/sql/storm-sql-core/pom.xml             | 56 +++++++++++++++++++
 .../storm/sql/compiler/TridentCompiler.java     | 38 +++++++++++++
 .../storm-sql-core/src/native/CMakeLists.txt    | 47 ++++++++++++++++
 .../src/native/bindings/CMakeLists.txt          | 18 ++++++
 .../src/native/bindings/jni/CMakeLists.txt      | 22 ++++++++
 .../src/native/bindings/jni/jni.cc              | 59 ++++++++++++++++++++
 .../src/native/cmake/FindLLVM.cmake             | 44 +++++++++++++++
 .../src/native/include/stormsql/stormsql.h      | 36 ++++++++++++
 .../src/native/lib/CMakeLists.txt               | 19 +++++++
 .../src/native/lib/tool/CMakeLists.txt          | 19 +++++++
 .../src/native/lib/tool/facade.cc               | 36 ++++++++++++
 .../storm/sql/compiler/TestTridentCompiler.java | 36 ++++++++++++
 13 files changed, 435 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index a7e2df4..ed8920c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,12 +10,17 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 language: java
+
 jdk:
   - oraclejdk7
   - oraclejdk8
+
 before_install:
   - rvm use 2.1.5 --install
   - nvm install 0.12.2
   - nvm use 0.12.2
+  - export CXX="clang++"
+
 install: /bin/bash ./dev-tools/travis/travis-install.sh `pwd`
+
 script: /bin/bash ./dev-tools/travis/travis-script.sh `pwd`

http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/external/sql/storm-sql-core/pom.xml
----------------------------------------------------------------------
diff --git a/external/sql/storm-sql-core/pom.xml b/external/sql/storm-sql-core/pom.xml
index 3ca1ced..64ee25b 100644
--- a/external/sql/storm-sql-core/pom.xml
+++ b/external/sql/storm-sql-core/pom.xml
@@ -211,6 +211,62 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>native-maven-plugin</artifactId>
+                <version>1.0-alpha-8</version>
+                <executions>
+                    <execution>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>javah</goal>
+                        </goals>
+                        <configuration>
+                            <javahPath>${env.JAVA_HOME}/bin/javah</javahPath>
+                            <javahClassNames>
+                                <javahClassName>org.apache.storm.sql.compiler.TridentCompiler</javahClassName>
+                            </javahClassNames>
+                            <javahOutputDirectory>${project.build.directory}/native/javah</javahOutputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <version>1.8</version>
+                <executions>
+                    <execution>
+                        <id>make</id>
+                        <phase>compile</phase>
+                        <goals><goal>run</goal></goals>
+                        <configuration>
+                            <target>
+                                <exec executable="cmake" dir="${project.build.directory}/native" failonerror="true">
+                                    <arg line="${basedir}/src/native -DGENERATED_JAVAH=${project.build.directory}/native/javah"/>
+                                </exec>
+                                <exec executable="make" dir="${project.build.directory}/native" failonerror="true"/>
+                                <copy todir="${project.build.directory}/lib">
+                                    <fileset dir="${project.build.directory}/native/bindings/jni">
+                                        <include name="libstormsql.*"/>
+                                    </fileset>
+                                </copy>
+                            </target>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemPropertyVariables>
+                        <java.library.path>${project.build.directory}/lib</java.library.path>
+                    </systemPropertyVariables>
+                    <forkMode>once</forkMode>
+                    <argLine>-Djava.library.path=${project.build.directory}/lib</argLine>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 </project>

http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/external/sql/storm-sql-core/src/jvm/org/apache/storm/sql/compiler/TridentCompiler.java
----------------------------------------------------------------------
diff --git a/external/sql/storm-sql-core/src/jvm/org/apache/storm/sql/compiler/TridentCompiler.java b/external/sql/storm-sql-core/src/jvm/org/apache/storm/sql/compiler/TridentCompiler.java
new file mode 100644
index 0000000..da4b193
--- /dev/null
+++ b/external/sql/storm-sql-core/src/jvm/org/apache/storm/sql/compiler/TridentCompiler.java
@@ -0,0 +1,38 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.storm.sql.compiler;
+
+import java.io.File;
+import java.io.IOException;
+
+public class TridentCompiler {
+  static {
+    System.loadLibrary("stormsql");
+  }
+
+  public void compile(File workingDir, String plan) throws IOException {
+    String[] s = new String[1];
+    int r = compile(plan, workingDir.getAbsolutePath(), s);
+    if (r != 0) {
+      throw new IOException(s[0]);
+    }
+  }
+
+  private static native int compile(String plan, String workingDir, String[]
+      msg);
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/external/sql/storm-sql-core/src/native/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/external/sql/storm-sql-core/src/native/CMakeLists.txt b/external/sql/storm-sql-core/src/native/CMakeLists.txt
new file mode 100644
index 0000000..6c0502c
--- /dev/null
+++ b/external/sql/storm-sql-core/src/native/CMakeLists.txt
@@ -0,0 +1,47 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
+
+if(POLICY CMP0042)
+  cmake_policy(SET CMP0042 NEW)
+endif()
+
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+
+find_package(JNI REQUIRED)
+find_package(LLVM REQUIRED)
+
+# The caller must specify where the generated headers have been placed.
+if(NOT GENERATED_JAVAH)
+    message(FATAL_ERROR "You must set the CMake variable GENERATED_JAVAH")
+endif()
+
+enable_testing()
+
+if(UNIX)
+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -std=c++11 -g -fPIC -fno-strict-aliasing -fno-exceptions")
+endif()
+
+if(APPLE)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
+endif()
+
+include_directories(include)
+
+add_subdirectory(lib)
+add_subdirectory(bindings)

http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/external/sql/storm-sql-core/src/native/bindings/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/external/sql/storm-sql-core/src/native/bindings/CMakeLists.txt b/external/sql/storm-sql-core/src/native/bindings/CMakeLists.txt
new file mode 100644
index 0000000..95c452a
--- /dev/null
+++ b/external/sql/storm-sql-core/src/native/bindings/CMakeLists.txt
@@ -0,0 +1,18 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+add_subdirectory(jni)

http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/external/sql/storm-sql-core/src/native/bindings/jni/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/external/sql/storm-sql-core/src/native/bindings/jni/CMakeLists.txt b/external/sql/storm-sql-core/src/native/bindings/jni/CMakeLists.txt
new file mode 100644
index 0000000..308d5bc
--- /dev/null
+++ b/external/sql/storm-sql-core/src/native/bindings/jni/CMakeLists.txt
@@ -0,0 +1,22 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+include_directories(${JNI_INCLUDE_DIRS} ${GENERATED_JAVAH})
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
+add_library(stormsql SHARED jni.cc)
+target_link_libraries(stormsql tool ${JAVA_JVM_LIBRARY})

http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/external/sql/storm-sql-core/src/native/bindings/jni/jni.cc
----------------------------------------------------------------------
diff --git a/external/sql/storm-sql-core/src/native/bindings/jni/jni.cc b/external/sql/storm-sql-core/src/native/bindings/jni/jni.cc
new file mode 100644
index 0000000..609c769
--- /dev/null
+++ b/external/sql/storm-sql-core/src/native/bindings/jni/jni.cc
@@ -0,0 +1,59 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "stormsql/stormsql.h"
+#include "org_apache_storm_sql_compiler_TridentCompiler.h"
+
+using namespace stormsql;
+
+#undef JNIEXPORT
+#define JNIEXPORT __attribute__ ((visibility ("default")))
+
+static inline std::string GetString(JNIEnv *env, jstring str) {
+  const char *ptr = env->GetStringUTFChars(str, nullptr);
+  jsize length = env->GetStringUTFLength(str);
+  std::string plan(ptr, length);
+  env->ReleaseStringUTFChars(str, ptr);
+  return plan;
+}
+
+JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void*)
+{
+  JNIEnv* env;
+  if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
+    return -1;
+  }
+
+  return JNI_VERSION_1_6;
+}
+
+JNIEXPORT jint JNICALL
+Java_org_apache_storm_sql_compiler_TridentCompiler_compile(JNIEnv *env, jclass,
+                                                           jstring plan,
+                                                           jstring working_dir,
+                                                           jobjectArray err) {
+  std::string msg;
+  int ret = CompilePlanToTrident(GetString(env, plan),
+                                 GetString(env, working_dir), &msg);
+  if (ret) {
+    jstring s = env->NewStringUTF(msg.c_str());
+    env->SetObjectArrayElement(err, 0, s);
+  }
+  return ret;
+}
+

http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/external/sql/storm-sql-core/src/native/cmake/FindLLVM.cmake
----------------------------------------------------------------------
diff --git a/external/sql/storm-sql-core/src/native/cmake/FindLLVM.cmake b/external/sql/storm-sql-core/src/native/cmake/FindLLVM.cmake
new file mode 100644
index 0000000..f2416c0
--- /dev/null
+++ b/external/sql/storm-sql-core/src/native/cmake/FindLLVM.cmake
@@ -0,0 +1,44 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+if (LLVM_INCLUDE_DIR)
+  set(LLVM_FOUND TRUE)
+endif()
+
+if (NOT LLVM_FOUND)
+  if (NOT LLVM_CONFIG)
+    find_program(LLVM_CONFIG NAMES llvm-config DOC "llvm-config executable")
+    if (${LLVM_CONFIG} STREQUAL LLVM_CONFIG-NOTFOUND)
+      message(FATAL_ERROR "Cannot find llvm-config")
+    endif()
+    mark_as_advanced(LLVM_CONFIG)
+  endif ()
+
+  execute_process(COMMAND ${LLVM_CONFIG} --cxxflags OUTPUT_VARIABLE LLVM_CXXFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+  execute_process(COMMAND ${LLVM_CONFIG} --ldflags --libs core OUTPUT_VARIABLE LLVM_LDFLAGS OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+  set(LLVM_LIBRARIES ${LLVM_LDFLAGS})
+  mark_as_advanced(LLVM_LIBRARIES)
+
+  execute_process(COMMAND ${LLVM_CONFIG} --version OUTPUT_VARIABLE LLVM_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
+  message(STATUS "Using LLVM ${LLVM_VERSION}")
+else()
+  if (LLVM_FIND_REQUIRED)
+    message(FATAL_ERROR "Could not find LLVM")
+  endif()
+ENDIF()

http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/external/sql/storm-sql-core/src/native/include/stormsql/stormsql.h
----------------------------------------------------------------------
diff --git a/external/sql/storm-sql-core/src/native/include/stormsql/stormsql.h b/external/sql/storm-sql-core/src/native/include/stormsql/stormsql.h
new file mode 100644
index 0000000..1840c50
--- /dev/null
+++ b/external/sql/storm-sql-core/src/native/include/stormsql/stormsql.h
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef STORMSQL_STORM_SQL_H_
+#define STORMSQL_STORM_SQL_H_
+
+#include <string>
+
+namespace stormsql {
+
+/**
+ * Compile the Calcite execution plan in JSON format into a lists of Java source
+ * files in the working directory.
+ *
+ * Return 0 if succeeds.
+ **/
+int CompilePlanToTrident(const std::string &plan,
+                         const std::string &working_dir, std::string *err);
+}
+
+#endif

http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/external/sql/storm-sql-core/src/native/lib/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/external/sql/storm-sql-core/src/native/lib/CMakeLists.txt b/external/sql/storm-sql-core/src/native/lib/CMakeLists.txt
new file mode 100644
index 0000000..055d8dd
--- /dev/null
+++ b/external/sql/storm-sql-core/src/native/lib/CMakeLists.txt
@@ -0,0 +1,19 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+add_subdirectory(tool)

http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/external/sql/storm-sql-core/src/native/lib/tool/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/external/sql/storm-sql-core/src/native/lib/tool/CMakeLists.txt b/external/sql/storm-sql-core/src/native/lib/tool/CMakeLists.txt
new file mode 100644
index 0000000..f54d62a
--- /dev/null
+++ b/external/sql/storm-sql-core/src/native/lib/tool/CMakeLists.txt
@@ -0,0 +1,19 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+add_library(tool facade.cc)

http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/external/sql/storm-sql-core/src/native/lib/tool/facade.cc
----------------------------------------------------------------------
diff --git a/external/sql/storm-sql-core/src/native/lib/tool/facade.cc b/external/sql/storm-sql-core/src/native/lib/tool/facade.cc
new file mode 100644
index 0000000..66148b5
--- /dev/null
+++ b/external/sql/storm-sql-core/src/native/lib/tool/facade.cc
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "stormsql/stormsql.h"
+
+namespace stormsql {
+
+/**
+ * Compile the Calcite execution plan in JSON format into a lists of Java source
+ * files in the working directory.
+ *
+ * Return 0 if succeeds.
+ **/
+int CompilePlanToTrident(const std::string &plan,
+                         const std::string &working_dir, std::string *err) {
+  (void)plan;
+  (void)working_dir;
+  (void)err;
+  return 0;
+}
+}

http://git-wip-us.apache.org/repos/asf/storm/blob/bef8bf5e/external/sql/storm-sql-core/src/test/org/apache/storm/sql/compiler/TestTridentCompiler.java
----------------------------------------------------------------------
diff --git a/external/sql/storm-sql-core/src/test/org/apache/storm/sql/compiler/TestTridentCompiler.java b/external/sql/storm-sql-core/src/test/org/apache/storm/sql/compiler/TestTridentCompiler.java
new file mode 100644
index 0000000..a0a2952
--- /dev/null
+++ b/external/sql/storm-sql-core/src/test/org/apache/storm/sql/compiler/TestTridentCompiler.java
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.storm.sql.compiler;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+
+import java.io.File;
+import java.io.IOException;
+
+public class TestTridentCompiler {
+  @Rule
+  public TemporaryFolder folder = new TemporaryFolder();
+  @Test
+  public void testNativeLoad() throws IOException {
+    TridentCompiler t = new TridentCompiler();
+    File workingDir = folder.newFolder();
+    t.compile(workingDir, "");
+  }
+}


[2/2] storm git commit: Added STORM-1062 to CHANGELOG.

Posted by sr...@apache.org.
Added STORM-1062 to CHANGELOG.


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/df49ca4b
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/df49ca4b
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/df49ca4b

Branch: refs/heads/STORM-1040
Commit: df49ca4bc3e80dbae2921594fe50702852e1348e
Parents: bef8bf5
Author: Sriharsha Chintalapani <ha...@hortonworks.com>
Authored: Sun Sep 27 16:05:27 2015 -0700
Committer: Sriharsha Chintalapani <ha...@hortonworks.com>
Committed: Sun Sep 27 16:05:27 2015 -0700

----------------------------------------------------------------------
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/df49ca4b/CHANGELOG.md
----------------------------------------------------------------------
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b4a667e..674d94e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,5 @@
 ## 0.11.0
+ * STORM-1062: Establish the basic structure of the code generator.
  * STORM-1054: Excessive logging ShellBasedGroupsMapping if the user doesn't have any groups.
  * STORM-954: Toplogy Event Inspector
  * STORM-862: Pluggable System Metrics