Skip to content

Commit

Permalink
Toolchain (bazelbuild#3)
Browse files Browse the repository at this point in the history
* Add Travis CI support

* Add mono installation for trusty on travis

* Add stdlib

* Building nunit.framework

* Add defines attribute to dotnet_library and dotnet_binary. Build nunit.core

* Add resgen.exe to dotnet context

* Add resx rule

* Add DotnetResource provider

* Fixed reference to non-portable Win32 mono stdlib. Fix dependency on resources

* Added building nunit-console-runner

* Working on documentation

* Move examples

* Add dotnet_library test
  • Loading branch information
tomaszstrejczek committed Aug 18, 2018
1 parent 0ef9196 commit 15d56af
Show file tree
Hide file tree
Showing 97 changed files with 5,811 additions and 1,166 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,7 @@
/bazel-out
/bazel-rules_dotnet
/bazel-testlogs
.vscode
_build
_static
_templates
Empty file added .gitmodules
Empty file.
85 changes: 85 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# trusty beta image has jdk8, gcc4.8.4
dist: trusty
sudo: required
# xcode8 has jdk8
osx_image: xcode8.3
# Not technically required but suppresses 'Ruby' in Job status message.
language: java

os:
- linux
- osx

env:
# TODO(bazelbuild/continuous-integration#95): re-enable HEAD builds with stable URL
# - V=HEAD
- V=0.10.0

before_install:
- |
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
OS=darwin
brew install mono
else
sysctl kernel.unprivileged_userns_clone=1
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
sudo apt install apt-transport-https
echo "deb https://download.mono-project.com/repo/ubuntu stable-trusty main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
sudo apt install mono-devel
export RULES_DOTNET_USE_LOCAL_MONO=true
OS=linux
fi
if [[ "${V}" == "HEAD" ]]; then
# Determine last successful build number. This may change while we are
# downloading, so it's important to determine ahead of time, in case
# we need to resume the download.
CI_BASE="http://ci.bazel.io/view/Bazel%20bootstrap%20and%20maintenance/job/Bazel/PLATFORM_NAME=${OS}-x86_64/"
CI_INDEX_URL="${CI_BASE}/lastSuccessfulBuild/"
wget -q -O build-index.html "${CI_INDEX_URL}"
CI_BUILD=$(grep '<title>' build-index.html | sed -e 's/^.*#\([0-9]*\).*$/\1/')
# Determine the artifact name. This is normally, bazel--installer.sh,
# but it may be, for example, bazel-0.5rc2-installer.sh before a release.
CI_ARTIFACT=$(grep -o 'bazel-[^\"-]*-installer.sh' build-index.html | head -n 1)
URL="${CI_BASE}/${CI_BUILD}/artifact/output/ci/${CI_ARTIFACT}"
rm build-index.html
else
URL="https://github.com/bazelbuild/bazel/releases/download/${V}/bazel-${V}-installer-${OS}-x86_64.sh"
fi
wget -O install.sh "${URL}"
chmod +x install.sh
./install.sh --user
rm -f install.sh
script:
- |
bazel \
--batch \
--host_jvm_args=-Xmx500m \
--host_jvm_args=-Xms500m \
build \
-s \
--local_resources=400,1,1.0 \
//...
- |
bazel \
--batch \
--host_jvm_args=-Xmx500m \
--host_jvm_args=-Xms500m \
run \
-s \
--local_resources=400,1,1.0 \
//tests/examples/example_binary:hello
- |
bazel \
--batch \
--host_jvm_args=-Xmx500m \
--host_jvm_args=-Xms500m \
test \
-s \
--local_resources=400,1,1.0 \
--test_summary=detailed \
--test_output=all \
//...
notifications:
email: false
8 changes: 8 additions & 0 deletions BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
load("@io_bazel_rules_dotnet//dotnet/private:context.bzl", "dotnet_context_data")

dotnet_context_data(
name = "dotnet_context_data",
visibility = ["//visibility:public"],
)

exports_files(["AUTHORS"])
Loading

0 comments on commit 15d56af

Please sign in to comment.