Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .bazeliskrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
USE_BAZEL_VERSION=6.4.0
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -87,4 +87,7 @@ releases

# Metals-generated sbt files
/project/**/metals.sbt
/project/**/metals.sbt.lock
/project/**/metals.sbt.lock

# Bazel temporary output
/bazel-*
77 changes: 77 additions & 0 deletions WORKSPACE
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
workspace(name = "chronon")

# Scala version used across the project
SCALA_VERSION = "2.12.18"

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

# Contains useful bazel utility functions and rules
http_archive(
name = "bazel_skylib",
sha256 = "bc283cdfcd526a52c3201279cda4bc298652efa898b10b4db0837dc51652756f",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz",
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz",
],
)

# For Java support
http_archive(
name = "rules_java",
sha256 = "e81e9deaae0d9d99ef3dd5f6c1b32338447fe16d5564155531ea4eb7ef38854b",
urls = [
"https://github.com/bazelbuild/rules_java/releases/download/7.0.6/rules_java-7.0.6.tar.gz",
],
)
load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
rules_java_dependencies()
rules_java_toolchains()
load("@rules_java//java:repositories.bzl", "remote_jdk17_repos")
remote_jdk17_repos()

# For JVM support
http_archive(
name = "rules_jvm_external",
strip_prefix = "rules_jvm_external-6.6",
sha256 = "3afe5195069bd379373528899c03a3072f568d33bd96fe037bd43b1f590535e7",
url = "https://github.com/bazel-contrib/rules_jvm_external/releases/download/6.6/rules_jvm_external-6.6.tar.gz"
)
load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")
rules_jvm_external_deps()
load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
rules_jvm_external_setup()

# For Scala support
http_archive(
name = "io_bazel_rules_scala",
sha256 = "e734eef95cf26c0171566bdc24d83bd82bdaf8ca7873bec6ce9b0d524bdaf05d",
strip_prefix = "rules_scala-6.6.0",
url = "https://github.com/bazelbuild/rules_scala/releases/download/v6.6.0/rules_scala-v6.6.0.tar.gz",
)
# Initialize Scala with specific version support
load("@io_bazel_rules_scala//:scala_config.bzl", "scala_config")
scala_config(scala_version = SCALA_VERSION)
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_repositories")
scala_repositories()
load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_register_toolchains")
scala_register_toolchains()
load("@io_bazel_rules_scala//testing:scalatest.bzl", "scalatest_repositories", "scalatest_toolchain")
scalatest_repositories()
scalatest_toolchain()

# For Protobuf support
http_archive(
name = "rules_proto",
sha256 = "dc3fb206a2cb3441b485eb1e423165b231235a1ea9b031b4433cf7bc1fa460dd",
strip_prefix = "rules_proto-5.3.0-21.7",
urls = [
"https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz",
],
)
load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains")
rules_proto_dependencies()
rules_proto_toolchains()

# To load all dependencies used across our modules
load("//tools/build_rules/dependencies:load_dependencies.bzl", "load_all_dependencies")
load_all_dependencies()
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ package ai.chronon.aggregator.row

import ai.chronon.aggregator.base.SimpleAggregator
import ai.chronon.api.Row
import ai.chronon.api.ScalaJavaConversions._

import java.util
import scala.util.ScalaJavaConversions.IteratorOps

class MapColumnAggregator[Input, IR, Output](agg: SimpleAggregator[Input, IR, Output],
columnIndices: ColumnIndices,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ package ai.chronon.aggregator.row

import ai.chronon.api
import ai.chronon.api.Extensions._
import ai.chronon.api.ScalaJavaConversions._
import org.apache.datasketches.kll.KllFloatsSketch
import org.apache.datasketches.memory.Memory

import java.util
import scala.collection.Seq
import scala.util.ScalaJavaConversions.JMapOps

/**
* Module managing FeatureStats Schema, Aggregations to be used by type and aggregator construction.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,10 @@ package ai.chronon.aggregator.windowing
import ai.chronon.api.Extensions.WindowOps
import ai.chronon.api.Extensions.WindowUtils
import ai.chronon.api.GroupBy
import ai.chronon.api.ScalaJavaConversions._
import ai.chronon.api.TimeUnit
import ai.chronon.api.Window

import scala.util.ScalaJavaConversions.ListOps

trait Resolution extends Serializable {
// For a given window what is the resolution of the tail
// The tail hops with the window size as represented by the return value
Expand Down
59 changes: 59 additions & 0 deletions api/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
load("@io_bazel_rules_scala//scala:scala.bzl", "scala_library", "scala_test_suite")
load("//tools/build_rules/thrift:thrift.bzl", "thrift_java_library")

scala_library(
name = "api-lib",
srcs = glob(["src/main/**/*.scala", "src/main/**/*.java"]),
visibility = ["//visibility:public"],
deps = [
":api-models",
"//tools/build_rules/spark:spark-exec",
maven_artifact("com.fasterxml.jackson.core:jackson-core"),
maven_artifact("com.fasterxml.jackson.core:jackson-databind"),
maven_artifact("org.slf4j:slf4j-api"),
maven_artifact("org.slf4j:slf4j-log4j12"),
maven_artifact("org.apache.commons:commons-lang3"),
maven_artifact("com.google.code.gson:gson"),
scala_artifact("org.scala-lang.modules:scala-collection-compat"),
scala_artifact("org.scala-lang.modules:scala-parser-combinators"),
],
)

scala_test_suite(
name = "api-test",
srcs = glob(["src/test/**/*.scala"]),
visibility = ["//visibility:public"],
deps = [
":api-models",
":api-lib",
"//tools/build_rules/spark:spark-exec",
maven_artifact("com.fasterxml.jackson.core:jackson-core"),
maven_artifact("com.fasterxml.jackson.core:jackson-databind"),
maven_artifact("org.apache.thrift:libthrift"),
maven_artifact("org.slf4j:slf4j-api"),
maven_artifact("org.slf4j:slf4j-log4j12"),
maven_artifact("junit:junit"),
maven_artifact("com.novocode:junit-interface"),
maven_artifact("org.mockito:mockito-core"),
scala_artifact("org.scala-lang.modules:scala-parser-combinators"),
scala_artifact("org.scala-lang.modules:scala-collection-compat"),
],
)

thrift_java_library(
name = "api-models-java",
srcs = glob(["thrift/*.thrift"]),
)

java_library(
name = "api-models",
srcs = [":api-models-java"] + glob(["src/main/java/ai/chronon/api/thrift/**/*.java"]),
visibility = ["//visibility:public"],
deps = [
maven_artifact("javax.annotation:javax.annotation.api"),
maven_artifact("org.slf4j:slf4j-api"),
maven_artifact("org.slf4j:slf4j-log4j12"),
maven_artifact("org.apache.commons:commons-lang3"),
maven_artifact("com.google.code.gson:gson"),
],
)

This file was deleted.

This file was deleted.

Loading
Loading