Code Monkey home page Code Monkey logo

trunk's Introduction

trunk

Build Status

A collection of C++/Java opensource projects with BUILD files so they can be easily built with bazel.

To try:

$ git clone https://github.com/mzhaom/trunk && cd trunk
$ git submodule update --init
$ bazel build examples/...

If you have used docker before, there is a docker image that has bazel installed with all the trunk source checked out, which can be tried with:

$ docker run --rm -ti bazelment/trunk:lrte
$ bazel build examples/...

Currently C++ projects can be only built on Linux x64 system.

C++

Java

  • grpc-java gRPC in Java
  • guava Guava: Google Core Libraries for Java
  • netty Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients.

trunk's People

Contributors

abergmeier-dsfishlabs avatar chengxu avatar hczhu avatar mkiedys avatar mzhaom avatar nofree5th avatar qzmfranklin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

trunk's Issues

This workspace shadows //third_party/jdk/...

I cloned bazel and this repository. It appears that I can't do a bazel fetch //... against this repository because it appears to shadow the //third_party/jdk from the base_workspace.

ERROR: /home/jeremyje/development/trunk/tools/defaults/BUILD:13:1: no such target '//tools/jdk:GenClass_deploy.jar': target 'GenClass_deploy.jar' not declared in package 'tools/jdk' defined by /home/jeremyje/development/trunk/tools/jdk/BUILD and referenced by '//tools/defaults:genclass'.

Also it's not clear how I use trunk workspace. I'm trying to use a separate workspace that utilize trunk and the base_workspace but it's not clear how to do that. Can you provide an example WORKSPACE file in the docs?

grpc_proto.bzl out of date?

I cloned the repo/submodules and tried to build the examples. It fails quickly with the following error. I am building with bazel 0.3.1rc2, but the same error occurs with 0.3.0. I have not tried earlier bazel versions.

bazel build examples/...:all
trunk/third_party/grpc/grpc_proto.bzl:116:12: Attribute 'attrs' either doesn't exist or uses a select() (i.e. could have multiple values)
Available attributes: $protoc, :action_listener, compatible_with, deprecation, deps, expect_failure, features, gen_cc, gen_java, generator_function, generator_location, generator_name, grpc_cpp_plugin, grpc_java_plugin, has_service, restricted_to, src, tags, testonly, visibility

Doesn't work on (some installs of) OSX

Some OSX machines have case-insensitive filesystems (as, apparently, mine does). Since both e.g. third_party/gflags/{BUILD,build} exist, git gets terribly confused.

Suggestion - rename the folder to something else :)

Msan instrumented lrte

Not an issue, but a feature request.

Given the recent changes that moved asan/msan/tsan to using LRTE, I think it would be really nice if the LRTE release would provide msan instrumented libc++ / libstdc++.

ERROR: Analysis of target '//examples/asan:leak' failed

After I cloned the repo, updated the modules and ran bazel build examples/...:all, I got the following error,

vagrant@vagrant-ubuntu-trusty-64:/trunk$ bazel build examples/...:all
..............................
WARNING: /trunk/tools/build_rules/run_under.bzl:55:14: Argument `cfg = "host"`, `cfg = "data"`, or `cfg = "target"` is required if `executable = True` is provided for a label. Please see https://www.bazel.build/versions/master/docs/skylark/rules.html#configurations for more details.
WARNING: /trunk/tools/build_rules/run_under.bzl:58:12: Argument `cfg = "host"`, `cfg = "data"`, or `cfg = "target"` is required if `executable = True` is provided for a label. Please see https://www.bazel.build/versions/master/docs/skylark/rules.html#configurations for more details.
WARNING: /trunk/tools/build_rules/run_under.bzl:63:11: Variables HOST_CFG and DATA_CFG are deprecated in favor of strings "host" and "data" correspondingly.
WARNING: /trunk/third_party/grpc/grpc_proto.bzl:72:14: Variables HOST_CFG and DATA_CFG are deprecated in favor of strings "host" and "data" correspondingly.
WARNING: /trunk/third_party/grpc/grpc_proto.bzl:77:22: Variables HOST_CFG and DATA_CFG are deprecated in favor of strings "host" and "data" correspondingly.
WARNING: /trunk/third_party/grpc/grpc_proto.bzl:85:23: Variables HOST_CFG and DATA_CFG are deprecated in favor of strings "host" and "data" correspondingly.
WARNING: /trunk/third_party/protobuf/upstream/protobuf.bzl:90:19: Variables HOST_CFG and DATA_CFG are deprecated in favor of strings "host" and "data" correspondingly.
WARNING: /trunk/third_party/protobuf/upstream/protobuf.bzl:96:28: Variables HOST_CFG and DATA_CFG are deprecated in favor of strings "host" and "data" correspondingly.
ERROR: /trunk/examples/asan/BUILD:8:1: in cc_binary rule //examples/asan:leak: non-test target '//examples/asan:leak' depends on testonly target '//third_party/gperftools:tcmalloc_heapcheck' and doesn't have testonly attribute set.
ERROR: Analysis of target '//examples/asan:leak' failed; build aborted.
INFO: Elapsed time: 11.762s

How to use this project

Is there a proper way to use this project? What I do is add my code on top of this project's workspace but there has to be a better way. The bazel workspace instructions are confusing here as well.

403 forbidden

I got an error like this:

no such package '@boost//': Error downloading [https://dl.bintray.com/boostorg/release/1.66.0/source  
/boost_1_66_0.tar.gz] to /home/thickey/.cache/bazel/_bazel_thickey/12ea4ca4c5b772e334d238b0acc653b5  
/external/boost/boost_1_66_0.tar.gz: GET returned 403 Forbidden and referenced by ...

I'm not sure if its a local problem or related to hosting.

third_party/protobuf/upstream is broken as of tags/v3.0.0-beta-1-bzl-fix~7

Have you seen this? As of the commit in the description, this breaks bazel with a bunch of errors of the pattern

The package third_party/protobuf/upstream is not within the path google/protobuf/internal/descriptor_pool_test1_pb2.py.

This was a commit late last year and remains broken in master.

I don't know if this should be considered an error upstream in that it breaks using the repo as a "subrepo"?

Comments?
Suggestions?

BUILD rules broken

The BUILD rules for this project used to work due to a bug in Bazel: see bazelbuild/bazel#473.

Since these build rules miss a bunch of internal headers, they no longer work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.