Remove Bazel files

(cherry picked from commit 07adc3e571)
This commit is contained in:
Aitor Perez 2025-03-13 13:42:34 +00:00
parent 5cec8c416c
commit f68668c7db
No known key found for this signature in database
GPG Key ID: 24E81F3C627B6475
204 changed files with 0 additions and 30253 deletions

View File

@ -1,6 +0,0 @@
# .bazelignore behaves differently than .gitignore
# https://github.com/bazelbuild/bazel/issues/7093
.erlang.mk
deps/osiris
deps/ra
extra_deps

View File

@ -1,21 +0,0 @@
build --enable_bzlmod
build --registry=https://bcr.bazel.build/
build --registry=https://raw.githubusercontent.com/rabbitmq/bazel-central-registry/erlang-packages/
build --incompatible_strict_action_env
build --local_test_jobs=1
build --flag_alias=erlang_home=@rules_erlang//:erlang_home
build --flag_alias=erlang_version=@rules_erlang//:erlang_version
build --flag_alias=elixir_home=@rules_elixir//:elixir_home
build --flag_alias=test_build=//:enable_test_build
build --test_timeout=7200
build --combined_report=lcov
# Try importing a user specific .bazelrc
# You can create your own by copying and editing the template-user.bazelrc template:
# cp template-user.bazelrc user.bazelrc
try-import %workspace%/user.bazelrc

View File

@ -1 +0,0 @@
7.4.1

7
.github/mergify.yml vendored
View File

@ -1,11 +1,4 @@
pull_request_rules:
- name: Add bazel label if a Bazel file is modified
conditions:
- files~=\.(bazel|bzl)$
actions:
label:
add:
- bazel
- name: Add make label if a Make file is modified
conditions:
- files~=(Makefile|\.mk)$

View File

@ -1,37 +0,0 @@
name: Check Bazel/Erlang.mk Equivalence on Release Branches
on:
schedule:
- cron: '0 2 * * *'
workflow_dispatch:
jobs:
check-main:
uses: ./.github/workflows/check-build-system-equivalence.yaml
with:
ref: refs/heads/main
erlang_version: 26.2
elixir_version: 1.17
project_version: 4.0.0
check-v4_0_x:
uses: ./.github/workflows/check-build-system-equivalence.yaml
with:
ref: refs/heads/main
erlang_version: 26.2
elixir_version: 1.17
project_version: 4.0.0
check-v3_13_x:
uses: ./.github/workflows/check-build-system-equivalence.yaml
with:
ref: refs/heads/v3.13.x
erlang_version: 26.2
elixir_version: 1.17
project_version: 3.13.0
check-v3_12_x:
uses: ./.github/workflows/check-build-system-equivalence.yaml
with:
ref: refs/heads/v3.12.x
erlang_version: 26.1
elixir_version: 1.17
project_version: 3.12.0

View File

@ -1,155 +0,0 @@
name: Check Bazel/Erlang.mk Equivalence
on:
workflow_call:
inputs:
ref:
required: true
type: string
erlang_version:
required: true
type: string
elixir_version:
required: true
type: string
project_version:
required: true
type: string
workflow_dispatch:
inputs:
erlang_version:
description: 'OTP version to build with'
required: true
default: "26.2"
elixir_version:
description: 'Elixir version to build with'
required: true
default: "1.15"
project_version:
description: 'PROJECT_VERSION used for make'
required: true
default: "4.0.0"
env:
erlang_version: ${{ inputs.erlang_version || github.event.inputs.erlang_version }}
elixir_version: ${{ inputs.elixir_version || github.event.inputs.elixir_version }}
VERSION: ${{ inputs.project_version || github.event.inputs.project_version }}
PLUGINS: amqp10_common amqp10_client rabbitmq_amqp1_0 rabbitmq_auth_backend_cache rabbitmq_auth_backend_http rabbitmq_auth_backend_ldap rabbitmq_auth_backend_oauth2 rabbitmq_auth_mechanism_ssl rabbitmq_consistent_hash_exchange rabbitmq_event_exchange rabbitmq_federation rabbitmq_jms_topic_exchange rabbitmq_mqtt rabbitmq_random_exchange rabbitmq_recent_history_exchange rabbitmq_sharding rabbitmq_shovel rabbitmq_stomp rabbitmq_stream rabbitmq_trust_store rabbitmq_web_dispatch rabbitmq_management_agent rabbitmq_management rabbitmq_prometheus rabbitmq_federation_management rabbitmq_shovel_management rabbitmq_stream_management rabbitmq_top rabbitmq_tracing rabbitmq_web_mqtt rabbitmq_web_mqtt_examples rabbitmq_web_stomp rabbitmq_web_stomp_examples rabbitmq_aws rabbitmq_peer_discovery_common rabbitmq_peer_discovery_aws rabbitmq_peer_discovery_k8s rabbitmq_peer_discovery_consul rabbitmq_peer_discovery_etcd
EXTRA_PLUGINS: accept amqp_client aten base64url cowboy cowlib credentials_obfuscation cuttlefish eetcd enough gen_batch_server getopt gun jose observer_cli osiris prometheus quantile_estimator ra ranch recon redbug seshat stdout_formatter syslog sysmon_handler systemd thoas
jobs:
build-with-bazel:
name: bazel build package-generic-unix.tar.xz
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
with:
ref: ${{ inputs.ref || github.ref }}
- name: CONFIGURE ERLANG
uses: erlef/setup-beam@v1.17
with:
otp-version: ${{ env.erlang_version }}
elixir-version: ${{ env.elixir_version }}
- name: CONFIGURE BAZEL
run: |
cat << EOF >> user.bazelrc
build --disk_cache=
build --color=yes
EOF
- name: BUILD package-generic-unix.tar.xz
run: |
bazelisk build //:package-generic-unix
- name: RESOLVE ARCHIVES_DIR
run: |
echo "archives_dir=$(readlink -f bazel-bin)" >> $GITHUB_ENV
- name: UPLOAD package-generic-unix.tar.xz
uses: actions/upload-artifact@v4.3.2
with:
name: bazel-package-generic-unix-${{ env.VERSION }}.tar.xz
path: ${{ env.archives_dir }}/package-generic-unix.tar.xz
if-no-files-found: error
build-with-make:
name: make package-generic-unix.tar.xz
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
with:
path: rabbitmq
ref: ${{ inputs.ref || github.ref }}
- name: CONFIGURE ERLANG
uses: erlef/setup-beam@v1.17
with:
otp-version: ${{ env.erlang_version }}
elixir-version: ${{ env.elixir_version }}
- name: BUILD package-generic-unix.tar.xz
env:
MAKE: make
run: |
$MAKE -C rabbitmq \
source-dist \
PACKAGES_DIR="$PWD/PACKAGES" \
PLUGINS="$PLUGINS" \
PROJECT_VERSION="$VERSION"
$MAKE -C rabbitmq/packaging \
package-generic-unix \
PACKAGES_DIR="$PWD/PACKAGES" \
VERSION="$VERSION"
- name: UPLOAD package-generic-unix.tar.xz
uses: actions/upload-artifact@v4.3.2
with:
name: make-package-generic-unix-${{ env.VERSION }}.tar.xz
path: PACKAGES/rabbitmq-server-generic-unix-*.tar.xz
if-no-files-found: error
compare:
needs:
- build-with-bazel
- build-with-make
name: Compare package-generic-unix.tar.xz
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
with:
path: rabbitmq-server
ref: ${{ inputs.ref || github.ref }}
- name: CONFIGURE ERLANG
uses: erlef/setup-beam@v1.17
with:
otp-version: ${{ env.erlang_version }}
elixir-version: ${{ env.elixir_version }}
- name: DOWNLOAD bazel-package-generic-unix.tar.xz
uses: actions/download-artifact@v4
with:
name: bazel-package-generic-unix-${{ env.VERSION }}.tar.xz
- name: DOWNLOAD make-package-generic-unix.tar.xz
uses: actions/download-artifact@v4
with:
name: make-package-generic-unix-${{ env.VERSION }}.tar.xz
- name: EXPAND & COMPARE
run: |
mkdir bazel
pushd bazel
tar -xf ${{ github.workspace }}/package-generic-unix.tar.xz
find . | sort > ${{ github.workspace }}/bazel.manifest
popd
mkdir make
pushd make
tar -xf ${{ github.workspace }}/rabbitmq-server-generic-unix-*.tar.xz
# delete an empty directory
rm -d rabbitmq_server-*/plugins/rabbitmq_random_exchange-*/include
find . | sort > ${{ github.workspace }}/make.manifest
popd
tree -L 3 bazel
tree -L 3 make
sleep 1
set -x
./rabbitmq-server/tools/compare_dist.sh make bazel

View File

@ -1,47 +0,0 @@
name: Run gazelle (Scheduled)
on:
schedule:
- cron: '0 4 * * *'
jobs:
bazel-run-gazelle:
name: bazel run gazelle
runs-on: ubuntu-latest
strategy:
max-parallel: 1
fail-fast: false
matrix:
target_branch:
- main
- v4.0.x
- v3.13.x
- v3.12.x
timeout-minutes: 10
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
with:
ref: ${{ matrix.target_branch }}
- name: Configure Erlang
uses: erlef/setup-beam@v1
with:
otp-version: 26.2
elixir-version: 1.15
- name: BAZEL RUN GAZELLE
run: |
bazel run gazelle
- name: CREATE PULL REQUEST
uses: peter-evans/create-pull-request@v7.0.8
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
committer: GitHub <noreply@github.com>
author: GitHub <noreply@github.com>
title: bazel run gazelle
body: >
Automated changes created by
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
using the [create-pull-request](https://github.com/peter-evans/create-pull-request)
GitHub action in the ${{ github.workflow }} workflow.
commit-message: |
bazel run gazelle
branch: gazelle-${{ matrix.target_branch }}
delete-branch: true

View File

@ -1,42 +0,0 @@
name: Run gazelle
on:
workflow_dispatch:
inputs:
target_branch:
description: Branch on which to run
required: true
default: main
jobs:
bazel-run-gazelle:
name: bazel run gazelle
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.target_branch }}
- name: Configure Erlang
uses: erlef/setup-beam@v1
with:
otp-version: 26.2
elixir-version: 1.15
- name: BAZEL RUN GAZELLE
run: |
bazel run gazelle
- name: CREATE PULL REQUEST
uses: peter-evans/create-pull-request@v7.0.8
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
committer: GitHub <noreply@github.com>
author: GitHub <noreply@github.com>
title: bazel run gazelle
body: >
Automated changes created by
${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
using the [create-pull-request](https://github.com/peter-evans/create-pull-request)
GitHub action in the ${{ github.workflow }} workflow.
commit-message: |
bazel run gazelle
branch: gazelle-${{ github.event.inputs.target_branch }}
delete-branch: true

View File

@ -1,214 +0,0 @@
#@ load("@ytt:data", "data")
#@yaml/text-templated-strings
#@ def job_names(plugins):
#@ names = []
#@ for p in plugins:
#@ names.append("test-"+p+"-mixed")
#@ end
#@ return names
#@ end
#@ def sharded_job_names(plugin, shard_count):
#@ names = []
#@ for shard_index in range(0, shard_count):
#@ names.append("test-"+plugin+"-"+str(shard_index)+"-mixed")
#@ end
#@ return names
#@ end
---
name: Test Mixed Version Clusters
on:
push:
branches:
- main
- v4.0.x
- v3.13.x
- bump-otp-*
- bump-elixir-*
- bump-rbe-*
- bump-rules_erlang
paths:
- 'deps/**'
- 'scripts/**'
- Makefile
- plugins.mk
- rabbitmq-components.mk
- .bazelrc
- .bazelversion
- BUILD.*
- '*.bzl'
- '*.bazel'
- .github/workflows/test-mixed-versions.yaml
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
ensure-mixed-version-archive:
runs-on: ubuntu-22.04
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
with:
path: primary-umbrella
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
- name: CHECK FOR ARCHIVE ON S3
id: check
working-directory: primary-umbrella
run: |
set -u
ARCHIVE_URL="$(grep -Eo 'https://rabbitmq-github-actions.s3.eu-west-1.amazonaws.com.*.tar.xz' bazel/bzlmod/secondary_umbrella.bzl)"
echo "ARCHIVE_URL: ${ARCHIVE_URL}"
curl -LO "${ARCHIVE_URL}"
if xzcat --test package-generic-unix-for-mixed-version-testing-v*.tar.xz; then
exists=true
else
exists=false
fi
echo "exists=${exists}" | tee $GITHUB_ENV
OTP_VERSION=${ARCHIVE_URL#*secondary-umbrellas/}
OTP_VERSION=${OTP_VERSION%*/package-generic-unix-for-mixed-version-testing-v*.tar.xz}
echo "otp_version=${OTP_VERSION}" | tee -a $GITHUB_OUTPUT
VERSION=${ARCHIVE_URL#*package-generic-unix-for-mixed-version-testing-v}
VERSION=${VERSION%*.tar.xz}
echo "version=${VERSION}" | tee -a $GITHUB_OUTPUT
- name: CHECKOUT REPOSITORY (MIXED VERSION)
if: env.exists != 'true'
uses: actions/checkout@v4
with:
ref: v${{ steps.check.outputs.version }}
path: secondary-umbrella
- name: CONFIGURE OTP & ELIXIR
if: env.exists != 'true'
uses: erlef/setup-beam@v1.17
with:
otp-version: ${{ steps.check.outputs.otp_version }}
elixir-version: 1.15
hexpm-mirrors: |
https://builds.hex.pm
https://cdn.jsdelivr.net/hex
- name: AUTHENTICATE TO GOOGLE CLOUD
uses: google-github-actions/auth@v2.1.7
with:
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
- name: BUILD SECONDARY UMBRELLA ARCHIVE
if: env.exists != 'true'
working-directory: secondary-umbrella
run: |
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME_MIXED }}" ]; then
cat << EOF >> user.bazelrc
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME_MIXED }}
build --google_default_credentials
build --remote_download_toplevel
EOF
fi
sed -i"_orig" -E "/APP_VERSION/ s/3\.[0-9]+\.[0-9]+/${{ steps.check.outputs.version }}/" rabbitmq.bzl
bazelisk build :package-generic-unix \
--test_build \
--verbose_failures
OUTPUT_DIR=${{ github.workspace }}/output
mkdir -p ${OUTPUT_DIR}/${{ steps.check.outputs.otp_version }}
cp \
bazel-bin/package-generic-unix.tar.xz \
${OUTPUT_DIR}/${{ steps.check.outputs.otp_version }}/package-generic-unix-for-mixed-version-testing-v${{ steps.check.outputs.version }}.tar.xz
- name: UPLOAD THE ARCHIVE TO S3
if: env.exists != 'true'
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_REGION: ${{ secrets.AWS_REGION }}
SOURCE_DIR: output
DEST_DIR: secondary-umbrellas
check-workflow:
needs: ensure-mixed-version-archive
runs-on: ubuntu-latest
outputs:
repo_cache_key: ${{ steps.repo-cache-key.outputs.value }}
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
- name: SETUP ERLANG/ELIXIR
uses: erlef/setup-beam@v1
with:
otp-version: 26
elixir-version: 1.15
hexpm-mirrors: |
https://builds.hex.pm
https://cdn.jsdelivr.net/hex
- name: ENSURE WORKFLOWS ARE UP TO DATE
run: |
mkdir local-bin/
curl -L https://carvel.dev/install.sh | K14SIO_INSTALL_BIN_DIR=local-bin bash
make actions-workflows YTT=$PWD/local-bin/ytt
git diff --exit-code
- name: COMPUTE REPO CACHE KEY
id: repo-cache-key
run: |
echo "value=bazel-repo-cache-${{ hashFiles('MODULE.bazel') }}" | tee -a $GITHUB_OUTPUT
#@ for plugin in data.values.internal_deps:
test-(@= plugin @)-mixed:
needs: check-workflow
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: #@ plugin
secrets: inherit
#@ end
#@ rabbit_shard_count = 10
#@ for shard_index in range(0, rabbit_shard_count):
test-rabbit-(@= str(shard_index) @)-mixed:
needs: #@ ["check-workflow"] + job_names(data.values.internal_deps)
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbit
shard_index: #@ shard_index
shard_count: #@ rabbit_shard_count
secrets: inherit
#@ end
test-rabbitmq_cli-mixed:
needs: check-workflow
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_cli
secrets: inherit
#@ for plugin in data.values.tier1_plugins:
test-(@= plugin @)-mixed:
needs: #@ ["check-workflow"] + sharded_job_names("rabbit", rabbit_shard_count)
uses: ./.github/workflows/test-plugin-mixed.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: #@ plugin
secrets: inherit
#@ end
summary-test:
needs: #@ job_names(data.values.internal_deps + data.values.tier1_plugins) + sharded_job_names("rabbit", rabbit_shard_count) + ["test-rabbitmq_cli-mixed"]
runs-on: ubuntu-latest
steps:
- name: SUMMARY
run: |
cat << 'EOF' | jq -e 'map(.result == "success") | all(.)'
${{ toJson(needs) }}
EOF

View File

@ -1,152 +0,0 @@
#@ load("@ytt:data", "data")
#@yaml/text-templated-strings
#@ def job_names(plugins):
#@ names = []
#@ for p in plugins:
#@ names.append("test-"+p)
#@ end
#@ return names
#@ end
#@ def sharded_job_names(plugin, shard_count):
#@ names = []
#@ for shard_index in range(0, shard_count):
#@ names.append("test-"+plugin+"-"+str(shard_index))
#@ end
#@ return names
#@ end
---
name: Test
on:
push:
branches:
#! - main
- v4.0.x
- v3.13.x
- v3.12.x
- v3.11.x
- bump-otp-for-oci
- bump-rbe-*
- bump-rules_erlang
paths:
- 'deps/**'
- 'scripts/**'
- Makefile
- plugins.mk
- rabbitmq-components.mk
- .bazelrc
- .bazelversion
- BUILD.*
- '*.bzl'
- '*.bazel'
- .github/workflows/test.yaml
#! pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
check-workflow:
runs-on: ubuntu-latest
outputs:
repo_cache_key: ${{ steps.repo-cache-key.outputs.value }}
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
- name: SETUP ERLANG/ELIXIR
uses: erlef/setup-beam@v1
with:
otp-version: 26
elixir-version: 1.15
hexpm-mirrors: |
https://builds.hex.pm
https://cdn.jsdelivr.net/hex
- name: ENSURE WORKFLOWS ARE UP TO DATE
run: |
mkdir local-bin/
curl -L https://carvel.dev/install.sh | K14SIO_INSTALL_BIN_DIR=local-bin bash
make actions-workflows YTT=$PWD/local-bin/ytt
git diff --exit-code
- name: COMPUTE REPO CACHE KEY
id: repo-cache-key
run: |
echo "value=bazel-repo-cache-${{ hashFiles('MODULE.bazel') }}" | tee -a $GITHUB_OUTPUT
- name: AUTHENTICATE TO GOOGLE CLOUD
uses: google-github-actions/auth@v2.1.7
with:
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
- name: REPO CACHE
id: cache
uses: actions/cache@v4
with:
key: ${{ steps.repo-cache-key.outputs.value }}
path: /home/runner/repo-cache/
- name: PRIME CACHE
if: steps.cache.outputs.cache-hit != 'true'
run: |
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
cat << EOF >> user.bazelrc
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME }}
build --google_default_credentials
EOF
fi
cat << EOF >> user.bazelrc
build --repository_cache=/home/runner/repo-cache/
build --color=yes
EOF
bazelisk cquery \
'tests(//...) except attr("tags", "manual|mixed-version-cluster", //deps/...)' \
--output=label
#@ for plugin in data.values.internal_deps:
test-(@= plugin @):
needs: check-workflow
uses: ./.github/workflows/test-plugin.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: #@ plugin
secrets: inherit
#@ end
#@ rabbit_shard_count = 10
#@ for shard_index in range(0, rabbit_shard_count):
test-rabbit-(@= str(shard_index) @):
needs: #@ ["check-workflow"] + job_names(data.values.internal_deps)
uses: ./.github/workflows/test-plugin.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbit
shard_index: #@ shard_index
shard_count: #@ rabbit_shard_count
secrets: inherit
#@ end
test-rabbitmq_cli:
needs: check-workflow
uses: ./.github/workflows/test-plugin.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: rabbitmq_cli
secrets: inherit
#@ for plugin in data.values.tier1_plugins:
test-(@= plugin @):
needs: #@ ["check-workflow"] + sharded_job_names("rabbit", rabbit_shard_count)
uses: ./.github/workflows/test-plugin.yaml
with:
repo_cache_key: ${{ needs.check-workflow.outputs.repo_cache_key }}
plugin: #@ plugin
secrets: inherit
#@ end
summary-test:
needs: #@ job_names(data.values.internal_deps + data.values.tier1_plugins) + sharded_job_names("rabbit", rabbit_shard_count) + ["test-rabbitmq_cli"]
runs-on: ubuntu-latest
steps:
- name: SUMMARY
run: |
cat << 'EOF' | jq -e 'map(.result == "success") | all(.)'
${{ toJson(needs) }}
EOF

View File

@ -12,11 +12,6 @@ on:
- 'deps/rabbitmq_management/priv/**'
- 'deps/rabbitmq_management/selenium/**'
- 'scripts/**'
- .bazelrc
- .bazelversion
- BUILD.*
- '*.bzl'
- '*.bazel'
- .github/workflows/test-authnz.yaml
pull_request:
paths:

View File

@ -9,11 +9,6 @@ on:
- 'deps/rabbitmq_management/priv/**'
- 'deps/rabbitmq_web_dispatch/src/**'
- 'scripts/**'
- .bazelrc
- .bazelversion
- BUILD.*
- '*.bzl'
- '*.bazel'
- 'selenium/**'
- .github/workflows/test-management-ui.yaml

File diff suppressed because it is too large Load Diff

View File

@ -1,171 +0,0 @@
name: Test Plugin Mixed Version Clusters
on:
workflow_call:
inputs:
repo_cache_key:
required: true
type: string
plugin:
required: true
type: string
shard_index:
default: 0
type: number
shard_count:
default: 1
type: number
secrets:
REMOTE_CACHE_BUCKET_NAME_MIXED:
required: true
REMOTE_CACHE_CREDENTIALS_JSON:
required: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
erlang_version:
- 26
metadata_store:
- mnesia
- khepri
include:
- erlang_version: 26
elixir_version: 1.17
timeout-minutes: 120
steps:
- name: LOAD REPO CACHE
uses: actions/cache/restore@v4
with:
key: ${{ inputs.repo_cache_key }}
path: /home/runner/repo-cache/
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
- name: CONFIGURE OTP & ELIXIR
uses: erlef/setup-beam@v1.17
with:
otp-version: ${{ matrix.erlang_version }}
elixir-version: ${{ matrix.elixir_version }}
hexpm-mirrors: |
https://builds.hex.pm
https://cdn.jsdelivr.net/hex
- name: AUTHENTICATE TO GOOGLE CLOUD
uses: google-github-actions/auth@v2.1.8
with:
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
- name: CONFIGURE BAZEL
run: |
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME_MIXED }}" ]; then
cat << EOF >> user.bazelrc
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME_MIXED }}
build --google_default_credentials
build --experimental_guard_against_concurrent_changes
EOF
fi
cat << EOF >> user.bazelrc
build --repository_cache=/home/runner/repo-cache/
build --color=yes
EOF
bazelisk info release
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
- name: deps/amqp10_client SETUP
if: inputs.plugin == 'amqp10_client'
run: |
# reduce sandboxing so that activemq works
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbit SETUP
if: inputs.plugin == 'rabbit'
run: |
# reduce sandboxing so that maven works
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbitmq_auth_backend_ldap SETUP
if: inputs.plugin == 'rabbitmq_auth_backend_ldap'
run: |
sudo apt-get update && \
sudo apt-get install -y \
ldap-utils \
slapd
sudo systemctl is-active --quiet apparmor.service && sudo systemctl stop apparmor.service
sudo systemctl disable apparmor.service
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbitmq_mqtt SETUP
if: inputs.plugin == 'rabbitmq_mqtt'
run: |
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbitmq_peer_discovery_consul SETUP
if: inputs.plugin == 'rabbitmq_peer_discovery_consul'
run: |
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbitmq_stream SETUP
if: inputs.plugin == 'rabbitmq_stream'
run: |
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbitmq_stream_management SETUP
if: inputs.plugin == 'rabbitmq_stream_management'
run: |
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbitmq_tracing SETUP
if: inputs.plugin == 'rabbitmq_tracing'
run: |
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: COMPUTE TESTS IN SHARD
id: shard
run: |
bazelisk cquery \
'attr("tags", "mixed-version-cluster", tests(//deps/${{ inputs.plugin }}/...)) except attr("tags", "manual", //deps/${{ inputs.plugin }}/...)' \
--output=label \
| awk '{print $1;}' > tests.log
if [[ $(wc -l < tests.log) != "0" ]]; then
split -da 3 -l $((`wc -l < tests.log`/${{ inputs.shard_count }})) tests.log shard
printf -v padded_index "%03d" ${{ inputs.shard_index }}
echo "file=shard$padded_index" | tee -a $GITHUB_OUTPUT
else
echo "No tests in this shard"
echo "file=" | tee -a $GITHUB_OUTPUT
fi
- name: RUN TESTS
if: steps.shard.outputs.file != '' && inputs.plugin != 'rabbitmq_peer_discovery_aws'
run: |
echo "Tests in shard:"
cat ${{ steps.shard.outputs.file }}
echo ""
## WARNING:
## secrets must not be set in --test_env or --action_env,
## or otherwise logs must not be saved as artifacts.
## rabbit_ct_helpers or other code may log portions of the
## env vars and leak them
bazelisk test $(< ${{ steps.shard.outputs.file }}) \
--test_env RABBITMQ_METADATA_STORE=${{ matrix.metadata_store }} \
--build_tests_only \
--verbose_failures
- name: UPLOAD TEST LOGS
if: always()
uses: actions/upload-artifact@v4
with:
name: bazel-testlogs-${{ inputs.plugin }}-${{ inputs.shard_index }}-${{ matrix.erlang_version }}-${{ matrix.metadata_store }}-mixed
path: |
bazel-testlogs/deps/${{ inputs.plugin }}/*

View File

@ -1,172 +0,0 @@
name: Test Plugin
on:
workflow_call:
inputs:
repo_cache_key:
required: true
type: string
plugin:
required: true
type: string
shard_index:
default: 0
type: number
shard_count:
default: 1
type: number
secrets:
REMOTE_CACHE_BUCKET_NAME:
required: true
REMOTE_CACHE_CREDENTIALS_JSON:
required: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
erlang_version:
- 26
metadata_store:
- mnesia
- khepri
include:
- erlang_version: 26
elixir_version: 1.17
timeout-minutes: 120
steps:
- name: LOAD REPO CACHE
uses: actions/cache/restore@v4
with:
key: ${{ inputs.repo_cache_key }}
path: /home/runner/repo-cache/
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
- name: CONFIGURE OTP & ELIXIR
uses: erlef/setup-beam@v1.17
with:
otp-version: ${{ matrix.erlang_version }}
elixir-version: ${{ matrix.elixir_version }}
hexpm-mirrors: |
https://builds.hex.pm
https://cdn.jsdelivr.net/hex
- name: AUTHENTICATE TO GOOGLE CLOUD
uses: google-github-actions/auth@v2.1.8
with:
credentials_json: ${{ secrets.REMOTE_CACHE_CREDENTIALS_JSON }}
- name: CONFIGURE BAZEL
run: |
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
cat << EOF >> user.bazelrc
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME }}
build --google_default_credentials
build --experimental_guard_against_concurrent_changes
EOF
fi
cat << EOF >> user.bazelrc
build --repository_cache=/home/runner/repo-cache/
build --color=yes
EOF
bazelisk info release
#! - name: Setup tmate session
#! uses: mxschmitt/action-tmate@v3
- name: deps/amqp10_client SETUP
if: inputs.plugin == 'amqp10_client'
run: |
# reduce sandboxing so that activemq works
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbit SETUP
if: inputs.plugin == 'rabbit'
run: |
# reduce sandboxing so that maven works
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbitmq_auth_backend_ldap SETUP
if: inputs.plugin == 'rabbitmq_auth_backend_ldap'
run: |
sudo apt-get update && \
sudo apt-get install -y \
ldap-utils \
slapd
sudo systemctl is-active --quiet apparmor.service && sudo systemctl stop apparmor.service
sudo systemctl disable apparmor.service
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbitmq_mqtt SETUP
if: inputs.plugin == 'rabbitmq_mqtt'
run: |
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbitmq_peer_discovery_consul SETUP
if: inputs.plugin == 'rabbitmq_peer_discovery_consul'
run: |
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbitmq_stream SETUP
if: inputs.plugin == 'rabbitmq_stream'
run: |
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbitmq_stream_management SETUP
if: inputs.plugin == 'rabbitmq_stream_management'
run: |
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: deps/rabbitmq_tracing SETUP
if: inputs.plugin == 'rabbitmq_tracing'
run: |
cat << EOF >> user.bazelrc
build --strategy=TestRunner=local
EOF
- name: CLI COMPILE WARNINGS AS ERRORS
if: inputs.plugin == 'rabbitmq_cli'
run: |
bazel build //deps/rabbitmq_cli:compile_warnings_as_errors \
--verbose_failures
- name: COMPUTE TESTS IN SHARD
id: shard
run: |
bazelisk cquery \
'tests(//deps/${{ inputs.plugin }}/...) except attr("tags", "manual|mixed-version-cluster", //deps/...)' \
--output=label \
| awk '{print $1;}' > tests.log
split -da 3 -l $((`wc -l < tests.log`/${{ inputs.shard_count }})) tests.log shard
printf -v padded_index "%03d" ${{ inputs.shard_index }}
echo "file=shard$padded_index" | tee -a $GITHUB_OUTPUT
- name: RUN TESTS
if: inputs.plugin != 'rabbitmq_peer_discovery_aws'
run: |
echo "Tests in shard:"
cat ${{ steps.shard.outputs.file }}
echo ""
## WARNING:
## secrets must not be set in --test_env or --action_env,
## or otherwise logs must not be saved as artifacts.
## rabbit_ct_helpers or other code may log portions of the
## env vars and leak them
bazelisk test $(< ${{ steps.shard.outputs.file }}) \
--test_env RABBITMQ_METADATA_STORE=${{ matrix.metadata_store }} \
--build_tests_only \
--verbose_failures
- name: UPLOAD TEST LOGS
if: always()
uses: actions/upload-artifact@v4
with:
name: bazel-testlogs-${{ inputs.plugin }}-${{ inputs.shard_index }}-${{ matrix.erlang_version }}-${{ matrix.metadata_store }}
path: |
bazel-testlogs/deps/${{ inputs.plugin }}/*

View File

@ -1,67 +0,0 @@
name: Test Windows
on:
schedule:
- cron: '0 2 * * *'
workflow_dispatch:
jobs:
test:
name: Test Windows OTP26
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
include:
- erlang_version: "26.1"
elixir_version: "1.15.2"
metadata_store:
- mnesia
- khepri
timeout-minutes: 120
steps:
- name: CHECKOUT REPOSITORY
uses: actions/checkout@v4
- name: CONFIGURE ERLANG
uses: erlef/setup-beam@v1.17
with:
otp-version: ${{ matrix.erlang_version }}
elixir-version: ${{ matrix.elixir_version }}
#! - name: MOUNT BAZEL CACHE
#! uses: actions/cache@v1
#! with:
#! path: "/home/runner/repo-cache/"
#! key: repo-cache
- name: CONFIGURE BAZEL
id: configure
shell: bash
run: |
if [ -n "${{ secrets.REMOTE_CACHE_BUCKET_NAME }}" ]; then
cat << EOF >> user.bazelrc
build --remote_cache=https://storage.googleapis.com/${{ secrets.REMOTE_CACHE_BUCKET_NAME }}
build --google_default_credentials
EOF
fi
cat << EOF >> user.bazelrc
startup --output_user_root=C:/tmp
startup --windows_enable_symlinks
build --enable_runfiles
build --color=yes
EOF
bazelisk info release
- name: RUN TESTS
shell: cmd
run: |
bazelisk test //... ^
--config=buildbuddy ^
--test_env RABBITMQ_METADATA_STORE=${{ matrix.metadata_store }} ^
--test_tag_filters=-aws,-docker,-bats,-starts-background-broker,-dialyze ^
--build_tests_only ^
--verbose_failures
summary-windows:
needs:
- test
runs-on: ubuntu-latest
steps:
- name: SUMMARY
run: |
echo "SUCCESS"

File diff suppressed because it is too large Load Diff

6
.gitignore vendored
View File

@ -93,12 +93,6 @@ rebar.config
!/deps/amqp10_common/rebar.config
!/rebar.config
# Bazel.
.bazelrc
user.bazelrc
bazel-*
extra_deps/
# Erlang/OTP unwanted files.
.erlang.cookie
erl_crash.dump

102
BAZEL.md
View File

@ -1,102 +0,0 @@
# [Bazel](https://www.bazel.build/) build
From https://docs.bazel.build/versions/master/bazel-overview.html
> Bazel is an open-source build and test tool similar to Make, Maven, and Gradle. It uses a human-readable, high-level build language. Bazel supports projects in multiple languages and builds outputs for multiple platforms. Bazel supports large codebases across multiple repositories, and large numbers of users.
## Why RabbitMQ + Bazel?
RabbitMQ, Tier1 plugins included, is a large codebase. The developer experience benefits from fast incremental compilation.
More importantly, RabbitMQ's test suite is large and takes hours if run on a single machine. Bazel allows tests to be run in parallel on a large number of remote workers if needed, and furthermore uses cached test results when branches of the codebase remain unchanged.
Bazel does not provide built in Erlang or Elixir support, nor is there an available library of bazel rules. Therefore, we have defined our own rules in https://github.com/rabbitmq/bazel-erlang. Elixir compilation is handled as a special case within this repository. To use these rules, the location of your Erlang and Elixir installations must be indicated to the build (see below).
While most of work for running tests happens in Bazel, the suite still makes use of some external tools for commands, notably gnu `make` and `openssl`. Ideally we could bring all of these tools under bazel, so that the only tool needed would be `bazel` or `bazelisk`, but that will take some time.
## Running Tests
### Install Bazelisk
On **macOS**:
`brew install bazelisk`
Otherwise:
https://docs.bazel.build/versions/master/install-bazelisk.html
### Create `user.bazelrc`
Create a `user.bazelrc` by making a copy of `user-template.bazelrc` and updating the paths in the first few lines.
### Run the broker
`bazel run broker`
You can set different environment variables to control some configuration aspects, like this:
```
RABBITMQ_CONFIG_FILES=/path/to/conf.d \
RABBITMQ_NODENAME=<node>@localhost \
RABBITMQ_NODE_PORT=7000 \
bazel run broker
```
This will start RabbitMQ with configs being read from the provided directory. It also will start a node with a given node name, and with all listening ports calculated from the given one - this way you can start non-conflicting rabbits even from different checkouts on a single machine.
### Running tests
Many rabbit tests spawn single or clustered rabbit nodes, and therefore it's best to run test suites sequentially on a single machine. Hence the `build --local_test_jobs=1` flag used in `.bazelrc`. Additionally, it may be reasonable to disable test sharding and stream test output when running tests locally with `--test_output=streamed` as an additional argument (to just disable sharding, but not stream output, use `--test_sharding_strategy=disabled`). Naturally that restriction does not hold if utilizing remote execution (as is the case for RabbitMQ's CI pipelines).
Erlang Common Test logs will not be placed in the logs directory when run with bazel. They can be found under `bazel-testlogs`. For instance, those of the rabbit application's backing_queue suite will be under `bazel-testlogs/deps/rabbit/backing_queue_SUITE/test.outputs/`.
### Run all tests
Note: This takes quite some time on a single machine.
`bazel test //...`
### Run tests in a 'package' and its 'subpackages'
**rabbit** is an appropriate example because it encloses the **rabbitmq_prelaunch** application.
`bazel test deps/rabbit/...`
### Run tests for a specific 'package'
`bazel test deps/rabbit_common:all`
### Run an individual common test suite
`bazel test //deps/rabbit:lazy_queue_SUITE`
## Add/update an external dependency
### from hex.pm
1. `bazel run gazelle-update-repos -- hex.pm/accept@0.3.5` to generate/update `bazel/BUILD.accept`
1. Add/update the entry in MODULE.bazel
### from github
1. `bazel run gazelle-update-repos -- --testonly github.com/extend/ct_helper@master`
1. Add/update the entry in MODULE.bazel
## Update BUILD files
`bazel run gazelle`
## Regenerate moduleindex.yaml
`bazel run :moduleindex > moduleindex.yaml`
## Additional Useful Commands
- Format all bazel files consistently (requires [buildifier](https://github.com/bazelbuild/buildtools/blob/master/buildifier/README.md)):
`buildifier -r .`
- Remove unused load statements from BUILD.bazel files (requires [buildozer](https://github.com/bazelbuild/buildtools/blob/master/buildozer/README.md)):
`buildozer 'fix unusedLoads' //...:__pkg__`

View File

@ -1,8 +0,0 @@
filegroup(
name = "bin_dir",
srcs = glob([
"bin/**/*",
"libexec/**/*",
]),
visibility = ["//visibility:public"],
)

View File

@ -1,337 +0,0 @@
load(
"@bazel_skylib//rules:common_settings.bzl",
"bool_flag",
)
load("@rules_pkg//pkg:mappings.bzl", "pkg_files")
load("@bazel_gazelle//:def.bzl", "gazelle")
load("@rules_erlang//gazelle:def.bzl", "GAZELLE_ERLANG_RUNTIME_DEPS")
load("@rules_erlang//:erlang_bytecode2.bzl", "erlc_opts")
load("@rules_erlang//:dialyze.bzl", "DEFAULT_PLT_APPS", "plt")
load("@rules_erlang//:shell.bzl", "shell")
load("@rules_erlang//:erl_eval.bzl", "erl_eval")
load("@rules_erlang//gazelle:moduleindex.bzl", "moduleindex")
load("@rules_elixir//:iex_eval.bzl", "iex_eval")
load(":rabbitmq_home.bzl", "rabbitmq_home")
load(":rabbitmq_run.bzl", "rabbitmq_run", "rabbitmq_run_command")
load(":rabbitmqctl.bzl", "rabbitmqctl")
load(":dist.bzl", "package_generic_unix", "source_archive")
load(
":rabbitmq.bzl",
"RABBITMQ_ERLC_OPTS",
"RABBITMQ_TEST_ERLC_OPTS",
"all_plugins",
"without",
)
exports_files([
"scripts/bazel/rabbitmq-run.sh",
"scripts/bazel/rabbitmq-run.bat",
"release-notes",
])
# gazelle:exclude .github
# gazelle:exclude .elixir_ls
# gazelle:exclude .erlang.mk
# gazelle:exclude bazel
# gazelle:exclude bazel-out
# gazelle:exclude deps/*/priv
# gazelle:exclude deps/accept
# gazelle:exclude deps/aten
# gazelle:exclude deps/base64url
# gazelle:exclude deps/cowboy
# gazelle:exclude deps/cowlib
# gazelle:exclude deps/credentials_obfuscation
# gazelle:exclude deps/csv
# gazelle:exclude deps/cth_styledout
# gazelle:exclude deps/cuttlefish
# gazelle:exclude deps/eetcd
# gazelle:exclude deps/elvis_mk
# gazelle:exclude deps/enough
# gazelle:exclude deps/gen_batch_server
# gazelle:exclude deps/getopt
# gazelle:exclude deps/gun
# gazelle:exclude deps/inet_tcp_proxy
# gazelle:exclude deps/jose
# gazelle:exclude deps/json
# gazelle:exclude deps/meck
# gazelle:exclude deps/observer_cli
# gazelle:exclude deps/osiris
# gazelle:exclude deps/prometheus
# gazelle:exclude deps/proper
# gazelle:exclude deps/quantile_estimator
# gazelle:exclude deps/ra
# gazelle:exclude deps/ranch
# gazelle:exclude deps/recon
# gazelle:exclude deps/redbug
# gazelle:exclude deps/seshat
# gazelle:exclude deps/stdout_formatter
# gazelle:exclude deps/syslog
# gazelle:exclude deps/sysmon_handler
# gazelle:exclude deps/systemd
# gazelle:exclude deps/thoas
# gazelle:exclude deps/*/deps
# gazelle:exclude deps/*/.erlang.mk
# gazelle:exclude deps/rabbitmq_cli/_build
# gazelle:exclude extra_deps
# gazelle:exclude packaging
# gazelle:exclude PACKAGES
# gazelle:exclude plugins
# gazelle:exclude release-notes
# gazelle:exclude logs
# gazelle:erlang_apps_dirs deps
# gazelle:erlang_skip_rules test_erlang_app
# gazelle:erlang_skip_rules ct_test
# gazelle:erlang_generate_beam_files_macro
# gazelle:erlang_generate_fewer_bytecode_rules
# gazelle:erlang_app_dep_exclude rabbitmq_cli
# gazelle:map_kind erlang_app rabbitmq_app //:rabbitmq.bzl
# gazelle:map_kind assert_suites2 assert_suites //:rabbitmq.bzl
# gazelle:erlang_module_source_lib Elixir.RabbitMQ.CLI.CommandBehaviour:rabbitmq_cli
gazelle(
name = "gazelle",
data = GAZELLE_ERLANG_RUNTIME_DEPS,
extra_args = [
"--verbose",
],
gazelle = "@rules_erlang//gazelle:gazelle_erlang_binary",
)
gazelle(
name = "gazelle-update-repos",
command = "update-repos",
data = GAZELLE_ERLANG_RUNTIME_DEPS,
extra_args = [
"--verbose",
"--build_files_dir=bazel",
"--recurse_with=gazelle-update-repos",
],
gazelle = "@rules_erlang//gazelle:gazelle_erlang_binary",
)
bool_flag(
name = "enable_test_build",
build_setting_default = False,
visibility = ["//visibility:public"],
)
config_setting(
name = "test_build",
flag_values = {
"//:enable_test_build": "true",
},
)
plt(
name = "base_plt",
apps = DEFAULT_PLT_APPS + [
"compiler",
"crypto",
], # keep
visibility = ["//visibility:public"],
)
PLUGINS = all_plugins(
rabbitmq_workspace = "",
)
rabbitmq_home(
name = "broker-home",
plugins = PLUGINS,
)
rabbitmq_run(
name = "rabbitmq-run",
home = ":broker-home",
visibility = ["//visibility:public"],
)
# Allows us to `bazel run broker`
# for the equivalent of `make run-broker`
rabbitmq_run_command(
name = "broker",
rabbitmq_run = ":rabbitmq-run",
subcommand = "run-broker",
)
# Allows us to `bazel run background-broker`
# to start a broker in the background
rabbitmq_run_command(
name = "background-broker",
rabbitmq_run = ":rabbitmq-run",
subcommand = "start-background-broker",
)
# Allows us to `bazel run stop-broker`
# Useful is broker started in the background
rabbitmq_run_command(
name = "stop-broker",
rabbitmq_run = ":rabbitmq-run",
subcommand = "stop-node",
)
# Allows us to `bazel run start-cluster`
# for the equivalent of `make start-cluster`
rabbitmq_run_command(
name = "start-cluster",
rabbitmq_run = ":rabbitmq-run",
subcommand = "start-cluster",
)
# Allows us to `bazel run stop-cluster`
# for the equivalent of `make stop-cluster`
rabbitmq_run_command(
name = "stop-cluster",
rabbitmq_run = ":rabbitmq-run",
subcommand = "stop-cluster",
)
# `bazel run rabbitmqctl`
rabbitmqctl(
name = "rabbitmqctl",
home = ":broker-home",
visibility = ["//visibility:public"],
)
rabbitmqctl(
name = "rabbitmq-diagnostics",
home = ":broker-home",
)
rabbitmqctl(
name = "rabbitmq-plugins",
home = ":broker-home",
)
rabbitmqctl(
name = "rabbitmq-streams",
home = ":broker-home",
)
rabbitmqctl(
name = "rabbitmq-queues",
home = ":broker-home",
)
rabbitmqctl(
name = "rabbitmq-upgrade",
home = ":broker-home",
)
shell(
name = "repl",
deps = PLUGINS,
)
erl_eval(
name = "otp_version",
outs = ["otp_version.txt"],
expression = """{ok, Version} = file:read_file(filename:join([code:root_dir(), "releases", erlang:system_info(otp_release), "OTP_VERSION"])), file:write_file(os:getenv("OUTS"), Version), halt().""",
visibility = ["//visibility:public"],
)
iex_eval(
name = "elixir_version",
outs = ["elixir_version.txt"],
expression = """File.write!(System.get_env("OUTS"), System.version()); System.halt()""",
visibility = ["//visibility:public"],
)
filegroup(
name = "root-licenses",
srcs = glob(["LICENSE*"]),
visibility = ["//visibility:public"],
)
pkg_files(
name = "scripts-files",
srcs = [
"scripts/bash_autocomplete.sh",
"scripts/rabbitmq-script-wrapper",
"scripts/rabbitmqctl-autocomplete.sh",
"scripts/zsh_autocomplete.sh",
],
prefix = "scripts",
visibility = ["//visibility:public"],
)
pkg_files(
name = "release-notes-files",
srcs = glob([
"release-notes/*.md",
"release-notes/*.txt",
]),
prefix = "release-notes",
visibility = ["//visibility:public"],
)
package_generic_unix(
name = "package-generic-unix",
plugins = PLUGINS,
)
source_archive(
name = "source_archive",
plugins = PLUGINS,
)
moduleindex(
name = "moduleindex",
testonly = True,
apps = PLUGINS + [
"@ct_helper//:erlang_app",
"@emqtt//:erlang_app",
"@inet_tcp_proxy_dist//:erlang_app",
"@meck//:erlang_app",
"@proper//:erlang_app",
"//deps/rabbitmq_ct_client_helpers:erlang_app",
"//deps/rabbitmq_ct_helpers:erlang_app",
"//deps/trust_store_http:erlang_app",
],
tags = ["manual"],
)
alias(
name = "test-logs",
actual = "//bazel/util:test-logs",
)
alias(
name = "remote-test-logs",
actual = "//bazel/util:remote-test-logs",
)
alias(
name = "test-node-data",
actual = "//bazel/util:test-node-data",
)
alias(
name = "remote-test-node-data",
actual = "//bazel/util:remote-test-node-data",
)
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": without("+deterministic", RABBITMQ_ERLC_OPTS),
"//conditions:default": RABBITMQ_ERLC_OPTS,
}) + select({
":test_build": [
"-DTEST=1",
"+nowarn_export_all",
],
"//conditions:default": [],
}), # keep
visibility = [":__subpackages__"],
)
erlc_opts(
name = "test_erlc_opts",
values = select({
"@rules_erlang//:debug_build": without("+deterministic", RABBITMQ_TEST_ERLC_OPTS),
"//conditions:default": RABBITMQ_TEST_ERLC_OPTS,
}), # keep
visibility = [":__subpackages__"],
)

View File

@ -1,46 +0,0 @@
load("@//:rabbitmq_package_generic_unix.bzl", "rabbitmq_package_generic_unix")
load("@//:rabbitmq_run.bzl", "rabbitmq_run", "rabbitmq_run_command")
load("@//:rabbitmqctl.bzl", "rabbitmqctl")
rabbitmq_package_generic_unix(
name = "broker-home",
additional_files =
glob(
[
"sbin/*",
"escript/*",
],
exclude = ["sbin/rabbitmqctl"],
) + [
"//plugins:standard_plugins",
"//plugins:inet_tcp_proxy_ez",
],
rabbitmqctl = "sbin/rabbitmqctl",
)
rabbitmq_run(
name = "rabbitmq-run",
home = ":broker-home",
visibility = ["//visibility:public"],
)
rabbitmq_run_command(
name = "broker",
rabbitmq_run = ":rabbitmq-run",
subcommand = "run-broker",
)
rabbitmqctl(
name = "rabbitmqctl",
home = ":broker-home",
)
rabbitmqctl(
name = "rabbitmq-diagnostics",
home = ":broker-home",
)
rabbitmqctl(
name = "rabbitmq-plugins",
home = ":broker-home",
)

View File

@ -1,442 +0,0 @@
module(
name = "rabbitmq-server",
version = "4.0.0",
)
bazel_dep(
name = "rules_pkg",
version = "0.10.1",
)
bazel_dep(
name = "bazel_skylib",
version = "1.7.1",
)
bazel_dep(
name = "aspect_bazel_lib",
version = "2.5.3",
)
bazel_dep(
name = "platforms",
version = "0.0.8",
)
bazel_dep(
name = "rules_cc",
version = "0.0.9",
)
bazel_dep(
name = "rules_oci",
version = "1.7.4",
)
bazel_dep(
name = "container_structure_test",
version = "1.16.0",
)
bazel_dep(
name = "gazelle",
version = "0.33.0",
repo_name = "bazel_gazelle",
)
bazel_dep(
name = "rules_erlang",
version = "3.16.0",
)
bazel_dep(
name = "rules_elixir",
version = "1.1.0",
)
bazel_dep(
name = "rabbitmq_osiris",
version = "1.8.6",
repo_name = "osiris",
)
erlang_config = use_extension(
"@rules_erlang//bzlmod:extensions.bzl",
"erlang_config",
)
use_repo(
erlang_config,
"erlang_config",
)
elixir_config = use_extension(
"@rules_elixir//bzlmod:extensions.bzl",
"elixir_config",
)
use_repo(
elixir_config,
"elixir_config",
)
register_toolchains(
"@elixir_config//external:toolchain",
)
erlang_package = use_extension(
"@rules_erlang//bzlmod:extensions.bzl",
"erlang_package",
)
erlang_package.hex_package(
name = "accept",
build_file = "@rabbitmq-server//bazel:BUILD.accept",
sha256 = "11b18c220bcc2eab63b5470c038ef10eb6783bcb1fcdb11aa4137defa5ac1bb8",
version = "0.3.5",
)
erlang_package.hex_package(
name = "aten",
build_file = "@rabbitmq-server//bazel:BUILD.aten",
sha256 = "5f39a164206ae3f211ef5880b1f7819415686436e3229d30b6a058564fbaa168",
version = "0.6.0",
)
erlang_package.hex_package(
name = "base64url",
build_file = "@rabbitmq-server//bazel:BUILD.base64url",
sha256 = "f9b3add4731a02a9b0410398b475b33e7566a695365237a6bdee1bb447719f5c",
version = "1.0.1",
)
erlang_package.hex_package(
name = "cowboy",
build_file = "@rabbitmq-server//bazel:BUILD.cowboy",
patch_cmds = [
"rm ebin/cowboy.app",
],
sha256 = "8a7abe6d183372ceb21caa2709bec928ab2b72e18a3911aa1771639bef82651e",
version = "2.12.0",
)
erlang_package.hex_package(
name = "cowlib",
build_file = "@rabbitmq-server//bazel:BUILD.cowlib",
patch_cmds = [
"rm ebin/cowlib.app",
],
sha256 = "e1e1284dc3fc030a64b1ad0d8382ae7e99da46c3246b815318a4b848873800a4",
version = "2.13.0",
)
erlang_package.hex_package(
name = "credentials_obfuscation",
build_file = "@rabbitmq-server//bazel:BUILD.credentials_obfuscation",
sha256 = "738ace0ed5545d2710d3f7383906fc6f6b582d019036e5269c4dbd85dbced566",
version = "3.4.0",
)
erlang_package.hex_package(
name = "csv",
build_file = "@rabbitmq-server//bazel:BUILD.csv",
sha256 = "8f55a0524923ae49e97ff2642122a2ce7c61e159e7fe1184670b2ce847aee6c8",
version = "3.2.1",
)
erlang_package.hex_package(
name = "cuttlefish",
build_file = "@rabbitmq-server//bazel:BUILD.cuttlefish",
sha256 = "43cadd7f34b3dbbab52a7f4110d1df276a13cff5e11afe0f5a774f69f012b76b",
version = "3.4.0",
)
erlang_package.hex_package(
name = "eetcd",
build_file = "@rabbitmq-server//bazel:BUILD.eetcd",
sha256 = "66493bfd6698c1b6baa49679034c3def071ff329961ca1aa7b1dee061c2809af",
version = "0.3.6",
)
erlang_package.hex_package(
name = "enough",
build_file = "@rabbitmq-server//bazel:BUILD.enough",
sha256 = "0460c7abda5f5e0ea592b12bc6976b8a5c4b96e42f332059cd396525374bf9a1",
version = "0.1.0",
)
erlang_package.hex_package(
name = "gen_batch_server",
build_file = "@rabbitmq-server//bazel:BUILD.gen_batch_server",
sha256 = "c3e6a1a2a0fb62aee631a98cfa0fd8903e9562422cbf72043953e2fb1d203017",
version = "0.8.8",
)
erlang_package.hex_package(
name = "getopt",
build_file = "@rabbitmq-server//bazel:BUILD.getopt",
sha256 = "a0029aea4322fb82a61f6876a6d9c66dc9878b6cb61faa13df3187384fd4ea26",
version = "1.0.2",
)
erlang_package.hex_package(
name = "gun",
build_file = "@rabbitmq-server//bazel:BUILD.gun",
sha256 = "3106ce167f9c9723f849e4fb54ea4a4d814e3996ae243a1c828b256e749041e0",
version = "1.3.3",
)
erlang_package.hex_package(
name = "horus",
build_file = "@rabbitmq-server//bazel:BUILD.horus",
sha256 = "d564d30ebc274f0d92c3d44a336d0b892f000be159912ae4e6838701e85495ec",
version = "0.3.1",
)
erlang_package.hex_package(
name = "jose",
build_file = "@rabbitmq-server//bazel:BUILD.jose",
sha256 = "0d6cd36ff8ba174db29148fc112b5842186b68a90ce9fc2b3ec3afe76593e614",
version = "1.11.10",
)
erlang_package.hex_package(
name = "json",
build_file = "@rabbitmq-server//bazel:BUILD.json",
sha256 = "9abf218dbe4ea4fcb875e087d5f904ef263d012ee5ed21d46e9dbca63f053d16",
version = "1.4.1",
)
erlang_package.hex_package(
name = "khepri",
build_file = "@rabbitmq-server//bazel:BUILD.khepri",
sha256 = "feee8a0a1f3f78dd9f8860feacba63cc165c81af1b351600903e34a20676d5f6",
version = "0.16.0",
)
erlang_package.hex_package(
name = "khepri_mnesia_migration",
build_file = "@rabbitmq-server//bazel:BUILD.khepri_mnesia_migration",
sha256 = "24b87e51b9e46eaeeadb898720e12a58d501cbb05c16e28ca27063e66d60e85c",
version = "0.7.1",
)
erlang_package.hex_package(
name = "thoas",
build_file = "@rabbitmq-server//bazel:BUILD.thoas",
sha256 = "e38697edffd6e91bd12cea41b155115282630075c2a727e7a6b2947f5408b86a",
version = "1.2.1",
)
erlang_package.hex_package(
name = "observer_cli",
build_file = "@rabbitmq-server//bazel:BUILD.observer_cli",
sha256 = "93ae523d42d566b176f7ae77a0bf36802dab8bb51a6086316cce66a7cfb5d81f",
version = "1.8.2",
)
erlang_package.hex_package(
name = "prometheus",
build_file = "@rabbitmq-server//bazel:BUILD.prometheus",
sha256 = "719862351aabf4df7079b05dc085d2bbcbe3ac0ac3009e956671b1d5ab88247d",
version = "4.11.0",
)
erlang_package.hex_package(
name = "quantile_estimator",
build_file = "@rabbitmq-server//bazel:BUILD.quantile_estimator",
sha256 = "282a8a323ca2a845c9e6f787d166348f776c1d4a41ede63046d72d422e3da946",
version = "0.2.1",
)
erlang_package.hex_package(
name = "ra",
build_file = "@rabbitmq-server//bazel:BUILD.ra",
pkg = "ra",
sha256 = "4eeb135add249ae607d408f17f23ccf25b8f957edc523f5fbf20d7fc784532ca",
version = "2.16.2",
)
erlang_package.git_package(
name = "seshat",
build_file = "@rabbitmq-server//bazel:BUILD.seshat",
repository = "rabbitmq/seshat",
tag = "v0.6.1",
)
erlang_package.hex_package(
name = "ranch",
build_file = "@rabbitmq-server//bazel:BUILD.ranch",
patch_cmds = [
"rm ebin/ranch.app",
],
sha256 = "244ee3fa2a6175270d8e1fc59024fd9dbc76294a321057de8f803b1479e76916",
version = "2.1.0",
)
erlang_package.hex_package(
name = "recon",
build_file = "@rabbitmq-server//bazel:BUILD.recon",
sha256 = "96c6799792d735cc0f0fd0f86267e9d351e63339cbe03df9d162010cefc26bb0",
version = "2.5.6",
)
erlang_package.hex_package(
name = "redbug",
build_file = "@rabbitmq-server//bazel:BUILD.redbug",
sha256 = "3624feb7a4b78fd9ae0e66cc3158fe7422770ad6987a1ebf8df4d3303b1c4b0c",
version = "2.0.7",
)
erlang_package.hex_package(
name = "stdout_formatter",
build_file = "@rabbitmq-server//bazel:BUILD.stdout_formatter",
sha256 = "51f1df921b0477275ea712763042155dbc74acc75d9648dbd54985c45c913b29",
version = "0.2.4",
)
erlang_package.git_package(
build_file = "@rabbitmq-server//bazel:BUILD.syslog",
repository = "schlagert/syslog",
tag = "4.0.0",
)
erlang_package.hex_package(
name = "sysmon_handler",
build_file = "@rabbitmq-server//bazel:BUILD.sysmon_handler",
sha256 = "922cf0dd558b9fdb1326168373315b52ed6a790ba943f6dcbd9ee22a74cebdef",
version = "1.3.0",
)
erlang_package.hex_package(
name = "systemd",
build_file = "@rabbitmq-server//bazel:BUILD.systemd",
sha256 = "8ec5ed610a5507071cdb7423e663e2452a747a624bb8a58582acd9491ccad233",
version = "0.6.1",
)
use_repo(
erlang_package,
"accept",
"aten",
"base64url",
"cowboy",
"cowlib",
"credentials_obfuscation",
"csv",
"cuttlefish",
"eetcd",
"gen_batch_server",
"getopt",
"gun",
"horus",
"jose",
"json",
"khepri",
"khepri_mnesia_migration",
"observer_cli",
"prometheus",
"ra",
"ranch",
"recon",
"redbug",
"seshat",
"stdout_formatter",
"syslog",
"sysmon_handler",
"systemd",
"thoas",
)
erlang_dev_package = use_extension(
"@rules_erlang//bzlmod:extensions.bzl",
"erlang_package",
)
erlang_dev_package.hex_package(
name = "amqp",
build_file = "@rabbitmq-server//bazel:BUILD.amqp",
patch_args = ["-p1"],
patches = ["@rabbitmq-server//bazel:amqp.patch"],
sha256 = "8d3ae139d2646c630d674a1b8d68c7f85134f9e8b2a1c3dd5621616994b10a8b",
version = "3.3.0",
)
erlang_dev_package.git_package(
branch = "master",
build_file = "@//:bazel/BUILD.ct_helper",
repository = "ninenines/ct_helper",
)
erlang_dev_package.git_package(
name = "emqtt",
tag = "1.11.0",
build_file = "@rabbitmq-server//bazel:BUILD.emqtt",
repository = "emqx/emqtt",
)
erlang_dev_package.git_package(
name = "inet_tcp_proxy_dist",
testonly = True,
branch = "master",
repository = "rabbitmq/inet_tcp_proxy",
)
erlang_dev_package.git_package(
branch = "master",
build_file = "@rabbitmq-server//bazel:BUILD.meck",
repository = "eproxus/meck",
)
erlang_dev_package.git_package(
branch = "master",
build_file = "@rabbitmq-server//bazel:BUILD.proper",
repository = "manopapad/proper",
)
erlang_dev_package.hex_package(
name = "temp",
build_file = "@rabbitmq-server//bazel:BUILD.temp",
sha256 = "6af19e7d6a85a427478be1021574d1ae2a1e1b90882586f06bde76c63cd03e0d",
version = "0.4.7",
)
erlang_dev_package.hex_package(
name = "x509",
build_file = "@rabbitmq-server//bazel:BUILD.x509",
sha256 = "ccc3bff61406e5bb6a63f06d549f3dba3a1bbb456d84517efaaa210d8a33750f",
version = "0.8.8",
)
use_repo(
erlang_dev_package,
"amqp",
"ct_helper",
"emqtt",
"inet_tcp_proxy_dist",
"meck",
"proper",
"temp",
"x509",
)
secondary_umbrella = use_extension(
"//bazel/bzlmod:extensions.bzl",
"secondary_umbrella",
dev_dependency = True,
)
use_repo(
secondary_umbrella,
"rabbitmq-server-generic-unix-4.0",
)
hex = use_extension(
"//bazel/bzlmod:extensions.bzl",
"hex",
)
use_repo(
hex,
"hex",
)

View File

@ -76,7 +76,6 @@ endif
include erlang.mk
include mk/github-actions.mk
include mk/bazel.mk
# If PLUGINS was set when we use run-broker we want to
# fill in the enabled plugins list. PLUGINS is a more
@ -153,15 +152,12 @@ BASE_RSYNC_FLAGS += -a $(RSYNC_V) \
--exclude '.hg*' \
--exclude '.*.plt' \
--exclude '*.bzl' \
--exclude '*.bazel' \
--exclude '*.bazelrc' \
--exclude 'moduleindex.yaml' \
--exclude 'BUILD.*' \
--exclude 'erlang_ls.config' \
--exclude '$(notdir $(ERLANG_MK_TMP))' \
--exclude '_build/' \
--exclude '__pycache__/' \
--exclude 'bazel*/' \
--exclude 'tools/' \
--exclude 'ci/' \
--exclude 'cover/' \

View File

@ -1,50 +0,0 @@
workspace(name = "rabbitmq-server")
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file")
http_archive(
name = "rules_pkg",
sha256 = "d250924a2ecc5176808fc4c25d5cf5e9e79e6346d79d5ab1c493e289e722d1d0",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.10.1/rules_pkg-0.10.1.tar.gz",
"https://github.com/bazelbuild/rules_pkg/releases/download/0.10.1/rules_pkg-0.10.1.tar.gz",
],
)
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
rules_pkg_dependencies()
git_repository(
name = "rules_erlang",
remote = "https://github.com/rabbitmq/rules_erlang.git",
tag = "3.15.1",
)
load("@rules_erlang//:internal_deps.bzl", "rules_erlang_internal_deps")
rules_erlang_internal_deps()
load("@rules_erlang//:internal_setup.bzl", "rules_erlang_internal_setup")
rules_erlang_internal_setup(go_repository_default_config = "//:WORKSPACE")
load("@rules_erlang//gazelle:deps.bzl", "gazelle_deps")
gazelle_deps()
new_git_repository(
name = "bats",
build_file = "@//:BUILD.bats",
remote = "https://github.com/sstephenson/bats",
tag = "v0.4.0",
)
load("//deps/amqp10_client:activemq.bzl", "activemq_archive")
activemq_archive()
load("//bazel/bzlmod:secondary_umbrella.bzl", "secondary_umbrella")
secondary_umbrella()

View File

@ -1,102 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/accept_encoding_header.erl",
"src/accept_header.erl",
"src/accept_neg.erl",
"src/accept_parser.erl",
],
outs = [
"ebin/accept_encoding_header.beam",
"ebin/accept_header.beam",
"ebin/accept_neg.beam",
"ebin/accept_parser.beam",
],
hdrs = ["include/accept.hrl"],
app_name = "accept",
beam = [],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/accept.app.src",
"src/accept_encoding_header.erl",
"src/accept_header.erl",
"src/accept_neg.erl",
"src/accept_parser.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [],
)
filegroup(
name = "public_hdrs",
srcs = ["include/accept.hrl"],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = ["LICENSE"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "accept",
beam_files = [":beam_files"],
)
alias(
name = "accept",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,26 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlc_opts")
filegroup(
name = "sources",
srcs = [
"mix.exs",
] + glob([
"LICENSE*",
"lib/**/*",
]),
visibility = ["//visibility:public"],
)
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)

View File

@ -1,118 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/aten.erl",
"src/aten_app.erl",
"src/aten_detect.erl",
"src/aten_detector.erl",
"src/aten_emitter.erl",
"src/aten_sink.erl",
"src/aten_sup.erl",
],
outs = [
"ebin/aten.beam",
"ebin/aten_app.beam",
"ebin/aten_detect.beam",
"ebin/aten_detector.beam",
"ebin/aten_emitter.beam",
"ebin/aten_sink.beam",
"ebin/aten_sup.beam",
],
hdrs = [],
app_name = "aten",
beam = [],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/aten.app.src",
"src/aten.erl",
"src/aten_app.erl",
"src/aten_detect.erl",
"src/aten_detector.erl",
"src/aten_emitter.erl",
"src/aten_sink.erl",
"src/aten_sup.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [],
)
filegroup(
name = "public_hdrs",
srcs = [],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = [
"LICENSE",
"LICENSE-APACHE2",
"LICENSE-MPL-RabbitMQ",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
app_name = "aten",
beam_files = [":beam_files"],
extra_apps = [
"crypto",
"sasl",
],
)
alias(
name = "aten",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,96 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+warn_bif_clash",
"+warn_export_vars",
"+warn_format",
"+warn_obsolete_guard",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+warn_bif_clash",
"+warn_export_vars",
"+warn_format",
"+warn_obsolete_guard",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = ["src/base64url.erl"],
outs = ["ebin/base64url.beam"],
hdrs = [],
app_name = "base64url",
beam = [],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/base64url.app.src",
"src/base64url.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [],
)
filegroup(
name = "public_hdrs",
srcs = [],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = ["LICENSE.txt"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
app_name = "base64url",
beam_files = [":beam_files"],
)
alias(
name = "base64url",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

View File

@ -1,175 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+warn_export_vars",
"+warn_missing_spec",
"+warn_obsolete_guard",
"+warn_shadow_vars",
"+warn_untyped_record",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+warn_export_vars",
"+warn_missing_spec",
"+warn_obsolete_guard",
"+warn_shadow_vars",
"+warn_untyped_record",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "behaviours",
srcs = [
"src/cowboy_middleware.erl",
"src/cowboy_stream.erl",
"src/cowboy_sub_protocol.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "cowboy",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/cowboy.erl",
"src/cowboy_app.erl",
"src/cowboy_bstr.erl",
"src/cowboy_children.erl",
"src/cowboy_clear.erl",
"src/cowboy_clock.erl",
"src/cowboy_compress_h.erl",
"src/cowboy_constraints.erl",
"src/cowboy_decompress_h.erl",
"src/cowboy_handler.erl",
"src/cowboy_http.erl",
"src/cowboy_http2.erl",
"src/cowboy_loop.erl",
"src/cowboy_metrics_h.erl",
"src/cowboy_req.erl",
"src/cowboy_rest.erl",
"src/cowboy_router.erl",
"src/cowboy_static.erl",
"src/cowboy_stream_h.erl",
"src/cowboy_sup.erl",
"src/cowboy_tls.erl",
"src/cowboy_tracer_h.erl",
"src/cowboy_websocket.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "cowboy",
beam = [":behaviours"],
dest = "ebin",
erlc_opts = "//:erlc_opts",
deps = [
"@cowlib//:erlang_app",
"@ranch//:erlang_app",
],
)
filegroup(
name = "beam_files",
srcs = [
":behaviours",
":other_beam",
],
)
filegroup(
name = "srcs",
srcs = [
"src/cowboy.erl",
"src/cowboy_app.erl",
"src/cowboy_bstr.erl",
"src/cowboy_children.erl",
"src/cowboy_clear.erl",
"src/cowboy_clock.erl",
"src/cowboy_compress_h.erl",
"src/cowboy_constraints.erl",
"src/cowboy_decompress_h.erl",
"src/cowboy_handler.erl",
"src/cowboy_http.erl",
"src/cowboy_http2.erl",
"src/cowboy_loop.erl",
"src/cowboy_metrics_h.erl",
"src/cowboy_middleware.erl",
"src/cowboy_req.erl",
"src/cowboy_rest.erl",
"src/cowboy_router.erl",
"src/cowboy_static.erl",
"src/cowboy_stream.erl",
"src/cowboy_stream_h.erl",
"src/cowboy_sub_protocol.erl",
"src/cowboy_sup.erl",
"src/cowboy_tls.erl",
"src/cowboy_tracer_h.erl",
"src/cowboy_websocket.erl",
],
)
filegroup(name = "private_hdrs")
filegroup(name = "public_hdrs")
filegroup(name = "priv")
filegroup(
name = "licenses",
srcs = ["LICENSE"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = "Small, fast, modern HTTP server.",
app_name = "cowboy",
app_registered = ["cowboy_clock"],
app_version = "2.12.0",
beam_files = [":beam_files"],
extra_apps = ["crypto"],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"@cowlib//:erlang_app",
"@ranch//:erlang_app",
],
)
alias(
name = "cowboy",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
],
)

View File

@ -1,144 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/cow_base64url.erl",
"src/cow_cookie.erl",
"src/cow_date.erl",
"src/cow_hpack.erl",
"src/cow_http.erl",
"src/cow_http2.erl",
"src/cow_http2_machine.erl",
"src/cow_http_hd.erl",
"src/cow_http_struct_hd.erl",
"src/cow_http_te.erl",
"src/cow_iolists.erl",
"src/cow_link.erl",
"src/cow_mimetypes.erl",
"src/cow_multipart.erl",
"src/cow_qs.erl",
"src/cow_spdy.erl",
"src/cow_sse.erl",
"src/cow_uri.erl",
"src/cow_uri_template.erl",
"src/cow_ws.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "cowlib",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/cow_base64url.erl",
"src/cow_cookie.erl",
"src/cow_date.erl",
"src/cow_hpack.erl",
"src/cow_http.erl",
"src/cow_http2.erl",
"src/cow_http2_machine.erl",
"src/cow_http_hd.erl",
"src/cow_http_struct_hd.erl",
"src/cow_http_te.erl",
"src/cow_iolists.erl",
"src/cow_link.erl",
"src/cow_mimetypes.erl",
"src/cow_multipart.erl",
"src/cow_qs.erl",
"src/cow_spdy.erl",
"src/cow_sse.erl",
"src/cow_uri.erl",
"src/cow_uri_template.erl",
"src/cow_ws.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [
"src/cow_hpack_dec_huffman_lookup.hrl",
"src/cow_spdy.hrl",
],
)
filegroup(
name = "public_hdrs",
srcs = [
"include/cow_inline.hrl",
"include/cow_parse.hrl",
],
)
filegroup(name = "priv")
filegroup(
name = "licenses",
srcs = [
"LICENSE",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = "Support library for manipulating Web protocols.",
app_name = "cowlib",
app_version = "2.13.0",
beam_files = [":beam_files"],
extra_apps = ["crypto"],
license_files = [":license_files"],
priv = [":priv"],
)
alias(
name = "cowlib",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
],
)

View File

@ -1,111 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/credentials_obfuscation.erl",
"src/credentials_obfuscation_app.erl",
"src/credentials_obfuscation_pbe.erl",
"src/credentials_obfuscation_sup.erl",
"src/credentials_obfuscation_svc.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "credentials_obfuscation",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/credentials_obfuscation.app.src",
"src/credentials_obfuscation.erl",
"src/credentials_obfuscation_app.erl",
"src/credentials_obfuscation_pbe.erl",
"src/credentials_obfuscation_sup.erl",
"src/credentials_obfuscation_svc.erl",
],
)
filegroup(name = "private_hdrs")
filegroup(
name = "public_hdrs",
srcs = [
"include/credentials_obfuscation.hrl",
"include/otp_crypto.hrl",
],
)
filegroup(name = "priv")
filegroup(
name = "licenses",
srcs = [
"LICENSE",
"LICENSE-APACHE2",
"LICENSE-MPL-RabbitMQ",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "credentials_obfuscation",
beam_files = [":beam_files"],
extra_apps = ["crypto"],
license_files = [":license_files"],
priv = [":priv"],
)
alias(
name = "credentials_obfuscation",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
"LICENSE-APACHE2",
"LICENSE-MPL-RabbitMQ",
],
)

View File

@ -1,26 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlc_opts")
filegroup(
name = "sources",
srcs = [
"mix.exs",
] + glob([
"LICENSE*",
"lib/**/*",
]),
visibility = ["//visibility:public"],
)
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
Can't render this file because it contains an unexpected character in line 1 and column 6.

View File

@ -1,102 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
testonly = True,
srcs = [
"src/ct_helper.erl",
"src/ct_helper_error_h.erl"
],
outs = [
"ebin/ct_helper.beam",
"ebin/ct_helper_error_h.beam"
],
app_name = "ct_helper",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
testonly = True,
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
testonly = True,
srcs = [
"src/ct_helper.app.src",
"src/ct_helper.erl",
"src/ct_helper_error_h.erl"
],
)
filegroup(
name = "private_hdrs",
testonly = True,
)
filegroup(
name = "public_hdrs",
testonly = True,
)
filegroup(
name = "priv",
testonly = True,
)
filegroup(
name = "licenses",
testonly = True,
srcs = [
"LICENSE",
],
)
filegroup(
name = "public_and_private_hdrs",
testonly = True,
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
testonly = True,
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
testonly = True,
srcs = [":all_srcs"],
app_name = "ct_helper",
beam_files = [":beam_files"],
)
alias(
name = "ct_helper",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,163 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+warn_untyped_record",
"+warnings_as_errors",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+warn_untyped_record",
"+warnings_as_errors",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/conf_parse.erl",
"src/cuttlefish.erl",
"src/cuttlefish_advanced.erl",
"src/cuttlefish_bytesize.erl",
"src/cuttlefish_conf.erl",
"src/cuttlefish_datatypes.erl",
"src/cuttlefish_duration.erl",
"src/cuttlefish_duration_parse.erl",
"src/cuttlefish_effective.erl",
"src/cuttlefish_enum.erl",
"src/cuttlefish_error.erl",
"src/cuttlefish_escript.erl",
"src/cuttlefish_flag.erl",
"src/cuttlefish_generator.erl",
"src/cuttlefish_mapping.erl",
"src/cuttlefish_rebar_plugin.erl",
"src/cuttlefish_schema.erl",
"src/cuttlefish_translation.erl",
"src/cuttlefish_unit.erl",
"src/cuttlefish_util.erl",
"src/cuttlefish_validator.erl",
"src/cuttlefish_variable.erl",
"src/cuttlefish_vmargs.erl",
],
outs = [
"ebin/conf_parse.beam",
"ebin/cuttlefish.beam",
"ebin/cuttlefish_advanced.beam",
"ebin/cuttlefish_bytesize.beam",
"ebin/cuttlefish_conf.beam",
"ebin/cuttlefish_datatypes.beam",
"ebin/cuttlefish_duration.beam",
"ebin/cuttlefish_duration_parse.beam",
"ebin/cuttlefish_effective.beam",
"ebin/cuttlefish_enum.beam",
"ebin/cuttlefish_error.beam",
"ebin/cuttlefish_escript.beam",
"ebin/cuttlefish_flag.beam",
"ebin/cuttlefish_generator.beam",
"ebin/cuttlefish_mapping.beam",
"ebin/cuttlefish_rebar_plugin.beam",
"ebin/cuttlefish_schema.beam",
"ebin/cuttlefish_translation.beam",
"ebin/cuttlefish_unit.beam",
"ebin/cuttlefish_util.beam",
"ebin/cuttlefish_validator.beam",
"ebin/cuttlefish_variable.beam",
"ebin/cuttlefish_vmargs.beam",
],
hdrs = ["src/cuttlefish_duration.hrl"],
app_name = "cuttlefish",
beam = [],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/conf_parse.erl",
"src/cuttlefish.app.src",
"src/cuttlefish.erl",
"src/cuttlefish_advanced.erl",
"src/cuttlefish_bytesize.erl",
"src/cuttlefish_conf.erl",
"src/cuttlefish_datatypes.erl",
"src/cuttlefish_duration.erl",
"src/cuttlefish_duration_parse.erl",
"src/cuttlefish_effective.erl",
"src/cuttlefish_enum.erl",
"src/cuttlefish_error.erl",
"src/cuttlefish_escript.erl",
"src/cuttlefish_flag.erl",
"src/cuttlefish_generator.erl",
"src/cuttlefish_mapping.erl",
"src/cuttlefish_rebar_plugin.erl",
"src/cuttlefish_schema.erl",
"src/cuttlefish_translation.erl",
"src/cuttlefish_unit.erl",
"src/cuttlefish_util.erl",
"src/cuttlefish_validator.erl",
"src/cuttlefish_variable.erl",
"src/cuttlefish_vmargs.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = ["src/cuttlefish_duration.hrl"],
)
filegroup(
name = "public_hdrs",
srcs = [],
)
filegroup(
name = "priv",
srcs = ["priv/erlang_vm.schema"],
)
filegroup(
name = "licenses",
srcs = ["LICENSE"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
app_name = "cuttlefish",
beam_files = [":beam_files"],
deps = ["@getopt//:erlang_app"],
)
alias(
name = "cuttlefish",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,198 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/clients/eetcd_auth_gen.erl",
"src/clients/eetcd_cluster_gen.erl",
"src/clients/eetcd_election_gen.erl",
"src/clients/eetcd_health_gen.erl",
"src/clients/eetcd_kv_gen.erl",
"src/clients/eetcd_lease_gen.erl",
"src/clients/eetcd_lock_gen.erl",
"src/clients/eetcd_maintenance_gen.erl",
"src/clients/eetcd_watch_gen.erl",
"src/eetcd.erl",
"src/eetcd_app.erl",
"src/eetcd_auth.erl",
"src/eetcd_cluster.erl",
"src/eetcd_compare.erl",
"src/eetcd_conn.erl",
"src/eetcd_conn_sup.erl",
"src/eetcd_data_coercion.erl",
"src/eetcd_election.erl",
"src/eetcd_grpc.erl",
"src/eetcd_kv.erl",
"src/eetcd_lease.erl",
"src/eetcd_lease_sup.erl",
"src/eetcd_lock.erl",
"src/eetcd_maintenance.erl",
"src/eetcd_op.erl",
"src/eetcd_stream.erl",
"src/eetcd_sup.erl",
"src/eetcd_watch.erl",
"src/protos/auth_pb.erl",
"src/protos/gogo_pb.erl",
"src/protos/health_pb.erl",
"src/protos/kv_pb.erl",
"src/protos/router_pb.erl",
],
outs = [
"ebin/auth_pb.beam",
"ebin/eetcd.beam",
"ebin/eetcd_app.beam",
"ebin/eetcd_auth.beam",
"ebin/eetcd_auth_gen.beam",
"ebin/eetcd_cluster.beam",
"ebin/eetcd_cluster_gen.beam",
"ebin/eetcd_compare.beam",
"ebin/eetcd_conn.beam",
"ebin/eetcd_conn_sup.beam",
"ebin/eetcd_data_coercion.beam",
"ebin/eetcd_election.beam",
"ebin/eetcd_election_gen.beam",
"ebin/eetcd_grpc.beam",
"ebin/eetcd_health_gen.beam",
"ebin/eetcd_kv.beam",
"ebin/eetcd_kv_gen.beam",
"ebin/eetcd_lease.beam",
"ebin/eetcd_lease_gen.beam",
"ebin/eetcd_lease_sup.beam",
"ebin/eetcd_lock.beam",
"ebin/eetcd_lock_gen.beam",
"ebin/eetcd_maintenance.beam",
"ebin/eetcd_maintenance_gen.beam",
"ebin/eetcd_op.beam",
"ebin/eetcd_stream.beam",
"ebin/eetcd_sup.beam",
"ebin/eetcd_watch.beam",
"ebin/eetcd_watch_gen.beam",
"ebin/gogo_pb.beam",
"ebin/health_pb.beam",
"ebin/kv_pb.beam",
"ebin/router_pb.beam",
],
hdrs = [
"include/eetcd.hrl",
],
app_name = "eetcd",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/clients/eetcd_auth_gen.erl",
"src/clients/eetcd_cluster_gen.erl",
"src/clients/eetcd_election_gen.erl",
"src/clients/eetcd_health_gen.erl",
"src/clients/eetcd_kv_gen.erl",
"src/clients/eetcd_lease_gen.erl",
"src/clients/eetcd_lock_gen.erl",
"src/clients/eetcd_maintenance_gen.erl",
"src/clients/eetcd_watch_gen.erl",
"src/eetcd.app.src",
"src/eetcd.erl",
"src/eetcd_app.erl",
"src/eetcd_auth.erl",
"src/eetcd_cluster.erl",
"src/eetcd_compare.erl",
"src/eetcd_conn.erl",
"src/eetcd_conn_sup.erl",
"src/eetcd_data_coercion.erl",
"src/eetcd_election.erl",
"src/eetcd_grpc.erl",
"src/eetcd_kv.erl",
"src/eetcd_lease.erl",
"src/eetcd_lease_sup.erl",
"src/eetcd_lock.erl",
"src/eetcd_maintenance.erl",
"src/eetcd_op.erl",
"src/eetcd_stream.erl",
"src/eetcd_sup.erl",
"src/eetcd_watch.erl",
"src/protos/auth_pb.erl",
"src/protos/gogo_pb.erl",
"src/protos/health_pb.erl",
"src/protos/kv_pb.erl",
"src/protos/router_pb.erl",
],
)
filegroup(name = "private_hdrs")
filegroup(
name = "public_hdrs",
srcs = [
"include/eetcd.hrl",
],
)
filegroup(
name = "priv",
srcs = [
"priv/protos",
"priv/protos/auth.proto",
"priv/protos/gogo.proto",
"priv/protos/kv.proto",
"priv/protos/router.proto",
],
)
filegroup(
name = "licenses",
srcs = [
"LICENSE",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "eetcd",
beam_files = [":beam_files"],
deps = ["@gun//:erlang_app"],
)
alias(
name = "eetcd",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,152 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
# gazelle:erlang_erlc_opt -DBUILD_WITHOUT_QUIC
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+warn_export_all",
"+warn_obsolete_guard",
"+warn_shadow_vars",
"+warn_unused_import",
"+warn_unused_vars",
"-DBUILD_WITHOUT_QUIC",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+warn_export_all",
"+warn_obsolete_guard",
"+warn_shadow_vars",
"+warn_unused_import",
"+warn_unused_vars",
"-DBUILD_WITHOUT_QUIC",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
testonly = True,
srcs = [
"src/emqtt.erl",
"src/emqtt_cli.erl",
"src/emqtt_frame.erl",
"src/emqtt_inflight.erl",
"src/emqtt_props.erl",
"src/emqtt_quic.erl",
"src/emqtt_quic_connection.erl",
"src/emqtt_quic_stream.erl",
"src/emqtt_secret.erl",
"src/emqtt_sock.erl",
"src/emqtt_ws.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "emqtt",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
testonly = True,
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
testonly = True,
srcs = [
"src/emqtt.app.src",
"src/emqtt.erl",
"src/emqtt_cli.erl",
"src/emqtt_frame.erl",
"src/emqtt_inflight.erl",
"src/emqtt_props.erl",
"src/emqtt_quic.erl",
"src/emqtt_quic_connection.erl",
"src/emqtt_quic_stream.erl",
"src/emqtt_secret.erl",
"src/emqtt_sock.erl",
"src/emqtt_ws.erl",
],
)
filegroup(
name = "private_hdrs",
testonly = True,
srcs = glob(["src/**/*.hrl"]),
)
filegroup(
name = "public_hdrs",
testonly = True,
srcs = [
"include/emqtt.hrl",
"include/logger.hrl",
],
)
filegroup(
name = "priv",
testonly = True,
srcs = glob(["priv/**/*"]),
)
filegroup(
name = "licenses",
testonly = True,
srcs = [
"LICENSE",
],
)
filegroup(
name = "public_and_private_hdrs",
testonly = True,
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
testonly = True,
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
testonly = True,
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "emqtt",
beam_files = [":beam_files"],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"@cowlib//:erlang_app",
"@getopt//:erlang_app",
"@gun//:erlang_app",
],
)
alias(
name = "emqtt",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
filegroup(
name = "license_files",
testonly = True,
srcs = glob(["LICENSE*"]),
)

View File

@ -1,88 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = ["src/enough.erl"],
outs = ["ebin/enough.beam"],
hdrs = ["src/enough.hrl"],
app_name = "enough",
beam = [],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/enough.app.src",
"src/enough.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = ["src/enough.hrl"],
)
filegroup(
name = "public_hdrs",
srcs = [],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = ["LICENSE"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
app_name = "enough",
beam_files = [":beam_files"],
)
alias(
name = "enough",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,10 +0,0 @@
filegroup(
name = "sources",
srcs = [
"mix.exs",
] + glob([
"LICENSE*",
"lib/**/*",
]),
visibility = ["//visibility:public"],
)

View File

@ -1,100 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+recv_opt_info",
"+warn_export_vars",
"+warn_obsolete_guard",
"+warn_shadow_vars",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+recv_opt_info",
"+warn_export_vars",
"+warn_obsolete_guard",
"+warn_shadow_vars",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = ["src/gen_batch_server.erl"],
outs = ["ebin/gen_batch_server.beam"],
hdrs = [],
app_name = "gen_batch_server",
beam = [],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/gen_batch_server.app.src",
"src/gen_batch_server.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [],
)
filegroup(
name = "public_hdrs",
srcs = [],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = [
"LICENSE",
"LICENSE-APACHE2",
"LICENSE-MPL-RabbitMQ",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
app_name = "gen_batch_server",
beam_files = [":beam_files"],
)
alias(
name = "gen_batch_server",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,116 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+strict_validation",
"+warn_bif_clash",
"+warn_deprecated_function",
"+warn_export_all",
"+warn_export_vars",
"+warn_exported_vars",
"+warn_missing_spec",
"+warn_obsolete_guard",
"+warn_shadow_vars",
"+warn_untyped_record",
"+warn_unused_function",
"+warn_unused_import",
"+warn_unused_record",
"+warn_unused_vars",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+strict_validation",
"+warn_bif_clash",
"+warn_deprecated_function",
"+warn_export_all",
"+warn_export_vars",
"+warn_exported_vars",
"+warn_missing_spec",
"+warn_obsolete_guard",
"+warn_shadow_vars",
"+warn_untyped_record",
"+warn_unused_function",
"+warn_unused_import",
"+warn_unused_record",
"+warn_unused_vars",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = ["src/getopt.erl"],
outs = ["ebin/getopt.beam"],
hdrs = [],
app_name = "getopt",
beam = [],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/getopt.app.src",
"src/getopt.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [],
)
filegroup(
name = "public_hdrs",
srcs = [],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = ["LICENSE.txt"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
app_name = "getopt",
beam_files = [":beam_files"],
)
alias(
name = "getopt",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,143 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+warn_export_vars",
"+warn_obsolete_guard",
"+warn_shadow_vars",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+warn_export_vars",
"+warn_obsolete_guard",
"+warn_shadow_vars",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "behaviours",
srcs = ["src/gun_content_handler.erl"],
outs = ["ebin/gun_content_handler.beam"],
hdrs = [],
app_name = "gun",
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/gun.erl",
"src/gun_app.erl",
"src/gun_data_h.erl",
"src/gun_http.erl",
"src/gun_http2.erl",
"src/gun_sse_h.erl",
"src/gun_sup.erl",
"src/gun_tcp.erl",
"src/gun_tls.erl",
"src/gun_ws.erl",
"src/gun_ws_h.erl",
],
outs = [
"ebin/gun.beam",
"ebin/gun_app.beam",
"ebin/gun_data_h.beam",
"ebin/gun_http.beam",
"ebin/gun_http2.beam",
"ebin/gun_sse_h.beam",
"ebin/gun_sup.beam",
"ebin/gun_tcp.beam",
"ebin/gun_tls.beam",
"ebin/gun_ws.beam",
"ebin/gun_ws_h.beam",
],
hdrs = [],
app_name = "gun",
beam = [":behaviours"],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [
":behaviours",
":other_beam",
],
)
filegroup(
name = "srcs",
srcs = [
"src/gun.app.src",
"src/gun.erl",
"src/gun_app.erl",
"src/gun_content_handler.erl",
"src/gun_data_h.erl",
"src/gun_http.erl",
"src/gun_http2.erl",
"src/gun_sse_h.erl",
"src/gun_sup.erl",
"src/gun_tcp.erl",
"src/gun_tls.erl",
"src/gun_ws.erl",
"src/gun_ws_h.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [],
)
filegroup(
name = "public_hdrs",
srcs = [],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = ["LICENSE"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
app_name = "gun",
beam_files = [":beam_files"],
extra_apps = ["ssl"],
deps = ["@cowlib//:erlang_app"],
)
alias(
name = "gun",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,115 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+warn_export_vars",
"+warnings_as_errors",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+warn_export_vars",
"+warnings_as_errors",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/horus.erl",
"src/horus_cover.erl",
"src/horus_utils.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "horus",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/horus.app.src",
"src/horus.erl",
"src/horus_cover.erl",
"src/horus_utils.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [
"src/horus_cover.hrl",
"src/horus_error.hrl",
"src/horus_fun.hrl",
],
)
filegroup(
name = "public_hdrs",
srcs = [
"include/horus.hrl",
],
)
filegroup(
name = "priv",
srcs = [
"priv/horus_cover_helper.erl",
],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE-Apache-2.0",
"LICENSE-MPL-2.0",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "horus",
beam_files = [":beam_files"],
extra_apps = [
"compiler",
"tools",
],
license_files = [":license_files"],
priv = [":priv"],
)
alias(
name = "horus",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,367 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "parse_transforms",
srcs = ["src/base/jose_base.erl"],
outs = ["ebin/jose_base.beam"],
hdrs = [
"include/jose.hrl",
"include/jose_base.hrl",
"include/jose_compat.hrl",
"include/jose_jwe.hrl",
"include/jose_jwk.hrl",
"include/jose_jws.hrl",
"include/jose_jwt.hrl",
"include/jose_public_key.hrl",
],
app_name = "jose",
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "behaviours",
srcs = [
"src/jose_block_encryptor.erl",
"src/json/jose_json.erl",
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305.erl",
"src/jwa/curve25519/jose_curve25519.erl",
"src/jwa/curve448/jose_curve448.erl",
"src/jwa/sha3/jose_sha3.erl",
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305.erl",
"src/jwe/jose_jwe.erl",
"src/jwe/jose_jwe_alg.erl",
"src/jwe/jose_jwe_enc.erl",
"src/jwk/jose_jwk.erl",
"src/jwk/jose_jwk_kty.erl",
"src/jwk/jose_jwk_oct.erl",
"src/jwk/jose_jwk_use_enc.erl",
"src/jwk/jose_jwk_use_sig.erl",
"src/jws/jose_jws.erl",
"src/jws/jose_jws_alg.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "jose",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/base/jose_base64.erl",
"src/base/jose_base64url.erl",
"src/jose.erl",
"src/jose_app.erl",
"src/jose_crypto_compat.erl",
"src/jose_public_key.erl",
"src/jose_server.erl",
"src/jose_sup.erl",
"src/json/jose_json_jason.erl",
"src/json/jose_json_jiffy.erl",
"src/json/jose_json_jsone.erl",
"src/json/jose_json_jsx.erl",
"src/json/jose_json_ojson.erl",
"src/json/jose_json_poison.erl",
"src/json/jose_json_poison_compat_encoder.erl",
"src/json/jose_json_poison_lexical_encoder.erl",
"src/json/jose_json_thoas.erl",
"src/json/jose_json_unsupported.erl",
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305_crypto.erl",
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305_libsodium.erl",
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305_unsupported.erl",
"src/jwa/curve25519/jose_curve25519_crypto.erl",
"src/jwa/curve25519/jose_curve25519_fallback.erl",
"src/jwa/curve25519/jose_curve25519_libdecaf.erl",
"src/jwa/curve25519/jose_curve25519_libsodium.erl",
"src/jwa/curve25519/jose_curve25519_unsupported.erl",
"src/jwa/curve448/jose_curve448_crypto.erl",
"src/jwa/curve448/jose_curve448_fallback.erl",
"src/jwa/curve448/jose_curve448_libdecaf.erl",
"src/jwa/curve448/jose_curve448_unsupported.erl",
"src/jwa/jose_jwa.erl",
"src/jwa/jose_jwa_aes.erl",
"src/jwa/jose_jwa_aes_kw.erl",
"src/jwa/jose_jwa_base64url.erl",
"src/jwa/jose_jwa_bench.erl",
"src/jwa/jose_jwa_chacha20.erl",
"src/jwa/jose_jwa_chacha20_poly1305.erl",
"src/jwa/jose_jwa_concat_kdf.erl",
"src/jwa/jose_jwa_curve25519.erl",
"src/jwa/jose_jwa_curve448.erl",
"src/jwa/jose_jwa_ed25519.erl",
"src/jwa/jose_jwa_ed448.erl",
"src/jwa/jose_jwa_hchacha20.erl",
"src/jwa/jose_jwa_math.erl",
"src/jwa/jose_jwa_pkcs1.erl",
"src/jwa/jose_jwa_pkcs5.erl",
"src/jwa/jose_jwa_pkcs7.erl",
"src/jwa/jose_jwa_poly1305.erl",
"src/jwa/jose_jwa_sha3.erl",
"src/jwa/jose_jwa_unsupported.erl",
"src/jwa/jose_jwa_x25519.erl",
"src/jwa/jose_jwa_x448.erl",
"src/jwa/jose_jwa_xchacha20.erl",
"src/jwa/jose_jwa_xchacha20_poly1305.erl",
"src/jwa/sha3/jose_sha3_keccakf1600_driver.erl",
"src/jwa/sha3/jose_sha3_keccakf1600_nif.erl",
"src/jwa/sha3/jose_sha3_libdecaf.erl",
"src/jwa/sha3/jose_sha3_unsupported.erl",
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305_crypto.erl",
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305_libsodium.erl",
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305_unsupported.erl",
"src/jwe/jose_jwe_alg_aes_kw.erl",
"src/jwe/jose_jwe_alg_c20p_kw.erl",
"src/jwe/jose_jwe_alg_dir.erl",
"src/jwe/jose_jwe_alg_ecdh_1pu.erl",
"src/jwe/jose_jwe_alg_ecdh_es.erl",
"src/jwe/jose_jwe_alg_ecdh_ss.erl",
"src/jwe/jose_jwe_alg_pbes2.erl",
"src/jwe/jose_jwe_alg_rsa.erl",
"src/jwe/jose_jwe_alg_xc20p_kw.erl",
"src/jwe/jose_jwe_enc_aes.erl",
"src/jwe/jose_jwe_enc_c20p.erl",
"src/jwe/jose_jwe_enc_xc20p.erl",
"src/jwe/jose_jwe_zip.erl",
"src/jwk/jose_jwk_der.erl",
"src/jwk/jose_jwk_kty_ec.erl",
"src/jwk/jose_jwk_kty_oct.erl",
"src/jwk/jose_jwk_kty_okp_ed25519.erl",
"src/jwk/jose_jwk_kty_okp_ed25519ph.erl",
"src/jwk/jose_jwk_kty_okp_ed448.erl",
"src/jwk/jose_jwk_kty_okp_ed448ph.erl",
"src/jwk/jose_jwk_kty_okp_x25519.erl",
"src/jwk/jose_jwk_kty_okp_x448.erl",
"src/jwk/jose_jwk_kty_rsa.erl",
"src/jwk/jose_jwk_openssh_key.erl",
"src/jwk/jose_jwk_pem.erl",
"src/jwk/jose_jwk_set.erl",
"src/jws/jose_jws_alg_ecdsa.erl",
"src/jws/jose_jws_alg_eddsa.erl",
"src/jws/jose_jws_alg_hmac.erl",
"src/jws/jose_jws_alg_none.erl",
"src/jws/jose_jws_alg_poly1305.erl",
"src/jws/jose_jws_alg_rsa_pkcs1_v1_5.erl",
"src/jws/jose_jws_alg_rsa_pss.erl",
"src/jwt/jose_jwt.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "jose",
beam = [":behaviours"],
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [
":behaviours",
":other_beam",
],
)
filegroup(
name = "srcs",
srcs = [
"src/base/jose_base64.erl",
"src/base/jose_base64url.erl",
"src/jose.app.src",
"src/jose.erl",
"src/jose_app.erl",
"src/jose_block_encryptor.erl",
"src/jose_crypto_compat.erl",
"src/jose_public_key.erl",
"src/jose_server.erl",
"src/jose_sup.erl",
"src/json/jose_json.erl",
"src/json/jose_json_jason.erl",
"src/json/jose_json_jiffy.erl",
"src/json/jose_json_jsone.erl",
"src/json/jose_json_jsx.erl",
"src/json/jose_json_ojson.erl",
"src/json/jose_json_poison.erl",
"src/json/jose_json_poison_compat_encoder.erl",
"src/json/jose_json_poison_lexical_encoder.erl",
"src/json/jose_json_thoas.erl",
"src/json/jose_json_unsupported.erl",
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305.erl",
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305_crypto.erl",
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305_libsodium.erl",
"src/jwa/chacha20_poly1305/jose_chacha20_poly1305_unsupported.erl",
"src/jwa/curve25519/jose_curve25519.erl",
"src/jwa/curve25519/jose_curve25519_crypto.erl",
"src/jwa/curve25519/jose_curve25519_fallback.erl",
"src/jwa/curve25519/jose_curve25519_libdecaf.erl",
"src/jwa/curve25519/jose_curve25519_libsodium.erl",
"src/jwa/curve25519/jose_curve25519_unsupported.erl",
"src/jwa/curve448/jose_curve448.erl",
"src/jwa/curve448/jose_curve448_crypto.erl",
"src/jwa/curve448/jose_curve448_fallback.erl",
"src/jwa/curve448/jose_curve448_libdecaf.erl",
"src/jwa/curve448/jose_curve448_unsupported.erl",
"src/jwa/jose_jwa.erl",
"src/jwa/jose_jwa_aes.erl",
"src/jwa/jose_jwa_aes_kw.erl",
"src/jwa/jose_jwa_base64url.erl",
"src/jwa/jose_jwa_bench.erl",
"src/jwa/jose_jwa_chacha20.erl",
"src/jwa/jose_jwa_chacha20_poly1305.erl",
"src/jwa/jose_jwa_concat_kdf.erl",
"src/jwa/jose_jwa_curve25519.erl",
"src/jwa/jose_jwa_curve448.erl",
"src/jwa/jose_jwa_ed25519.erl",
"src/jwa/jose_jwa_ed448.erl",
"src/jwa/jose_jwa_hchacha20.erl",
"src/jwa/jose_jwa_math.erl",
"src/jwa/jose_jwa_pkcs1.erl",
"src/jwa/jose_jwa_pkcs5.erl",
"src/jwa/jose_jwa_pkcs7.erl",
"src/jwa/jose_jwa_poly1305.erl",
"src/jwa/jose_jwa_sha3.erl",
"src/jwa/jose_jwa_unsupported.erl",
"src/jwa/jose_jwa_x25519.erl",
"src/jwa/jose_jwa_x448.erl",
"src/jwa/jose_jwa_xchacha20.erl",
"src/jwa/jose_jwa_xchacha20_poly1305.erl",
"src/jwa/sha3/jose_sha3.erl",
"src/jwa/sha3/jose_sha3_keccakf1600_driver.erl",
"src/jwa/sha3/jose_sha3_keccakf1600_nif.erl",
"src/jwa/sha3/jose_sha3_libdecaf.erl",
"src/jwa/sha3/jose_sha3_unsupported.erl",
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305.erl",
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305_crypto.erl",
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305_libsodium.erl",
"src/jwa/xchacha20_poly1305/jose_xchacha20_poly1305_unsupported.erl",
"src/jwe/jose_jwe.erl",
"src/jwe/jose_jwe_alg.erl",
"src/jwe/jose_jwe_alg_aes_kw.erl",
"src/jwe/jose_jwe_alg_c20p_kw.erl",
"src/jwe/jose_jwe_alg_dir.erl",
"src/jwe/jose_jwe_alg_ecdh_1pu.erl",
"src/jwe/jose_jwe_alg_ecdh_es.erl",
"src/jwe/jose_jwe_alg_ecdh_ss.erl",
"src/jwe/jose_jwe_alg_pbes2.erl",
"src/jwe/jose_jwe_alg_rsa.erl",
"src/jwe/jose_jwe_alg_xc20p_kw.erl",
"src/jwe/jose_jwe_enc.erl",
"src/jwe/jose_jwe_enc_aes.erl",
"src/jwe/jose_jwe_enc_c20p.erl",
"src/jwe/jose_jwe_enc_xc20p.erl",
"src/jwe/jose_jwe_zip.erl",
"src/jwk/jose_jwk.erl",
"src/jwk/jose_jwk_der.erl",
"src/jwk/jose_jwk_kty.erl",
"src/jwk/jose_jwk_kty_ec.erl",
"src/jwk/jose_jwk_kty_oct.erl",
"src/jwk/jose_jwk_kty_okp_ed25519.erl",
"src/jwk/jose_jwk_kty_okp_ed25519ph.erl",
"src/jwk/jose_jwk_kty_okp_ed448.erl",
"src/jwk/jose_jwk_kty_okp_ed448ph.erl",
"src/jwk/jose_jwk_kty_okp_x25519.erl",
"src/jwk/jose_jwk_kty_okp_x448.erl",
"src/jwk/jose_jwk_kty_rsa.erl",
"src/jwk/jose_jwk_oct.erl",
"src/jwk/jose_jwk_openssh_key.erl",
"src/jwk/jose_jwk_pem.erl",
"src/jwk/jose_jwk_set.erl",
"src/jwk/jose_jwk_use_enc.erl",
"src/jwk/jose_jwk_use_sig.erl",
"src/jws/jose_jws.erl",
"src/jws/jose_jws_alg.erl",
"src/jws/jose_jws_alg_ecdsa.erl",
"src/jws/jose_jws_alg_eddsa.erl",
"src/jws/jose_jws_alg_hmac.erl",
"src/jws/jose_jws_alg_none.erl",
"src/jws/jose_jws_alg_poly1305.erl",
"src/jws/jose_jws_alg_rsa_pkcs1_v1_5.erl",
"src/jws/jose_jws_alg_rsa_pss.erl",
"src/jwt/jose_jwt.erl",
],
)
filegroup(name = "private_hdrs")
filegroup(
name = "public_hdrs",
srcs = [
"include/jose.hrl",
"include/jose_base.hrl",
"include/jose_compat.hrl",
"include/jose_jwe.hrl",
"include/jose_jwk.hrl",
"include/jose_jws.hrl",
"include/jose_jwt.hrl",
"include/jose_public_key.hrl",
],
)
filegroup(
name = "priv",
srcs = [
"priv/.keep",
],
)
filegroup(
name = "licenses",
srcs = ["LICENSE.md"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "jose",
beam_files = [":beam_files"],
extra_apps = [
"asn1",
"crypto",
"public_key",
],
license_files = [":license_files"],
priv = [":priv"],
deps = ["@thoas//:erlang_app"],
)
alias(
name = "jose",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE.md",
],
)

View File

@ -1,10 +0,0 @@
filegroup(
name = "sources",
srcs = [
"mix.exs",
] + glob([
"LICENSE*",
"lib/**/*",
]),
visibility = ["//visibility:public"],
)

View File

@ -1,182 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+warn_export_vars",
"+warnings_as_errors",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+warn_export_vars",
"+warnings_as_errors",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "behaviours",
srcs = [
"src/khepri_import_export.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "khepri",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [
":behaviours",
":other_beam",
],
)
filegroup(
name = "srcs",
srcs = [
"src/khepri.app.src",
"src/khepri.erl",
"src/khepri_adv.erl",
"src/khepri_app.erl",
"src/khepri_cluster.erl",
"src/khepri_condition.erl",
"src/khepri_event_handler.erl",
"src/khepri_evf.erl",
"src/khepri_export_erlang.erl",
"src/khepri_import_export.erl",
"src/khepri_machine.erl",
"src/khepri_machine_v0.erl",
"src/khepri_path.erl",
"src/khepri_pattern_tree.erl",
"src/khepri_payload.erl",
"src/khepri_projection.erl",
"src/khepri_sproc.erl",
"src/khepri_sup.erl",
"src/khepri_tree.erl",
"src/khepri_tx.erl",
"src/khepri_tx_adv.erl",
"src/khepri_utils.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [
"src/khepri_bang.hrl",
"src/khepri_cluster.hrl",
"src/khepri_error.hrl",
"src/khepri_evf.hrl",
"src/khepri_machine.hrl",
"src/khepri_payload.hrl",
"src/khepri_projection.hrl",
"src/khepri_ret.hrl",
"src/khepri_tree.hrl",
"src/khepri_tx.hrl",
],
)
filegroup(
name = "public_hdrs",
srcs = [
"include/khepri.hrl",
],
)
filegroup(name = "priv")
filegroup(
name = "licenses",
srcs = [
"LICENSE-Apache-2.0",
"LICENSE-MPL-2.0",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "khepri",
beam_files = [":beam_files"],
extra_apps = ["compiler"],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"@horus//:erlang_app",
"@ra//:erlang_app",
"@seshat//:erlang_app",
],
)
alias(
name = "khepri",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/khepri.erl",
"src/khepri_adv.erl",
"src/khepri_app.erl",
"src/khepri_cluster.erl",
"src/khepri_condition.erl",
"src/khepri_event_handler.erl",
"src/khepri_evf.erl",
"src/khepri_export_erlang.erl",
"src/khepri_machine.erl",
"src/khepri_machine_v0.erl",
"src/khepri_path.erl",
"src/khepri_pattern_tree.erl",
"src/khepri_payload.erl",
"src/khepri_projection.erl",
"src/khepri_sproc.erl",
"src/khepri_sup.erl",
"src/khepri_tree.erl",
"src/khepri_tx.erl",
"src/khepri_tx_adv.erl",
"src/khepri_utils.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "khepri",
beam = [":behaviours"],
dest = "ebin",
erlc_opts = "//:erlc_opts",
deps = [
"@horus//:erlang_app",
"@ra//:erlang_app",
"@seshat//:erlang_app",
],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE-Apache-2.0",
"LICENSE-MPL-2.0",
],
)

View File

@ -1,146 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+warn_export_vars",
"+warnings_as_errors",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+warn_export_vars",
"+warnings_as_errors",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/khepri_mnesia_migration_app.erl",
"src/khepri_mnesia_migration_sup.erl",
"src/kmm_utils.erl",
"src/m2k_cluster_sync.erl",
"src/m2k_cluster_sync_sup.erl",
"src/m2k_export.erl",
"src/m2k_subscriber.erl",
"src/m2k_table_copy.erl",
"src/m2k_table_copy_sup.erl",
"src/m2k_table_copy_sup_sup.erl",
"src/mnesia_to_khepri.erl",
"src/mnesia_to_khepri_example_converter.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "khepri_mnesia_migration",
beam = [":behaviours"],
dest = "ebin",
erlc_opts = "//:erlc_opts",
deps = ["@khepri//:erlang_app"],
)
filegroup(
name = "beam_files",
srcs = [
":behaviours",
":other_beam",
],
)
filegroup(
name = "srcs",
srcs = [
"src/khepri_mnesia_migration.app.src",
"src/khepri_mnesia_migration_app.erl",
"src/khepri_mnesia_migration_sup.erl",
"src/kmm_utils.erl",
"src/m2k_cluster_sync.erl",
"src/m2k_cluster_sync_sup.erl",
"src/m2k_export.erl",
"src/m2k_subscriber.erl",
"src/m2k_table_copy.erl",
"src/m2k_table_copy_sup.erl",
"src/m2k_table_copy_sup_sup.erl",
"src/mnesia_to_khepri.erl",
"src/mnesia_to_khepri_example_converter.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [
"src/kmm_error.hrl",
# "src/kmm_logging.hrl", # keep
],
)
filegroup(
name = "public_hdrs",
srcs = ["src/kmm_logging.hrl"] + glob(["include/**/*.hrl"]), # keep
)
filegroup(
name = "priv",
srcs = glob(["priv/**/*"]),
)
filegroup(
name = "licenses",
srcs = [
"LICENSE-Apache-2.0",
"LICENSE-MPL-2.0",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "khepri_mnesia_migration",
beam_files = [":beam_files"],
license_files = [":license_files"],
priv = [":priv"],
deps = ["@khepri//:erlang_app"],
)
alias(
name = "khepri_mnesia_migration",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
erlang_bytecode(
name = "behaviours",
srcs = [
"src/mnesia_to_khepri_converter.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "khepri_mnesia_migration",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "license_files",
srcs = glob(["LICENSE*"]),
)

View File

@ -1,139 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
testonly = True,
srcs = [
"src/meck.erl",
"src/meck_args_matcher.erl",
"src/meck_code.erl",
"src/meck_code_gen.erl",
"src/meck_cover.erl",
"src/meck_expect.erl",
"src/meck_history.erl",
"src/meck_matcher.erl",
"src/meck_proc.erl",
"src/meck_ret_spec.erl",
"src/meck_util.erl",
],
outs = [
"ebin/meck.beam",
"ebin/meck_args_matcher.beam",
"ebin/meck_code.beam",
"ebin/meck_code_gen.beam",
"ebin/meck_cover.beam",
"ebin/meck_expect.beam",
"ebin/meck_history.beam",
"ebin/meck_matcher.beam",
"ebin/meck_proc.beam",
"ebin/meck_ret_spec.beam",
"ebin/meck_util.beam",
],
hdrs = [
"src/meck.hrl",
],
app_name = "meck",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
testonly = True,
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
testonly = True,
srcs = [
"src/meck.app.src",
"src/meck.erl",
"src/meck_args_matcher.erl",
"src/meck_code.erl",
"src/meck_code_gen.erl",
"src/meck_cover.erl",
"src/meck_expect.erl",
"src/meck_history.erl",
"src/meck_matcher.erl",
"src/meck_proc.erl",
"src/meck_ret_spec.erl",
"src/meck_util.erl",
],
)
filegroup(
name = "private_hdrs",
testonly = True,
srcs = [
"src/meck.hrl",
],
)
filegroup(
name = "public_hdrs",
testonly = True,
)
filegroup(
name = "priv",
testonly = True,
)
filegroup(
name = "licenses",
testonly = True,
srcs = [
"LICENSE",
],
)
filegroup(
name = "public_and_private_hdrs",
testonly = True,
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
testonly = True,
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
testonly = True,
srcs = [":all_srcs"],
app_name = "meck",
beam_files = [":beam_files"],
extra_apps = [
"compiler",
"tools",
],
)
alias(
name = "meck",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,158 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+strict_validation",
"+warn_bif_clash",
"+warn_deprecated_function",
"+warn_export_all",
"+warn_export_vars",
"+warn_exported_vars",
"+warn_missing_spec",
"+warn_obsolete_guard",
"+warn_shadow_vars",
"+warn_untyped_record",
"+warn_unused_function",
"+warn_unused_import",
"+warn_unused_record",
"+warn_unused_vars",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+strict_validation",
"+warn_bif_clash",
"+warn_deprecated_function",
"+warn_export_all",
"+warn_export_vars",
"+warn_exported_vars",
"+warn_missing_spec",
"+warn_obsolete_guard",
"+warn_shadow_vars",
"+warn_untyped_record",
"+warn_unused_function",
"+warn_unused_import",
"+warn_unused_record",
"+warn_unused_vars",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/observer_cli.erl",
"src/observer_cli_application.erl",
"src/observer_cli_escriptize.erl",
"src/observer_cli_ets.erl",
"src/observer_cli_help.erl",
"src/observer_cli_inet.erl",
"src/observer_cli_lib.erl",
"src/observer_cli_mnesia.erl",
"src/observer_cli_plugin.erl",
"src/observer_cli_port.erl",
"src/observer_cli_process.erl",
"src/observer_cli_store.erl",
"src/observer_cli_system.erl",
],
outs = [
"ebin/observer_cli.beam",
"ebin/observer_cli_application.beam",
"ebin/observer_cli_escriptize.beam",
"ebin/observer_cli_ets.beam",
"ebin/observer_cli_help.beam",
"ebin/observer_cli_inet.beam",
"ebin/observer_cli_lib.beam",
"ebin/observer_cli_mnesia.beam",
"ebin/observer_cli_plugin.beam",
"ebin/observer_cli_port.beam",
"ebin/observer_cli_process.beam",
"ebin/observer_cli_store.beam",
"ebin/observer_cli_system.beam",
],
hdrs = ["include/observer_cli.hrl"],
app_name = "observer_cli",
beam = [],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/observer_cli.app.src",
"src/observer_cli.erl",
"src/observer_cli_application.erl",
"src/observer_cli_escriptize.erl",
"src/observer_cli_ets.erl",
"src/observer_cli_help.erl",
"src/observer_cli_inet.erl",
"src/observer_cli_lib.erl",
"src/observer_cli_mnesia.erl",
"src/observer_cli_plugin.erl",
"src/observer_cli_port.erl",
"src/observer_cli_process.erl",
"src/observer_cli_store.erl",
"src/observer_cli_system.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [],
)
filegroup(
name = "public_hdrs",
srcs = ["include/observer_cli.hrl"],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = ["LICENSE"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "observer_cli",
beam_files = [":beam_files"],
deps = ["@recon//:erlang_app"],
)
alias(
name = "observer_cli",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,231 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+strict_validation",
"+warn_bif_clash",
"+warn_deprecated_function",
"+warn_export_all",
"+warn_export_vars",
"+warn_exported_vars",
"+warn_obsolete_guard",
"+warn_shadow_vars",
"+warn_unused_function",
"+warn_unused_import",
"+warn_unused_record",
"+warn_unused_vars",
"+warnings_as_errors",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+strict_validation",
"+warn_bif_clash",
"+warn_deprecated_function",
"+warn_export_all",
"+warn_export_vars",
"+warn_exported_vars",
"+warn_obsolete_guard",
"+warn_shadow_vars",
"+warn_unused_function",
"+warn_unused_import",
"+warn_unused_record",
"+warn_unused_vars",
"+warnings_as_errors",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "behaviours",
srcs = [
"src/prometheus_collector.erl",
"src/prometheus_format.erl",
"src/prometheus_instrumenter.erl",
"src/prometheus_metric.erl",
],
outs = [
"ebin/prometheus_collector.beam",
"ebin/prometheus_format.beam",
"ebin/prometheus_instrumenter.beam",
"ebin/prometheus_metric.beam",
],
hdrs = [
"include/prometheus.hrl",
"include/prometheus_model.hrl",
],
app_name = "prometheus",
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/collectors/mnesia/prometheus_mnesia_collector.erl",
"src/collectors/vm/prometheus_vm_dist_collector.erl",
"src/collectors/vm/prometheus_vm_memory_collector.erl",
"src/collectors/vm/prometheus_vm_msacc_collector.erl",
"src/collectors/vm/prometheus_vm_statistics_collector.erl",
"src/collectors/vm/prometheus_vm_system_info_collector.erl",
"src/contrib/prometheus_http.erl",
"src/contrib/prometheus_mnesia.erl",
"src/contrib/prometheus_test_instrumenter.erl",
"src/formats/prometheus_protobuf_format.erl",
"src/formats/prometheus_text_format.erl",
"src/metrics/prometheus_boolean.erl",
"src/metrics/prometheus_counter.erl",
"src/metrics/prometheus_gauge.erl",
"src/metrics/prometheus_histogram.erl",
"src/metrics/prometheus_quantile_summary.erl",
"src/metrics/prometheus_summary.erl",
"src/model/prometheus_model.erl",
"src/model/prometheus_model_helpers.erl",
"src/prometheus.erl",
"src/prometheus_buckets.erl",
"src/prometheus_metric_spec.erl",
"src/prometheus_misc.erl",
"src/prometheus_registry.erl",
"src/prometheus_sup.erl",
"src/prometheus_time.erl",
],
outs = [
"ebin/prometheus.beam",
"ebin/prometheus_boolean.beam",
"ebin/prometheus_buckets.beam",
"ebin/prometheus_counter.beam",
"ebin/prometheus_gauge.beam",
"ebin/prometheus_histogram.beam",
"ebin/prometheus_http.beam",
"ebin/prometheus_metric_spec.beam",
"ebin/prometheus_misc.beam",
"ebin/prometheus_mnesia.beam",
"ebin/prometheus_mnesia_collector.beam",
"ebin/prometheus_model.beam",
"ebin/prometheus_model_helpers.beam",
"ebin/prometheus_protobuf_format.beam",
"ebin/prometheus_quantile_summary.beam",
"ebin/prometheus_registry.beam",
"ebin/prometheus_summary.beam",
"ebin/prometheus_sup.beam",
"ebin/prometheus_test_instrumenter.beam",
"ebin/prometheus_text_format.beam",
"ebin/prometheus_time.beam",
"ebin/prometheus_vm_dist_collector.beam",
"ebin/prometheus_vm_memory_collector.beam",
"ebin/prometheus_vm_msacc_collector.beam",
"ebin/prometheus_vm_statistics_collector.beam",
"ebin/prometheus_vm_system_info_collector.beam",
],
hdrs = [
"include/prometheus.hrl",
"include/prometheus_model.hrl",
],
app_name = "prometheus",
beam = [":behaviours"],
erlc_opts = "//:erlc_opts",
deps = ["@quantile_estimator//:erlang_app"],
)
filegroup(
name = "beam_files",
srcs = [
":behaviours",
":other_beam",
],
)
filegroup(
name = "srcs",
srcs = [
"src/collectors/mnesia/prometheus_mnesia_collector.erl",
"src/collectors/vm/prometheus_vm_dist_collector.erl",
"src/collectors/vm/prometheus_vm_memory_collector.erl",
"src/collectors/vm/prometheus_vm_msacc_collector.erl",
"src/collectors/vm/prometheus_vm_statistics_collector.erl",
"src/collectors/vm/prometheus_vm_system_info_collector.erl",
"src/contrib/prometheus_http.erl",
"src/contrib/prometheus_mnesia.erl",
"src/contrib/prometheus_test_instrumenter.erl",
"src/formats/prometheus_protobuf_format.erl",
"src/formats/prometheus_text_format.erl",
"src/metrics/prometheus_boolean.erl",
"src/metrics/prometheus_counter.erl",
"src/metrics/prometheus_gauge.erl",
"src/metrics/prometheus_histogram.erl",
"src/metrics/prometheus_quantile_summary.erl",
"src/metrics/prometheus_summary.erl",
"src/model/prometheus_model.erl",
"src/model/prometheus_model_helpers.erl",
"src/prometheus.app.src",
"src/prometheus.erl",
"src/prometheus_buckets.erl",
"src/prometheus_collector.erl",
"src/prometheus_format.erl",
"src/prometheus_instrumenter.erl",
"src/prometheus_metric.erl",
"src/prometheus_metric_spec.erl",
"src/prometheus_misc.erl",
"src/prometheus_registry.erl",
"src/prometheus_sup.erl",
"src/prometheus_time.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [],
)
filegroup(
name = "public_hdrs",
srcs = [
"include/prometheus.hrl",
"include/prometheus_model.hrl",
],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = ["LICENSE"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "prometheus",
beam_files = [":beam_files"],
deps = ["@quantile_estimator//:erlang_app"],
)
alias(
name = "prometheus",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,244 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+report_warnings",
"+warn_export_vars",
"+warn_missing_spec",
"+warn_obsolete_guard",
"+warn_untyped_record",
"+warn_unused_import",
"+warn_unused_vars",
"+{warn_format,1}",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+report_warnings",
"+warn_export_vars",
"+warn_missing_spec",
"+warn_obsolete_guard",
"+warn_untyped_record",
"+warn_unused_import",
"+warn_unused_vars",
"+{warn_format,1}",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "parse_transforms",
testonly = True,
srcs = [
"src/vararg.erl",
],
outs = [
"ebin/vararg.beam",
],
hdrs = [
"include/proper.hrl",
"include/proper_common.hrl",
"include/proper_internal.hrl",
"include/proper_param_adts.hrl",
],
app_name = "proper",
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "behaviours",
testonly = True,
srcs = [
"src/proper_target.erl",
],
outs = [
"ebin/proper_target.beam",
],
hdrs = [
"include/proper.hrl",
"include/proper_common.hrl",
"include/proper_internal.hrl",
"include/proper_param_adts.hrl",
],
app_name = "proper",
beam = [":parse_transforms"],
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "other_beam",
testonly = True,
srcs = [
"src/proper.erl",
"src/proper_arith.erl",
"src/proper_array.erl",
"src/proper_dict.erl",
"src/proper_erlang_abstract_code.erl",
"src/proper_fsm.erl",
"src/proper_gb_sets.erl",
"src/proper_gb_trees.erl",
"src/proper_gen.erl",
"src/proper_gen_next.erl",
"src/proper_orddict.erl",
"src/proper_ordsets.erl",
"src/proper_prop_remover.erl",
"src/proper_queue.erl",
"src/proper_sa.erl",
"src/proper_sets.erl",
"src/proper_shrink.erl",
"src/proper_statem.erl",
"src/proper_symb.erl",
"src/proper_transformer.erl",
"src/proper_types.erl",
"src/proper_typeserver.erl",
"src/proper_unicode.erl",
"src/proper_unused_imports_remover.erl",
],
outs = [
"ebin/proper.beam",
"ebin/proper_arith.beam",
"ebin/proper_array.beam",
"ebin/proper_dict.beam",
"ebin/proper_erlang_abstract_code.beam",
"ebin/proper_fsm.beam",
"ebin/proper_gb_sets.beam",
"ebin/proper_gb_trees.beam",
"ebin/proper_gen.beam",
"ebin/proper_gen_next.beam",
"ebin/proper_orddict.beam",
"ebin/proper_ordsets.beam",
"ebin/proper_prop_remover.beam",
"ebin/proper_queue.beam",
"ebin/proper_sa.beam",
"ebin/proper_sets.beam",
"ebin/proper_shrink.beam",
"ebin/proper_statem.beam",
"ebin/proper_symb.beam",
"ebin/proper_transformer.beam",
"ebin/proper_types.beam",
"ebin/proper_typeserver.beam",
"ebin/proper_unicode.beam",
"ebin/proper_unused_imports_remover.beam",
],
hdrs = [
"include/proper.hrl",
"include/proper_common.hrl",
"include/proper_internal.hrl",
"include/proper_param_adts.hrl",
],
app_name = "proper",
beam = [
":parse_transforms",
":behaviours",
],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
testonly = True,
srcs = [
":behaviours",
":other_beam",
":parse_transforms",
],
)
filegroup(
name = "srcs",
testonly = True,
srcs = [
"src/proper.app.src",
"src/proper.erl",
"src/proper_arith.erl",
"src/proper_array.erl",
"src/proper_dict.erl",
"src/proper_erlang_abstract_code.erl",
"src/proper_fsm.erl",
"src/proper_gb_sets.erl",
"src/proper_gb_trees.erl",
"src/proper_gen.erl",
"src/proper_gen_next.erl",
"src/proper_orddict.erl",
"src/proper_ordsets.erl",
"src/proper_prop_remover.erl",
"src/proper_queue.erl",
"src/proper_sa.erl",
"src/proper_sets.erl",
"src/proper_shrink.erl",
"src/proper_statem.erl",
"src/proper_symb.erl",
"src/proper_target.erl",
"src/proper_transformer.erl",
"src/proper_types.erl",
"src/proper_typeserver.erl",
"src/proper_unicode.erl",
"src/proper_unused_imports_remover.erl",
"src/vararg.erl",
],
)
filegroup(
name = "private_hdrs",
testonly = True,
)
filegroup(
name = "public_hdrs",
testonly = True,
srcs = [
"include/proper.hrl",
"include/proper_common.hrl",
"include/proper_internal.hrl",
"include/proper_param_adts.hrl",
],
)
filegroup(
name = "priv",
testonly = True,
)
filegroup(
name = "licenses",
testonly = True,
)
filegroup(
name = "public_and_private_hdrs",
testonly = True,
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
testonly = True,
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
testonly = True,
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "proper",
beam_files = [":beam_files"],
extra_apps = ["compiler"],
)
alias(
name = "proper",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,96 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/quantile.erl",
"src/quantile_estimator.erl",
],
outs = [
"ebin/quantile.beam",
"ebin/quantile_estimator.beam",
],
hdrs = ["include/quantile_estimator.hrl"],
app_name = "quantile_estimator",
beam = [],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/quantile.erl",
"src/quantile_estimator.app.src",
"src/quantile_estimator.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [],
)
filegroup(
name = "public_hdrs",
srcs = ["include/quantile_estimator.hrl"],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = [],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "quantile_estimator",
beam_files = [":beam_files"],
)
alias(
name = "quantile_estimator",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,220 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+warn_export_vars",
"+warn_obsolete_guard",
"+warn_shadow_vars",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+warn_export_vars",
"+warn_obsolete_guard",
"+warn_shadow_vars",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "behaviours",
srcs = [
"src/ra_machine.erl",
"src/ra_snapshot.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "ra",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/ra.erl",
"src/ra_app.erl",
"src/ra_aux.erl",
"src/ra_bench.erl",
"src/ra_counters.erl",
"src/ra_dbg.erl",
"src/ra_directory.erl",
"src/ra_env.erl",
"src/ra_ets_queue.erl",
"src/ra_file.erl",
"src/ra_file_handle.erl",
"src/ra_flru.erl",
"src/ra_leaderboard.erl",
"src/ra_lib.erl",
"src/ra_log.erl",
"src/ra_log_ets.erl",
"src/ra_log_meta.erl",
"src/ra_log_pre_init.erl",
"src/ra_log_read_plan.erl",
"src/ra_log_reader.erl",
"src/ra_log_segment.erl",
"src/ra_log_segment_writer.erl",
"src/ra_log_snapshot.erl",
"src/ra_log_sup.erl",
"src/ra_log_wal.erl",
"src/ra_log_wal_sup.erl",
"src/ra_lol.erl",
"src/ra_machine_ets.erl",
"src/ra_machine_simple.erl",
"src/ra_metrics_ets.erl",
"src/ra_monitors.erl",
"src/ra_mt.erl",
"src/ra_range.erl",
"src/ra_server.erl",
"src/ra_server_proc.erl",
"src/ra_server_sup.erl",
"src/ra_server_sup_sup.erl",
"src/ra_sup.erl",
"src/ra_system.erl",
"src/ra_system_recover.erl",
"src/ra_system_sup.erl",
"src/ra_systems_sup.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "ra",
beam = [":behaviours"],
dest = "ebin",
erlc_opts = "//:erlc_opts",
deps = [
"@gen_batch_server//:erlang_app",
],
)
filegroup(
name = "beam_files",
srcs = [
":behaviours",
":other_beam",
],
)
filegroup(
name = "srcs",
srcs = [
"src/ra.app.src",
"src/ra.erl",
"src/ra_app.erl",
"src/ra_aux.erl",
"src/ra_bench.erl",
"src/ra_counters.erl",
"src/ra_dbg.erl",
"src/ra_directory.erl",
"src/ra_env.erl",
"src/ra_ets_queue.erl",
"src/ra_file.erl",
"src/ra_file_handle.erl",
"src/ra_flru.erl",
"src/ra_leaderboard.erl",
"src/ra_lib.erl",
"src/ra_log.erl",
"src/ra_log_ets.erl",
"src/ra_log_meta.erl",
"src/ra_log_pre_init.erl",
"src/ra_log_read_plan.erl",
"src/ra_log_reader.erl",
"src/ra_log_segment.erl",
"src/ra_log_segment_writer.erl",
"src/ra_log_snapshot.erl",
"src/ra_log_sup.erl",
"src/ra_log_wal.erl",
"src/ra_log_wal_sup.erl",
"src/ra_lol.erl",
"src/ra_machine.erl",
"src/ra_machine_ets.erl",
"src/ra_machine_simple.erl",
"src/ra_metrics_ets.erl",
"src/ra_monitors.erl",
"src/ra_mt.erl",
"src/ra_range.erl",
"src/ra_server.erl",
"src/ra_server_proc.erl",
"src/ra_server_sup.erl",
"src/ra_server_sup_sup.erl",
"src/ra_snapshot.erl",
"src/ra_sup.erl",
"src/ra_system.erl",
"src/ra_system_recover.erl",
"src/ra_system_sup.erl",
"src/ra_systems_sup.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [
"src/ra.hrl",
"src/ra_server.hrl",
],
)
filegroup(name = "public_hdrs")
filegroup(name = "priv")
filegroup(
name = "licenses",
srcs = [
"LICENSE",
"LICENSE-APACHE2",
"LICENSE-MPL-RabbitMQ",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "ra",
beam_files = [":beam_files"],
extra_apps = [
"crypto",
"sasl",
],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"@aten//:erlang_app",
"@gen_batch_server//:erlang_app",
"@seshat//:erlang_app",
],
)
alias(
name = "ra",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
"LICENSE-APACHE2",
"LICENSE-MPL-RabbitMQ",
],
)

View File

@ -1,139 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "behaviours",
srcs = [
"src/ranch_transport.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "ranch",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/ranch.erl",
"src/ranch_acceptor.erl",
"src/ranch_acceptors_sup.erl",
"src/ranch_app.erl",
"src/ranch_conns_sup.erl",
"src/ranch_conns_sup_sup.erl",
"src/ranch_crc32c.erl",
"src/ranch_embedded_sup.erl",
"src/ranch_listener_sup.erl",
"src/ranch_protocol.erl",
"src/ranch_proxy_header.erl",
"src/ranch_server.erl",
"src/ranch_server_proxy.erl",
"src/ranch_ssl.erl",
"src/ranch_sup.erl",
"src/ranch_tcp.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "ranch",
beam = [":behaviours"],
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [
":behaviours",
":other_beam",
],
)
filegroup(
name = "srcs",
srcs = [
"src/ranch.erl",
"src/ranch_acceptor.erl",
"src/ranch_acceptors_sup.erl",
"src/ranch_app.erl",
"src/ranch_conns_sup.erl",
"src/ranch_conns_sup_sup.erl",
"src/ranch_crc32c.erl",
"src/ranch_embedded_sup.erl",
"src/ranch_listener_sup.erl",
"src/ranch_protocol.erl",
"src/ranch_proxy_header.erl",
"src/ranch_server.erl",
"src/ranch_server_proxy.erl",
"src/ranch_ssl.erl",
"src/ranch_sup.erl",
"src/ranch_tcp.erl",
"src/ranch_transport.erl",
],
)
filegroup(name = "private_hdrs")
filegroup(name = "public_hdrs")
filegroup(name = "priv")
filegroup(
name = "licenses",
srcs = ["LICENSE"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "ranch",
app_description = "Socket acceptor pool for TCP protocols.",
app_version = "2.1.0",
app_registered = ["ranch_server"],
beam_files = [":beam_files"],
extra_apps = ["ssl"],
license_files = [":license_files"],
priv = [":priv"],
)
alias(
name = "ranch",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
],
)

View File

@ -1,101 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/recon.erl",
"src/recon_alloc.erl",
"src/recon_lib.erl",
"src/recon_map.erl",
"src/recon_rec.erl",
"src/recon_trace.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "recon",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/recon.app.src",
"src/recon.erl",
"src/recon_alloc.erl",
"src/recon_lib.erl",
"src/recon_map.erl",
"src/recon_rec.erl",
"src/recon_trace.erl",
],
)
filegroup(name = "private_hdrs")
filegroup(name = "public_hdrs")
filegroup(name = "priv")
filegroup(
name = "licenses",
srcs = ["LICENSE"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "recon",
beam_files = [":beam_files"],
extra_apps = ["syntax_tools"],
license_files = [":license_files"],
priv = [":priv"],
)
alias(
name = "recon",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
],
)

View File

@ -1,101 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}), # keep
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/redbug.erl",
"src/redbug_compiler.erl",
"src/redbug_dtop.erl",
"src/redbug_lexer.erl",
"src/redbug_parser.erl",
"src/redbug_targ.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "redbug",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/redbug.app.src",
"src/redbug.erl",
"src/redbug_compiler.erl",
"src/redbug_dtop.erl",
"src/redbug_lexer.erl",
"src/redbug_parser.erl",
"src/redbug_targ.erl",
],
)
filegroup(name = "private_hdrs")
filegroup(name = "public_hdrs")
filegroup(name = "priv")
filegroup(
name = "licenses",
srcs = ["LICENSE"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "redbug",
beam_files = [":beam_files"],
extra_apps = ["runtime_tools"],
license_files = [":license_files"],
priv = [":priv"],
)
alias(
name = "redbug",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
],
)

View File

@ -1,117 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+recv_opt_info",
"+warn_export_vars",
"+warn_obsolete_guard",
"+warn_shadow_vars",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+recv_opt_info",
"+warn_export_vars",
"+warn_obsolete_guard",
"+warn_shadow_vars",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/seshat.erl",
"src/seshat_app.erl",
"src/seshat_counters_server.erl",
"src/seshat_sup.erl",
],
outs = [
"ebin/seshat.beam",
"ebin/seshat_app.beam",
"ebin/seshat_counters_server.beam",
"ebin/seshat_sup.beam",
],
hdrs = [],
app_name = "seshat",
beam = [],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/seshat.app.src",
"src/seshat.erl",
"src/seshat_app.erl",
"src/seshat_counters_server.erl",
"src/seshat_sup.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [],
)
filegroup(
name = "public_hdrs",
srcs = [],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = [
"LICENSE",
"LICENSE-APACHE2",
"LICENSE-MPL-RabbitMQ",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
app_name = "seshat",
beam_files = [":beam_files"],
extra_apps = [
"crypto",
"sasl",
],
)
alias(
name = "seshat",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,106 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/stdout_formatter.erl",
"src/stdout_formatter_paragraph.erl",
"src/stdout_formatter_table.erl",
"src/stdout_formatter_utils.erl",
],
outs = [
"ebin/stdout_formatter.beam",
"ebin/stdout_formatter_paragraph.beam",
"ebin/stdout_formatter_table.beam",
"ebin/stdout_formatter_utils.beam",
],
hdrs = ["include/stdout_formatter.hrl"],
app_name = "stdout_formatter",
beam = [],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/stdout_formatter.app.src",
"src/stdout_formatter.erl",
"src/stdout_formatter_paragraph.erl",
"src/stdout_formatter_table.erl",
"src/stdout_formatter_utils.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [],
)
filegroup(
name = "public_hdrs",
srcs = ["include/stdout_formatter.hrl"],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = [
"LICENSE",
"LICENSE-APACHE2",
"LICENSE-MPL",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "stdout_formatter",
beam_files = [":beam_files"],
)
alias(
name = "stdout_formatter",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,121 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "behaviours",
srcs = [
"src/syslog_logger.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "syslog",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/syslog.erl",
"src/syslog_error_h.erl",
"src/syslog_lager_backend.erl",
"src/syslog_lib.erl",
"src/syslog_logger_h.erl",
"src/syslog_monitor.erl",
"src/syslog_rfc3164.erl",
"src/syslog_rfc5424.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "syslog",
beam = [":behaviours"],
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [
":behaviours",
":other_beam",
],
)
filegroup(
name = "srcs",
srcs = [
"src/syslog.app.src",
"src/syslog.erl",
"src/syslog_error_h.erl",
"src/syslog_lager_backend.erl",
"src/syslog_lib.erl",
"src/syslog_logger.erl",
"src/syslog_logger_h.erl",
"src/syslog_monitor.erl",
"src/syslog_rfc3164.erl",
"src/syslog_rfc5424.erl",
],
)
filegroup(name = "private_hdrs")
filegroup(
name = "public_hdrs",
srcs = [
"include/syslog.hrl",
],
)
filegroup(name = "priv")
filegroup(
name = "license_files",
srcs = [
"LICENSE",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "syslog",
beam_files = [":beam_files"],
extra_apps = ["sasl"],
license_files = [":license_files"],
priv = [":priv"],
)
alias(
name = "syslog",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,110 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/sysmon_handler_app.erl",
"src/sysmon_handler_example_handler.erl",
"src/sysmon_handler_filter.erl",
"src/sysmon_handler_sup.erl",
"src/sysmon_handler_testhandler.erl",
],
outs = [
"ebin/sysmon_handler_app.beam",
"ebin/sysmon_handler_example_handler.beam",
"ebin/sysmon_handler_filter.beam",
"ebin/sysmon_handler_sup.beam",
"ebin/sysmon_handler_testhandler.beam",
],
hdrs = ["include/sysmon_handler.hrl"],
app_name = "sysmon_handler",
beam = [],
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/sysmon_handler.app.src",
"src/sysmon_handler_app.erl",
"src/sysmon_handler_example_handler.erl",
"src/sysmon_handler_filter.erl",
"src/sysmon_handler_sup.erl",
"src/sysmon_handler_testhandler.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = [],
)
filegroup(
name = "public_hdrs",
srcs = ["include/sysmon_handler.hrl"],
)
filegroup(
name = "priv",
srcs = ["priv/sysmon_handler.schema"],
)
filegroup(
name = "licenses",
srcs = [
"LICENSE",
"LICENSE-APACHE2",
"LICENSE-MPL-RabbitMQ",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "sysmon_handler",
beam_files = [":beam_files"],
extra_apps = ["sasl"],
)
alias(
name = "sysmon_handler",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,121 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
"+warnings_as_errors",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
"+warnings_as_errors",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/systemd.erl",
"src/systemd_app.erl",
"src/systemd_journal_h.erl",
"src/systemd_kmsg_formatter.erl",
"src/systemd_protocol.erl",
"src/systemd_socket.erl",
"src/systemd_sup.erl",
"src/systemd_watchdog.erl",
],
outs = [
"ebin/systemd.beam",
"ebin/systemd_app.beam",
"ebin/systemd_journal_h.beam",
"ebin/systemd_kmsg_formatter.beam",
"ebin/systemd_protocol.beam",
"ebin/systemd_socket.beam",
"ebin/systemd_sup.beam",
"ebin/systemd_watchdog.beam",
],
hdrs = [
"include/systemd.hrl",
"src/systemd_internal.hrl",
],
app_name = "systemd",
beam = [],
erlc_opts = "//:erlc_opts",
deps = ["@enough//:erlang_app"],
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/systemd.app.src",
"src/systemd.erl",
"src/systemd_app.erl",
"src/systemd_journal_h.erl",
"src/systemd_kmsg_formatter.erl",
"src/systemd_protocol.erl",
"src/systemd_socket.erl",
"src/systemd_sup.erl",
"src/systemd_watchdog.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = ["src/systemd_internal.hrl"],
)
filegroup(
name = "public_hdrs",
srcs = ["include/systemd.hrl"],
)
filegroup(
name = "priv",
srcs = [],
)
filegroup(
name = "licenses",
srcs = ["LICENSE"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "systemd",
beam_files = [":beam_files"],
deps = ["@enough//:erlang_app"],
)
alias(
name = "systemd",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,10 +0,0 @@
filegroup(
name = "sources",
srcs = [
"mix.exs",
] + glob([
"LICENSE*",
"lib/**/*",
]),
visibility = ["//visibility:public"],
)

View File

@ -1,94 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode", "erlc_opts")
load("@rules_erlang//:erlang_app.bzl", "erlang_app")
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/thoas.erl",
"src/thoas_decode.erl",
"src/thoas_encode.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "thoas",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/thoas.app.src",
"src/thoas.erl",
"src/thoas_decode.erl",
"src/thoas_encode.erl",
],
)
filegroup(name = "private_hdrs")
filegroup(name = "public_hdrs")
filegroup(name = "priv")
filegroup(
name = "licenses",
srcs = ["LICENSE"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
erlang_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_name = "thoas",
beam_files = [":beam_files"],
license_files = [":license_files"],
priv = [":priv"],
)
alias(
name = "thoas",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
],
)

View File

@ -1,26 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlc_opts")
filegroup(
name = "sources",
srcs = [
"mix.exs",
] + glob([
"LICENSE*",
"lib/**/*",
]),
visibility = ["//visibility:public"],
)
erlc_opts(
name = "erlc_opts",
values = select({
"@rules_erlang//:debug_build": [
"+debug_info",
],
"//conditions:default": [
"+debug_info",
"+deterministic",
],
}),
visibility = [":__subpackages__"],
)

View File

@ -1,15 +0,0 @@
diff --git a/lib/amqp/core.ex b/lib/amqp/core.ex
index a7302aa..abf2be6 100644
--- a/lib/amqp/core.ex
+++ b/lib/amqp/core.ex
@@ -3,6 +3,10 @@ defmodule AMQP.Core do
require Record
+ # Elixir 1.15 compiler optimizations require that we explicitly
+ # add the rabbit_common code path
+ true = :code.add_path(:filename.join(:os.getenv(~c"DEPS_DIR"), ~c"rabbit_common/ebin"))
+
Record.defrecord(
:p_basic,
:P_basic,

View File

@ -1,42 +0,0 @@
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load(
":secondary_umbrella.bzl",
fetch_secondary_umbrella = "secondary_umbrella",
)
def _secondary_umbrella(_ctx):
fetch_secondary_umbrella()
secondary_umbrella = module_extension(
implementation = _secondary_umbrella,
)
def _hex(_ctx):
http_archive(
name = "hex",
sha256 = "0e3e3290d0fcbdc6bb0526b73ca174d68dcff4d53ee86015c49ad0493e39ee65",
strip_prefix = "hex-2.0.5",
urls = ["https://github.com/hexpm/hex/archive/refs/tags/v2.0.5.zip"],
build_file_content = """\
load(
"@rabbitmq-server//bazel/elixir:mix_archive_build.bzl",
"mix_archive_build",
)
mix_archive_build(
name = "archive",
srcs = [
"mix.exs",
] + glob([
"lib/**/*",
]),
out = "hex.ez",
visibility = ["//visibility:public"],
)
""",
)
hex = module_extension(
implementation = _hex,
)

View File

@ -1,36 +0,0 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
ADD_PLUGINS_DIR_BUILD_FILE = """set -euo pipefail
cat << EOF > plugins/BUILD.bazel
load("@rules_pkg//:pkg.bzl", "pkg_zip")
pkg_zip(
name = "inet_tcp_proxy_ez",
package_dir = "inet_tcp_proxy/ebin",
srcs = [
"@inet_tcp_proxy_dist//:erlang_app",
],
package_file_name = "inet_tcp_proxy-0.1.0.ez",
visibility = ["//visibility:public"],
)
filegroup(
name = "standard_plugins",
srcs = glob(["**/*"]),
visibility = ["//visibility:public"],
)
EOF
"""
def secondary_umbrella():
http_archive(
name = "rabbitmq-server-generic-unix-4.0",
build_file = "@//:BUILD.package_generic_unix",
patch_cmds = [ADD_PLUGINS_DIR_BUILD_FILE],
strip_prefix = "rabbitmq_server-4.0.0",
# This file is produced just in time by the test-mixed-versions.yaml GitHub Actions workflow.
urls = [
"https://rabbitmq-github-actions.s3.eu-west-1.amazonaws.com/secondary-umbrellas/26.1/package-generic-unix-for-mixed-version-testing-v4.0.2.tar.xz",
],
)

View File

@ -1 +0,0 @@
exports_files(["elixir_escript_main.exs"])

View File

@ -1,94 +0,0 @@
load(
"@rules_elixir//private:elixir_toolchain.bzl",
"elixir_dirs",
"erlang_dirs",
"maybe_install_erlang",
)
load(
"@rules_erlang//:erlang_app_info.bzl",
"ErlangAppInfo",
)
def _impl(ctx):
(erlang_home, _, erlang_runfiles) = erlang_dirs(ctx)
(elixir_home, elixir_runfiles) = elixir_dirs(ctx)
app_info = ctx.attr.app[ErlangAppInfo]
env = "\n".join([
"export {}={}".format(k, v)
for k, v in ctx.attr.env.items()
])
config_path = ""
if ctx.file.mix_config != None:
config_path = ctx.file.mix_config.path
command = """set -euo pipefail
{maybe_install_erlang}
if [[ "{elixir_home}" == /* ]]; then
ABS_ELIXIR_HOME="{elixir_home}"
else
ABS_ELIXIR_HOME=$PWD/{elixir_home}
fi
export OUT="{out}"
export CONFIG_PATH="{config_path}"
export APP="{app}"
export MAIN_MODULE="Elixir.{main_module}"
{env}
export PATH="{erlang_home}/bin:$PATH"
set -x
"{elixir_home}"/bin/elixir {script}
""".format(
maybe_install_erlang = maybe_install_erlang(ctx),
erlang_home = erlang_home,
elixir_home = elixir_home,
env = env,
script = ctx.file._script.path,
out = ctx.outputs.out.path,
config_path = config_path,
app = app_info.app_name,
main_module = ctx.attr.main_module,
)
inputs = depset(
direct = ctx.files._script + ctx.files.mix_config,
transitive = [
erlang_runfiles.files,
elixir_runfiles.files,
],
)
ctx.actions.run_shell(
inputs = inputs,
outputs = [ctx.outputs.out],
command = command,
mnemonic = "ELIXIR",
)
elixir_escript_main = rule(
implementation = _impl,
attrs = {
"_script": attr.label(
allow_single_file = True,
default = Label(":elixir_escript_main.exs"),
),
"app": attr.label(
providers = [ErlangAppInfo],
),
"env": attr.string_dict(),
"main_module": attr.string(),
"mix_config": attr.label(
allow_single_file = [".exs"],
),
"out": attr.output(),
},
toolchains = [
"@rules_elixir//:toolchain_type",
],
)

View File

@ -1,130 +0,0 @@
defmodule ElixirEscriptMain do
# https://github.com/elixir-lang/elixir/blob/99785cc16be096d02012ad889ca51b5045b599a4/lib/mix/lib/mix/tasks/escript.build.ex#L327
def gen_main(project, name, module, app, language) do
config_path = project[:config_path]
compile_config =
if File.regular?(config_path) do
config = Config.Reader.read!(config_path, env: Mix.env(), target: Mix.target())
Macro.escape(config)
else
[]
end
runtime_path = config_path |> Path.dirname() |> Path.join("runtime.exs")
runtime_config =
if File.regular?(runtime_path) do
File.read!(runtime_path)
end
module_body =
quote do
@spec main(OptionParser.argv()) :: any
def main(args) do
unquote(main_body_for(language, module, app, compile_config, runtime_config))
end
defp load_config(config) do
each_fun = fn {app, kw} ->
set_env_fun = fn {k, v} -> :application.set_env(app, k, v, persistent: true) end
:lists.foreach(set_env_fun, kw)
end
:lists.foreach(each_fun, config)
:ok
end
defp start_app(nil) do
:ok
end
defp start_app(app) do
case :application.ensure_all_started(app) do
{:ok, _} ->
:ok
{:error, {app, reason}} ->
formatted_error =
case :code.ensure_loaded(Application) do
{:module, Application} -> Application.format_error(reason)
{:error, _} -> :io_lib.format(~c"~p", [reason])
end
error_message = [
"ERROR! Could not start application ",
:erlang.atom_to_binary(app, :utf8),
": ",
formatted_error,
?\n
]
io_error(error_message)
:erlang.halt(1)
end
end
defp io_error(message) do
:io.put_chars(:standard_error, message)
end
end
{:module, ^name, binary, _} = Module.create(name, module_body, Macro.Env.location(__ENV__))
[{~c"#{name}.beam", binary}]
end
defp main_body_for(:elixir, module, app, compile_config, runtime_config) do
config =
if runtime_config do
quote do
runtime_config =
Config.Reader.eval!(
"config/runtime.exs",
unquote(runtime_config),
env: unquote(Mix.env()),
target: unquote(Mix.target()),
imports: :disabled
)
Config.Reader.merge(unquote(compile_config), runtime_config)
end
else
compile_config
end
quote do
case :application.ensure_all_started(:elixir) do
{:ok, _} ->
args = Enum.map(args, &List.to_string(&1))
System.argv(args)
load_config(unquote(config))
start_app(unquote(app))
Kernel.CLI.run(fn _ -> unquote(module).main(args) end)
error ->
io_error(["ERROR! Failed to start Elixir.\n", :io_lib.format(~c"error: ~p~n", [error])])
:erlang.halt(1)
end
end
end
end
output = System.get_env("OUT")
IO.puts("Will write to " <> output)
project = [
config_path: System.get_env("CONFIG_PATH", "config/config.exs"),
]
app = String.to_atom(System.get_env("APP"))
name = String.to_atom(Atom.to_string(app) <> "_escript")
module = String.to_atom(System.get_env("MAIN_MODULE"))
:application.ensure_all_started(:mix)
Mix.State.start_link(:none)
[{_, bytecode}] = ElixirEscriptMain.gen_main(project, name, module, app, :elixir)
{:ok, file} = File.open(output, [:write])
IO.binwrite(file, bytecode)
File.close(file)
IO.puts("done.")

View File

@ -1,175 +0,0 @@
load("@bazel_skylib//lib:shell.bzl", "shell")
load(
"@rules_elixir//private:elixir_toolchain.bzl",
"elixir_dirs",
"erlang_dirs",
"maybe_install_erlang",
)
load(
"@rules_erlang//:erlang_app_info.bzl",
"ErlangAppInfo",
"flat_deps",
)
load(
"@rules_erlang//:util.bzl",
"path_join",
)
load(
"@rules_erlang//private:util.bzl",
"additional_file_dest_relative_path",
"erl_libs_contents",
)
def _impl(ctx):
(erlang_home, _, erlang_runfiles) = erlang_dirs(ctx)
(elixir_home, elixir_runfiles) = elixir_dirs(ctx)
out = ctx.actions.declare_file(ctx.attr.out.name)
mix_invocation_dir = ctx.actions.declare_directory("{}_mix".format(ctx.label.name))
erl_libs_dir = ctx.label.name + "_deps"
erl_libs_files = erl_libs_contents(
ctx,
target_info = None,
headers = True,
dir = erl_libs_dir,
deps = flat_deps(ctx.attr.deps),
ez_deps = ctx.files.ez_deps,
expand_ezs = True,
)
erl_libs_path = ""
if len(erl_libs_files) > 0:
erl_libs_path = path_join(
ctx.bin_dir.path,
ctx.label.workspace_root,
ctx.label.package,
erl_libs_dir,
)
copy_srcs_commands = []
for src in ctx.attr.srcs:
for src_file in src[DefaultInfo].files.to_list():
dest = additional_file_dest_relative_path(src.label, src_file)
copy_srcs_commands.extend([
'mkdir -p "$(dirname ${{MIX_INVOCATION_DIR}}/{dest})"'.format(
dest = dest,
),
'cp {flags}"{src}" "${{MIX_INVOCATION_DIR}}/{dest}"'.format(
flags = "-r " if src_file.is_directory else "",
src = src_file.path,
dest = dest,
),
])
script = """set -euo pipefail
{maybe_install_erlang}
if [ -n "{erl_libs_path}" ]; then
export ERL_LIBS=$PWD/{erl_libs_path}
fi
if [[ "{elixir_home}" == /* ]]; then
ABS_ELIXIR_HOME="{elixir_home}"
else
ABS_ELIXIR_HOME=$PWD/{elixir_home}
fi
ABS_OUT_PATH="$PWD/{out}"
export PATH="$ABS_ELIXIR_HOME"/bin:"{erlang_home}"/bin:${{PATH}}
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
MIX_INVOCATION_DIR="{mix_invocation_dir}"
{copy_srcs_commands}
ORIGINAL_DIR=$PWD
cd "${{MIX_INVOCATION_DIR}}"
export HOME="${{PWD}}"
export MIX_ENV=prod
export ERL_COMPILER_OPTIONS=deterministic
for archive in {archives}; do
"${{ABS_ELIXIR_HOME}}"/bin/mix archive.install --force $ORIGINAL_DIR/$archive
done
if [[ -n "{erl_libs_path}" ]]; then
mkdir -p _build/${{MIX_ENV}}/lib
for dep in "$ERL_LIBS"/*; do
ln -s $dep _build/${{MIX_ENV}}/lib
done
fi
{setup}
"${{ABS_ELIXIR_HOME}}"/bin/mix archive.build \\
--no-deps-check \\
-o "${{ABS_OUT_PATH}}"
# remove symlinks from the _build directory since it
# is an unused output, and bazel does not allow them
find . -type l -delete
""".format(
maybe_install_erlang = maybe_install_erlang(ctx),
erl_libs_path = erl_libs_path,
erlang_home = erlang_home,
elixir_home = elixir_home,
mix_invocation_dir = mix_invocation_dir.path,
copy_srcs_commands = "\n".join(copy_srcs_commands),
archives = " ".join([shell.quote(a.path) for a in ctx.files.archives]),
setup = ctx.attr.setup,
out = out.path,
)
inputs = depset(
direct = ctx.files.srcs,
transitive = [
erlang_runfiles.files,
elixir_runfiles.files,
depset(ctx.files.archives),
depset(erl_libs_files),
],
)
ctx.actions.run_shell(
inputs = inputs,
outputs = [
out,
mix_invocation_dir,
],
command = script,
mnemonic = "MIX",
)
return [
DefaultInfo(
files = depset([out]),
),
]
mix_archive_build = rule(
implementation = _impl,
attrs = {
"srcs": attr.label_list(
mandatory = True,
allow_files = True,
),
"archives": attr.label_list(
allow_files = [".ez"],
),
"setup": attr.string(),
"ez_deps": attr.label_list(
allow_files = [".ez"],
),
"deps": attr.label_list(
providers = [ErlangAppInfo],
),
"out": attr.output(),
},
toolchains = [
"@rules_elixir//:toolchain_type",
],
)

View File

@ -1,67 +0,0 @@
load(
"@rules_erlang//:erlang_app_info.bzl",
"ErlangAppInfo",
"flat_deps",
)
load(
"@rules_erlang//:util.bzl",
"path_join",
)
def _impl(ctx):
ebin = ctx.actions.declare_directory(path_join(ctx.attr.app_name, "ebin"))
script = """set -euo pipefail
DEST="$(mktemp -d)"
unzip -q -d "$DEST" {archive}
cp "$DEST"/{app_name}/ebin/* {ebin}
""".format(
archive = ctx.file.archive.path,
app_name = ctx.attr.app_name,
ebin = ebin.path,
)
ctx.actions.run_shell(
inputs = ctx.files.archive,
outputs = [ebin],
command = script,
mnemonic = "MixArchiveExtract",
)
deps = flat_deps(ctx.attr.deps)
runfiles = ctx.runfiles([ebin])
for dep in ctx.attr.deps:
runfiles = runfiles.merge(dep[DefaultInfo].default_runfiles)
return [
DefaultInfo(
files = depset([ebin]),
runfiles = runfiles,
),
ErlangAppInfo(
app_name = ctx.attr.app_name,
extra_apps = ctx.attr.extra_apps,
include = [],
beam = [ebin],
priv = [],
license_files = [],
srcs = ctx.files.srcs,
deps = deps,
)
]
mix_archive_extract = rule(
implementation = _impl,
attrs = {
"app_name": attr.string(mandatory = True),
"extra_apps": attr.string_list(),
"deps": attr.label_list(providers = [ErlangAppInfo]),
"archive": attr.label(
allow_single_file = [".ez"],
),
"srcs": attr.label_list(),
},
provides = [ErlangAppInfo],
)

View File

@ -1,177 +0,0 @@
load(":ct_logdir_vars.bzl", "ct_logdir_vars")
package(
default_visibility = ["//visibility:public"],
)
ct_logdir_vars(
name = "ct_logdir_vars",
)
genrule(
name = "test-logs",
outs = ["open-test-logs.sh"],
cmd = """set -euo pipefail
cat << 'EOF' > $@
#!/usr/bin/env bash
set -euo pipefail
if [ -n "$(CT_LOGDIR)" ]; then
open "$(CT_LOGDIR)/index.html"
exit 0
fi
if [ $$# -eq 0 ]; then
echo "Usage: bazel run test-logs TEST_LABEL [shard_index]"
exit 1
fi
RELATIVE=$${1#//}
PACKAGE=$${RELATIVE%%:*}
SUITE=$${RELATIVE##*:}
OUTPUT_DIR=test.outputs
if [ $$# -gt 1 ]; then
OUTPUT_DIR=shard_$$2_of_*/test.outputs
fi
if [ ! -d "bazel-testlogs/$$PACKAGE/$$SUITE/"$$OUTPUT_DIR ]; then
echo "Test output dir not found, perhaps shard_index needed?"
echo "Usage: bazel run test-logs TEST_LABEL [shard_index]"
exit 1
fi
cd "bazel-testlogs/$$PACKAGE/$$SUITE/"$$OUTPUT_DIR
if [ -f outputs.zip ]; then
unzip -u outputs.zip
fi
set +e
open index.html
rc=$$?
set -e
if [[ $$rc -eq 3 ]]; then
# For xdg-open exit code 3 means "A required tool could not be found." That is, there is no browser.
echo "Open your browser at http://$$(hostname -s):8000/index.html"
python -m http.server 8000
fi
EOF
""",
executable = True,
toolchains = [":ct_logdir_vars"],
)
genrule(
name = "remote-test-logs",
outs = ["open-remote-test-logs.sh"],
cmd = """set -euo pipefail
cat << 'EOF' > $@
#!/usr/bin/env bash
set -euo pipefail
if [ $$# -eq 0 ]; then
echo "Usage: bazel run remote-test-logs TEST_LABEL [shard_index]"
exit 1
fi
RELATIVE=$${1#//}
PACKAGE=$${RELATIVE%%:*}
SUITE=$${RELATIVE##*:}
OUTPUT_DIR=test.outputs
if [ $$# -gt 1 ]; then
OUTPUT_DIR=shard_$$2_of_*/test.outputs
fi
TESTLOGS=$$(echo $$(bazel info output_path)/k8-*/testlogs)
if [ ! -d "$$TESTLOGS/$$PACKAGE/$$SUITE/$$OUTPUT_DIR" ]; then
echo "Test output dir not found, perhaps shard_index needed?"
echo "Usage: bazel run remote-test-logs TEST_LABEL [shard_index]"
exit 1
fi
cd "$$TESTLOGS/$$PACKAGE/$$SUITE/$$OUTPUT_DIR" && unzip -u outputs.zip
open index.html
EOF
""",
executable = True,
)
genrule(
name = "test-node-data",
outs = ["open-test-node-data.sh"],
cmd = """set -euo pipefail
cat << 'EOF' > $@
set -euo pipefail
if [ -n "$(CT_LOGDIR)" ]; then
open "$(CT_LOGDIR)/index.html"
exit 0
fi
if [ $$# -eq 0 ]; then
echo "Usage: bazel run test-node-data TEST_LABEL [shard_index]"
exit 1
fi
RELATIVE=$${1#//}
PACKAGE=$${RELATIVE%%:*}
SUITE=$${RELATIVE##*:}
OUTPUT_DIR=test.outputs
if [ $$# -gt 1 ]; then
OUTPUT_DIR=shard_$$2_of_*/test.outputs
fi
if [ ! -d "bazel-testlogs/$$PACKAGE/$$SUITE/"$$OUTPUT_DIR ]; then
echo "Test output dir not found, perhaps shard_index needed?"
echo "Usage: bazel run test-node-data TEST_LABEL [shard_index]"
exit 1
fi
cd bazel-testlogs/$$PACKAGE/$$SUITE/$$OUTPUT_DIR
if [ -f outputs.zip ]; then
unzip -u outputs.zip
fi
open index.html
open ct_run.*/deps.*/run.*/log_private
EOF
""",
executable = True,
toolchains = [":ct_logdir_vars"],
)
# NOTE: this rule may not work properly if --remote_download_minimal has been used,
# which is currently the default for remote runs
genrule(
name = "remote-test-node-data",
outs = ["open-remote-test-node-data.sh"],
cmd = """set -euo pipefail
cat << 'EOF' > $@
set -euo pipefail
if [ $$# -eq 0 ]; then
echo "Usage: bazel run remote-test-node-data TEST_LABEL [shard_index]"
exit 1
fi
RELATIVE=$${1#//}
PACKAGE=$${RELATIVE%%:*}
SUITE=$${RELATIVE##*:}
OUTPUT_DIR=test.outputs
if [ $$# -gt 1 ]; then
OUTPUT_DIR=shard_$$2_of_*/test.outputs
fi
TESTLOGS=$$(echo $$(bazel info output_path)/k8-*/testlogs)
if [ ! -d $$TESTLOGS/$$PACKAGE/$$SUITE/$$OUTPUT_DIR ]; then
echo "Test output dir not found, perhaps shard_index needed?"
echo "Usage: bazel run remote-test-node-data TEST_LABEL [shard_index]"
exit 1
fi
cd $$TESTLOGS/$$PACKAGE/$$SUITE/$$OUTPUT_DIR && unzip -u outputs.zip
open index.html
open ct_run.*/deps.*/run.*/log_private
EOF
""",
executable = True,
)

View File

@ -1,23 +0,0 @@
load(
"@bazel_skylib//rules:common_settings.bzl",
"BuildSettingInfo",
)
def _impl(ctx):
vars = {
"CT_LOGDIR": ctx.attr._ct_logdir[BuildSettingInfo].value,
}
return [platform_common.TemplateVariableInfo(vars)]
ct_logdir_vars = rule(
implementation = _impl,
attrs = {
"_ct_logdir": attr.label(
default = Label("@rules_erlang//:ct_logdir"),
),
},
provides = [
platform_common.TemplateVariableInfo,
],
)

View File

@ -1,147 +0,0 @@
load("@rules_erlang//:eunit2.bzl", "eunit")
load("@rules_erlang//:xref2.bzl", "xref")
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
"rabbitmq_app",
"rabbitmq_integration_suite",
"rabbitmq_suite",
)
load(
":app.bzl",
"all_beam_files",
"all_srcs",
"all_test_beam_files",
"test_suite_beam_files",
)
APP_NAME = "amqp10_client"
APP_DESCRIPTION = "AMQP 1.0 client"
APP_MODULE = "amqp10_client_app"
APP_EXTRA_KEYS = """%% Hex.pm package informations.
{licenses, ["MPL-2.0"]},
{links, [
{"Website", "https://www.rabbitmq.com/"},
{"GitHub", "https://github.com/rabbitmq/rabbitmq-server/tree/main/deps/amqp10_client"}
]},
{build_tools, ["make", "rebar3"]},
{files, [
"erlang.mk",
"git-revisions.txt",
"include",
"LICENSE*",
"Makefile",
"rabbitmq-components.mk",
"README",
"README.md",
"src"
]}
"""
all_beam_files(name = "all_beam_files")
all_test_beam_files(name = "all_test_beam_files")
all_srcs(name = "all_srcs")
test_suite_beam_files(name = "test_suite_beam_files")
# gazelle:erlang_app_extra_app ssl
# gazelle:erlang_app_extra_app inets
# gazelle:erlang_app_extra_app crypto
# gazelle:erlang_app_extra_app public_key
rabbitmq_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = APP_DESCRIPTION,
app_extra_keys = APP_EXTRA_KEYS,
app_module = APP_MODULE,
app_name = APP_NAME,
beam_files = [":beam_files"],
extra_apps = [
"crypto",
"inets",
"ssl",
"public_key",
],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"//deps/amqp10_common:erlang_app",
"//deps/rabbit_common:erlang_app",
"@credentials_obfuscation//:erlang_app",
"@gun//:erlang_app",
],
)
xref(
name = "xref",
target = ":erlang_app",
)
plt(
name = "deps_plt",
for_target = ":erlang_app",
ignore_warnings = True,
plt = "//:base_plt",
)
dialyze(
name = "dialyze",
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
plt = ":deps_plt",
target = ":erlang_app",
)
broker_for_integration_suites(
)
TEST_DEPS = [
"//deps/amqp10_common:erlang_app",
]
rabbitmq_suite(
name = "msg_SUITE",
deps = TEST_DEPS,
)
rabbitmq_integration_suite(
name = "system_SUITE",
size = "medium",
additional_beam = [
"test/activemq_ct_helpers.beam",
"test/mock_server.beam",
],
data = [
"@activemq//:exec_dir",
],
test_env = {
"ACTIVEMQ": "$TEST_SRCDIR/$TEST_WORKSPACE/external/activemq/bin/activemq",
},
deps = TEST_DEPS,
)
assert_suites()
alias(
name = "amqp10_client",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
eunit(
name = "eunit",
compiled_suites = [
":test_activemq_ct_helpers_beam",
":test_mock_server_beam",
],
target = ":test_erlang_app",
)

View File

@ -1,19 +0,0 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
ACTIVEMQ_VERSION = "5.18.3"
ACTIVEMQ_URL = "https://archive.apache.org/dist/activemq/{version}/apache-activemq-{version}-bin.tar.gz".format(version = ACTIVEMQ_VERSION)
SHA_256 = "943381aa6d340707de6c42eadbf7b41b7fdf93df604156d972d50c4da783544f"
def activemq_archive():
http_archive(
name = "activemq",
urls = [ACTIVEMQ_URL],
sha256 = SHA_256,
strip_prefix = "apache-activemq-{}".format(ACTIVEMQ_VERSION),
build_file_content = """filegroup(
name = "exec_dir",
srcs = glob(["bin/**/*", "lib/**/*", "conf/**/*", "activemq-all-*.jar"]),
visibility = ["//visibility:public"],
)
""",
)

View File

@ -1,139 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode")
load("@rules_erlang//:filegroup.bzl", "filegroup")
def all_beam_files(name = "all_beam_files"):
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/amqp10_client.erl",
"src/amqp10_client_app.erl",
"src/amqp10_client_connection.erl",
"src/amqp10_client_connection_sup.erl",
"src/amqp10_client_frame_reader.erl",
"src/amqp10_client_session.erl",
"src/amqp10_client_sessions_sup.erl",
"src/amqp10_client_socket.erl",
"src/amqp10_client_sup.erl",
"src/amqp10_client_types.erl",
"src/amqp10_msg.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "amqp10_client",
dest = "ebin",
erlc_opts = "//:erlc_opts",
deps = ["//deps/amqp10_common:erlang_app"],
)
def all_test_beam_files(name = "all_test_beam_files"):
filegroup(
name = "test_beam_files",
testonly = True,
srcs = [":test_other_beam"],
)
erlang_bytecode(
name = "test_other_beam",
testonly = True,
srcs = [
"src/amqp10_client.erl",
"src/amqp10_client_app.erl",
"src/amqp10_client_connection.erl",
"src/amqp10_client_connection_sup.erl",
"src/amqp10_client_frame_reader.erl",
"src/amqp10_client_session.erl",
"src/amqp10_client_sessions_sup.erl",
"src/amqp10_client_socket.erl",
"src/amqp10_client_sup.erl",
"src/amqp10_client_types.erl",
"src/amqp10_msg.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "amqp10_client",
dest = "test",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/amqp10_common:erlang_app"],
)
def all_srcs(name = "all_srcs"):
filegroup(
name = "all_srcs",
srcs = [":public_and_private_hdrs", ":srcs"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [":private_hdrs", ":public_hdrs"],
)
filegroup(
name = "priv",
)
filegroup(
name = "srcs",
srcs = [
"src/amqp10_client.erl",
"src/amqp10_client_app.erl",
"src/amqp10_client_connection.erl",
"src/amqp10_client_connection_sup.erl",
"src/amqp10_client_frame_reader.erl",
"src/amqp10_client_session.erl",
"src/amqp10_client_sessions_sup.erl",
"src/amqp10_client_socket.erl",
"src/amqp10_client_sup.erl",
"src/amqp10_client_types.erl",
"src/amqp10_msg.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = ["src/amqp10_client.hrl"],
)
filegroup(
name = "public_hdrs",
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
"LICENSE-MPL-RabbitMQ",
],
)
def test_suite_beam_files(name = "test_suite_beam_files"):
erlang_bytecode(
name = "msg_SUITE_beam_files",
testonly = True,
srcs = ["test/msg_SUITE.erl"],
outs = ["test/msg_SUITE.beam"],
app_name = "amqp10_client",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/amqp10_common:erlang_app"],
)
erlang_bytecode(
name = "system_SUITE_beam_files",
testonly = True,
srcs = ["test/system_SUITE.erl"],
outs = ["test/system_SUITE.beam"],
app_name = "amqp10_client",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/amqp10_common:erlang_app"],
)
erlang_bytecode(
name = "test_activemq_ct_helpers_beam",
testonly = True,
srcs = ["test/activemq_ct_helpers.erl"],
outs = ["test/activemq_ct_helpers.beam"],
app_name = "amqp10_client",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "test_mock_server_beam",
testonly = True,
srcs = ["test/mock_server.erl"],
outs = ["test/mock_server.beam"],
hdrs = ["src/amqp10_client.hrl"],
app_name = "amqp10_client",
erlc_opts = "//:test_erlc_opts",
)

View File

@ -1,144 +0,0 @@
load("@rules_erlang//:eunit2.bzl", "eunit")
load("@rules_erlang//:xref2.bzl", "xref")
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"rabbitmq_app",
"rabbitmq_suite",
)
load(
":app.bzl",
"all_beam_files",
"all_srcs",
"all_test_beam_files",
"test_suite_beam_files",
)
py_binary(
name = "codegen",
srcs = [
"codegen.py",
],
imports = ["../../deps/rabbitmq_codegen"],
deps = [
"//deps/rabbitmq_codegen:amqp_codegen",
],
)
AMQP_SPEC_1_0 = [
"//deps/rabbitmq_codegen:amqp-1.0/messaging.xml",
"//deps/rabbitmq_codegen:amqp-1.0/security.xml",
"//deps/rabbitmq_codegen:amqp-1.0/transport.xml",
"//deps/rabbitmq_codegen:amqp-1.0/transactions.xml",
]
genrule(
name = "generated_headers",
srcs = AMQP_SPEC_1_0,
outs = ["include/amqp10_framing.hrl"],
cmd = "$(location :codegen) hrl $(SRCS) > $@",
tools = [":codegen"],
)
genrule(
name = "generated_sources",
srcs = AMQP_SPEC_1_0,
outs = ["src/amqp10_framing0.erl"],
cmd = "$(location :codegen) erl $(SRCS) > $@",
tools = [":codegen"],
)
APP_EXTRA_KEYS = """%% Hex.pm package informations.
{licenses, ["MPL-2.0"]},
{links, [
{"Website", "https://www.rabbitmq.com/"},
{"GitHub", "https://github.com/rabbitmq/rabbitmq-server/tree/main/deps/amqp10_common"}
]},
{build_tools, ["make", "rebar3"]},
{files, [
"erlang.mk",
"git-revisions.txt",
"include",
"LICENSE*",
"Makefile",
"rabbitmq-components.mk",
"README",
"README.md",
"src"
]}
"""
all_beam_files(name = "all_beam_files")
all_test_beam_files(name = "all_test_beam_files")
all_srcs(name = "all_srcs")
test_suite_beam_files(name = "test_suite_beam_files")
rabbitmq_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = "Modules shared by rabbitmq-amqp1.0 and rabbitmq-amqp1.0-client",
app_extra_keys = APP_EXTRA_KEYS,
app_name = "amqp10_common",
beam_files = [":beam_files"],
license_files = [":license_files"],
priv = [":priv"],
)
xref(
name = "xref",
target = ":erlang_app",
)
plt(
name = "deps_plt",
for_target = ":erlang_app",
plt = "//:base_plt",
)
dialyze(
name = "dialyze",
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
plt = ":deps_plt",
target = ":erlang_app",
)
rabbitmq_suite(
name = "binary_generator_SUITE",
size = "small",
)
rabbitmq_suite(
name = "binary_parser_SUITE",
size = "small",
)
rabbitmq_suite(
name = "serial_number_SUITE",
size = "small",
)
rabbitmq_suite(
name = "prop_SUITE",
deps = [
"//deps/rabbitmq_ct_helpers:erlang_app",
],
)
assert_suites()
alias(
name = "amqp10_common",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
eunit(
name = "eunit",
target = ":test_erlang_app",
)

View File

@ -1,122 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode")
load("@rules_erlang//:filegroup.bzl", "filegroup")
def all_beam_files(name = "all_beam_files"):
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/amqp10_binary_generator.erl",
"src/amqp10_binary_parser.erl",
"src/amqp10_framing.erl",
"src/amqp10_framing0.erl",
"src/amqp10_util.erl",
"src/serial_number.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "amqp10_common",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
def all_test_beam_files(name = "all_test_beam_files"):
filegroup(
name = "test_beam_files",
testonly = True,
srcs = [":test_other_beam"],
)
erlang_bytecode(
name = "test_other_beam",
testonly = True,
srcs = [
"src/amqp10_binary_generator.erl",
"src/amqp10_binary_parser.erl",
"src/amqp10_framing.erl",
"src/amqp10_framing0.erl",
"src/amqp10_util.erl",
"src/serial_number.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "amqp10_common",
dest = "test",
erlc_opts = "//:test_erlc_opts",
)
def all_srcs(name = "all_srcs"):
filegroup(
name = "all_srcs",
srcs = [":public_and_private_hdrs", ":srcs"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [":private_hdrs", ":public_hdrs"],
)
filegroup(
name = "priv",
)
filegroup(
name = "srcs",
srcs = [
"src/amqp10_binary_generator.erl",
"src/amqp10_binary_parser.erl",
"src/amqp10_framing.erl",
"src/amqp10_framing0.erl",
"src/amqp10_util.erl",
"src/serial_number.erl",
],
)
filegroup(
name = "public_hdrs",
srcs = ["include/amqp10_filtex.hrl", "include/amqp10_framing.hrl", "include/amqp10_types.hrl"],
)
filegroup(
name = "private_hdrs",
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
"LICENSE-MPL-RabbitMQ",
],
)
def test_suite_beam_files(name = "test_suite_beam_files"):
erlang_bytecode(
name = "binary_generator_SUITE_beam_files",
testonly = True,
srcs = ["test/binary_generator_SUITE.erl"],
outs = ["test/binary_generator_SUITE.beam"],
app_name = "amqp10_common",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "binary_parser_SUITE_beam_files",
testonly = True,
srcs = ["test/binary_parser_SUITE.erl"],
outs = ["test/binary_parser_SUITE.beam"],
app_name = "amqp10_common",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "serial_number_SUITE_beam_files",
testonly = True,
srcs = ["test/serial_number_SUITE.erl"],
outs = ["test/serial_number_SUITE.beam"],
app_name = "amqp10_common",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "prop_SUITE_beam_files",
testonly = True,
srcs = ["test/prop_SUITE.erl"],
outs = ["test/prop_SUITE.beam"],
hdrs = ["include/amqp10_framing.hrl"],
app_name = "amqp10_common",
erlc_opts = "//:test_erlc_opts",
deps = ["@proper//:erlang_app"],
)

View File

@ -1,147 +0,0 @@
load("@rules_erlang//:eunit2.bzl", "eunit")
load("@rules_erlang//:xref2.bzl", "xref")
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load("//:rabbitmq_home.bzl", "rabbitmq_home")
load("//:rabbitmq_run.bzl", "rabbitmq_run")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"rabbitmq_app",
"rabbitmq_integration_suite",
"rabbitmq_suite",
)
load(
":app.bzl",
"all_beam_files",
"all_srcs",
"all_test_beam_files",
"test_suite_beam_files",
)
APP_ENV = """[
{prefer_ipv6, false},
{ssl_options, []},
{writer_gc_threshold, 1000000000}
]"""
APP_EXTRA_KEYS = """%% Hex.pm package informations.
{licenses, ["MPL-2.0"]},
{links, [
{"Website", "https://www.rabbitmq.com/"},
{"GitHub", "https://github.com/rabbitmq/rabbitmq-server/tree/main/deps/amqp_client"},
{"User guide", "https://www.rabbitmq.com/erlang-client-user-guide.html"}
]},
{build_tools, ["make", "rebar3"]},
{files, [
"erlang.mk",
"git-revisions.txt",
"include",
"LICENSE*",
"Makefile",
"rabbitmq-components.mk",
"README",
"README.md",
"src"
]}
"""
all_beam_files(name = "all_beam_files")
all_test_beam_files(name = "all_test_beam_files")
all_srcs(name = "all_srcs")
test_suite_beam_files(name = "test_suite_beam_files")
# gazelle:erlang_app_extra_app xmerl
# gazelle:erlang_app_extra_app ssl
# gazelle:erlang_app_extra_app public_key
rabbitmq_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = "RabbitMQ AMQP Client",
app_env = APP_ENV,
app_extra_keys = APP_EXTRA_KEYS,
app_module = "amqp_client",
app_name = "amqp_client",
app_registered = [
"amqp_sup",
],
beam_files = [":beam_files"],
extra_apps = [
"xmerl",
"public_key",
"ssl",
],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"//deps/rabbit_common:erlang_app",
"@credentials_obfuscation//:erlang_app",
],
)
xref(
name = "xref",
target = ":erlang_app",
)
plt(
name = "deps_plt",
for_target = ":erlang_app",
ignore_warnings = True,
plt = "//:base_plt",
)
dialyze(
name = "dialyze",
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
plt = ":deps_plt",
target = ":erlang_app",
)
rabbitmq_home(
name = "broker-for-tests-home",
plugins = [
"//deps/rabbit:erlang_app",
"//deps/rabbitmq_cli:erlang_app",
],
)
rabbitmq_run(
name = "rabbitmq-for-tests-run",
home = ":broker-for-tests-home",
)
rabbitmq_integration_suite(
name = "system_SUITE",
size = "large",
deps = [
"@meck//:erlang_app",
],
)
rabbitmq_suite(
name = "unit_SUITE",
size = "small",
deps = [
"//deps/rabbit:erlang_app",
"//deps/rabbit_common:erlang_app",
],
)
assert_suites()
alias(
name = "amqp_client",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
eunit(
name = "eunit",
target = ":test_erlang_app",
)

View File

@ -1,192 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode")
load("@rules_erlang//:filegroup.bzl", "filegroup")
def all_beam_files(name = "all_beam_files"):
filegroup(
name = "beam_files",
srcs = [":behaviours", ":other_beam"],
)
erlang_bytecode(
name = "behaviours",
srcs = [
"src/amqp_gen_connection.erl",
"src/amqp_gen_consumer.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "amqp_client",
dest = "ebin",
erlc_opts = "//:erlc_opts",
deps = ["//deps/rabbit_common:erlang_app"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/amqp_auth_mechanisms.erl",
"src/amqp_channel.erl",
"src/amqp_channel_sup.erl",
"src/amqp_channel_sup_sup.erl",
"src/amqp_channels_manager.erl",
"src/amqp_client.erl",
"src/amqp_connection.erl",
"src/amqp_connection_sup.erl",
"src/amqp_connection_type_sup.erl",
"src/amqp_direct_connection.erl",
"src/amqp_direct_consumer.erl",
"src/amqp_main_reader.erl",
"src/amqp_network_connection.erl",
"src/amqp_rpc_client.erl",
"src/amqp_rpc_server.erl",
"src/amqp_selective_consumer.erl",
"src/amqp_ssl.erl",
"src/amqp_sup.erl",
"src/amqp_uri.erl",
"src/amqp_util.erl",
"src/rabbit_routing_util.erl",
"src/uri_parser.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "amqp_client",
beam = [":behaviours"],
dest = "ebin",
erlc_opts = "//:erlc_opts",
deps = ["//deps/rabbit_common:erlang_app"],
)
def all_test_beam_files(name = "all_test_beam_files"):
filegroup(
name = "test_beam_files",
testonly = True,
srcs = [":test_behaviours", ":test_other_beam"],
)
erlang_bytecode(
name = "test_behaviours",
testonly = True,
srcs = [
"src/amqp_gen_connection.erl",
"src/amqp_gen_consumer.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "amqp_client",
dest = "test",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/rabbit_common:erlang_app"],
)
erlang_bytecode(
name = "test_other_beam",
testonly = True,
srcs = [
"src/amqp_auth_mechanisms.erl",
"src/amqp_channel.erl",
"src/amqp_channel_sup.erl",
"src/amqp_channel_sup_sup.erl",
"src/amqp_channels_manager.erl",
"src/amqp_client.erl",
"src/amqp_connection.erl",
"src/amqp_connection_sup.erl",
"src/amqp_connection_type_sup.erl",
"src/amqp_direct_connection.erl",
"src/amqp_direct_consumer.erl",
"src/amqp_main_reader.erl",
"src/amqp_network_connection.erl",
"src/amqp_rpc_client.erl",
"src/amqp_rpc_server.erl",
"src/amqp_selective_consumer.erl",
"src/amqp_ssl.erl",
"src/amqp_sup.erl",
"src/amqp_uri.erl",
"src/amqp_util.erl",
"src/rabbit_routing_util.erl",
"src/uri_parser.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "amqp_client",
beam = [":test_behaviours"],
dest = "test",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/rabbit_common:erlang_app"],
)
def all_srcs(name = "all_srcs"):
filegroup(
name = "all_srcs",
srcs = [":public_and_private_hdrs", ":srcs"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [":private_hdrs", ":public_hdrs"],
)
filegroup(
name = "priv",
)
filegroup(
name = "srcs",
srcs = [
"src/amqp_auth_mechanisms.erl",
"src/amqp_channel.erl",
"src/amqp_channel_sup.erl",
"src/amqp_channel_sup_sup.erl",
"src/amqp_channels_manager.erl",
"src/amqp_client.erl",
"src/amqp_connection.erl",
"src/amqp_connection_sup.erl",
"src/amqp_connection_type_sup.erl",
"src/amqp_direct_connection.erl",
"src/amqp_direct_consumer.erl",
"src/amqp_gen_connection.erl",
"src/amqp_gen_consumer.erl",
"src/amqp_main_reader.erl",
"src/amqp_network_connection.erl",
"src/amqp_rpc_client.erl",
"src/amqp_rpc_server.erl",
"src/amqp_selective_consumer.erl",
"src/amqp_ssl.erl",
"src/amqp_sup.erl",
"src/amqp_uri.erl",
"src/amqp_util.erl",
"src/rabbit_routing_util.erl",
"src/uri_parser.erl",
],
)
filegroup(
name = "public_hdrs",
srcs = [
"include/amqp_client.hrl",
"include/amqp_client_internal.hrl",
"include/amqp_gen_consumer_spec.hrl",
"include/rabbit_routing_prefixes.hrl",
],
)
filegroup(
name = "private_hdrs",
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
"LICENSE-MPL-RabbitMQ",
],
)
def test_suite_beam_files(name = "test_suite_beam_files"):
erlang_bytecode(
name = "system_SUITE_beam_files",
testonly = True,
srcs = ["test/system_SUITE.erl"],
outs = ["test/system_SUITE.beam"],
hdrs = ["include/amqp_client.hrl", "include/amqp_client_internal.hrl"],
app_name = "amqp_client",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/rabbit_common:erlang_app"],
)
erlang_bytecode(
name = "unit_SUITE_beam_files",
testonly = True,
srcs = ["test/unit_SUITE.erl"],
outs = ["test/unit_SUITE.beam"],
hdrs = ["include/amqp_client.hrl"],
app_name = "amqp_client",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/rabbit_common:erlang_app"],
)

View File

@ -1,126 +0,0 @@
load("@rules_erlang//:eunit2.bzl", "eunit")
load("@rules_erlang//:xref2.bzl", "xref")
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
"rabbitmq_app",
"rabbitmq_integration_suite",
"rabbitmq_suite",
)
load(
":app.bzl",
"all_beam_files",
"all_srcs",
"all_test_beam_files",
"test_suite_beam_files",
)
APP_NAME = "oauth2_client"
APP_DESCRIPTION = "OAuth 2.0 client from the RabbitMQ Project"
APP_MODULE = "oauth2_client_app"
# gazelle:erlang_app_extra_app ssl
# gazelle:erlang_app_extra_app inets
# gazelle:erlang_app_extra_app crypto
# gazelle:erlang_app_extra_app public_key
# gazelle:erlang_app_dep_exclude rabbit
rabbitmq_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = APP_DESCRIPTION,
app_module = APP_MODULE,
app_name = APP_NAME,
beam_files = [":beam_files"],
extra_apps = [
"crypto",
"inets",
"ssl",
"public_key",
],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"//deps/rabbit_common:erlang_app",
"@jose//:erlang_app",
],
)
xref(
name = "xref",
additional_libs = [
"//deps/rabbit:erlang_app", # keep
],
target = ":erlang_app",
)
plt(
name = "deps_plt",
for_target = ":erlang_app",
ignore_warnings = True,
plt = "//:base_plt",
deps = [
"//deps/rabbit:erlang_app", # keep
],
)
dialyze(
name = "dialyze",
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
plt = ":deps_plt",
target = ":erlang_app",
)
eunit(
name = "eunit",
compiled_suites = [
":test_oauth_http_mock_beam",
":test_oauth2_client_test_util_beam",
],
target = ":test_erlang_app",
)
all_srcs(name = "all_srcs")
all_beam_files(name = "all_beam_files")
all_test_beam_files(name = "all_test_beam_files")
test_suite_beam_files(name = "test_suite_beam_files")
alias(
name = "oauth2_client",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
broker_for_integration_suites()
rabbitmq_integration_suite(
name = "system_SUITE",
size = "small",
additional_beam = [
"test/oauth_http_mock.beam",
"test/oauth2_client_test_util.beam",
],
runtime_deps = [
"@cowboy//:erlang_app",
],
)
rabbitmq_suite(
name = "unit_SUITE",
size = "small",
additional_beam = [
"test/oauth2_client_test_util.beam",
],
)
assert_suites()

View File

@ -1,111 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode")
load("@rules_erlang//:filegroup.bzl", "filegroup")
def all_beam_files(name = "all_beam_files"):
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/jwt_helper.erl",
"src/oauth2_client.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "oauth2_client",
dest = "ebin",
erlc_opts = "//:erlc_opts",
deps = ["@jose//:erlang_app"],
)
def all_test_beam_files(name = "all_test_beam_files"):
filegroup(
name = "test_beam_files",
testonly = True,
srcs = [":test_other_beam"],
)
erlang_bytecode(
name = "test_other_beam",
testonly = True,
srcs = [
"src/jwt_helper.erl",
"src/oauth2_client.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "oauth2_client",
dest = "test",
erlc_opts = "//:test_erlc_opts",
deps = ["@jose//:erlang_app"],
)
def all_srcs(name = "all_srcs"):
filegroup(
name = "all_srcs",
srcs = [":public_and_private_hdrs", ":srcs"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [":private_hdrs", ":public_hdrs"],
)
filegroup(
name = "priv",
)
filegroup(
name = "srcs",
srcs = [
"src/jwt_helper.erl",
"src/oauth2_client.erl",
],
)
filegroup(
name = "private_hdrs",
)
filegroup(
name = "public_hdrs",
srcs = ["include/oauth2_client.hrl", "include/types.hrl"],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
"LICENSE-MPL-RabbitMQ",
],
)
def test_suite_beam_files(name = "test_suite_beam_files"):
erlang_bytecode(
name = "test_oauth_http_mock_beam",
testonly = True,
srcs = ["test/oauth_http_mock.erl"],
outs = ["test/oauth_http_mock.beam"],
app_name = "oauth2_client",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "system_SUITE_beam_files",
testonly = True,
srcs = ["test/system_SUITE.erl"],
outs = ["test/system_SUITE.beam"],
hdrs = ["include/oauth2_client.hrl", "include/types.hrl"],
app_name = "oauth2_client",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "unit_SUITE_beam_files",
testonly = True,
srcs = ["test/unit_SUITE.erl"],
outs = ["test/unit_SUITE.beam"],
hdrs = ["include/oauth2_client.hrl", "include/types.hrl"],
app_name = "oauth2_client",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "test_oauth2_client_test_util_beam",
testonly = True,
srcs = ["test/oauth2_client_test_util.erl"],
outs = ["test/oauth2_client_test_util.beam"],
app_name = "oauth2_client",
erlc_opts = "//:test_erlc_opts",
)

1382
deps/rabbit/BUILD.bazel vendored

File diff suppressed because it is too large Load Diff

2232
deps/rabbit/app.bzl vendored

File diff suppressed because it is too large Load Diff

36
deps/rabbit/bats.bzl vendored
View File

@ -1,36 +0,0 @@
def _impl(ctx):
script = """set -euo pipefail
external/bats/libexec/bats {test_files}
""".format(
package_dir = ctx.label.package,
test_files = " ".join([t.short_path for t in ctx.files.srcs]),
)
ctx.actions.write(
output = ctx.outputs.executable,
content = script,
)
runfiles = ctx.runfiles(ctx.files.bats + ctx.files.srcs + ctx.files.data)
return [DefaultInfo(runfiles = runfiles)]
bats_test = rule(
implementation = _impl,
attrs = {
"bats": attr.label(),
"srcs": attr.label_list(
allow_files = [".bats"],
mandatory = True,
),
"data": attr.label_list(allow_files = True),
},
test = True,
)
def bats(**kwargs):
bats_test(
name = "bats",
bats = "@bats//:bin_dir",
**kwargs
)

View File

@ -1,115 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode")
load(
"//:rabbitmq.bzl",
"BROKER_VERSION_REQUIREMENTS_ANY",
"rabbitmq_app",
)
# gazelle:erlang_generate_beam_files_macro false
# gazelle:erlang_always_generate_test_beam_files
# gazelle:erlang_skip_rules assert_suites2,xref,plt,dialyze
# gazelle:erlang_app_dep rabbit_common
# gazelle:erlang_app_dep rabbit
erlang_bytecode(
name = "other_beam",
srcs = [
"src/my_plugin.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "my_plugin",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "test_other_beam",
testonly = True,
srcs = [
"src/my_plugin.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "my_plugin",
dest = "test",
erlc_opts = "//:test_erlc_opts",
)
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
filegroup(
name = "test_beam_files",
testonly = True,
srcs = [":test_other_beam"],
)
filegroup(
name = "srcs",
srcs = [
"src/my_plugin.erl",
],
)
filegroup(
name = "private_hdrs",
srcs = glob(["src/**/*.hrl"]),
)
filegroup(
name = "public_hdrs",
srcs = glob(["include/**/*.hrl"]),
)
filegroup(
name = "priv",
srcs = glob(["priv/**/*"]),
)
filegroup(name = "licenses")
filegroup(
name = "public_and_private_hdrs",
srcs = [
":private_hdrs",
":public_hdrs",
],
)
filegroup(
name = "all_srcs",
srcs = [
":public_and_private_hdrs",
":srcs",
],
)
rabbitmq_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = "Plugin to test feature flags",
app_extra_keys = BROKER_VERSION_REQUIREMENTS_ANY,
app_name = "my_plugin",
app_version = "1.0.0",
beam_files = [":beam_files"],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"//deps/rabbit:erlang_app",
"//deps/rabbit_common:erlang_app",
],
)
alias(
name = "my_plugin",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
filegroup(
name = "license_files",
srcs = glob(["LICENSE*"]),
)

View File

@ -1,228 +0,0 @@
load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_files")
load("@rules_erlang//:eunit2.bzl", "eunit")
load("@rules_erlang//:xref2.bzl", "xref")
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"rabbitmq_app",
"rabbitmq_suite",
)
load(
":app.bzl",
"all_beam_files",
"all_srcs",
"all_test_beam_files",
"test_suite_beam_files",
)
py_binary(
name = "codegen",
srcs = [
"codegen.py",
],
imports = ["../../deps/rabbitmq_codegen"],
deps = [
"//deps/rabbitmq_codegen:amqp_codegen",
],
)
genrule(
name = "rabbit_framing",
srcs = [
"//deps/rabbitmq_codegen:amqp-rabbitmq-0.9.1.json",
"//deps/rabbitmq_codegen:credit_extension.json",
"//deps/rabbitmq_codegen:amqp-rabbitmq-0.8.json",
],
outs = ["gen/rabbit_framing.hrl"],
cmd = "$(location :codegen) --ignore-conflicts header $(SRCS) $@",
tags = ["manual"],
tools = [":codegen"],
)
genrule(
name = "rabbit_framing_amqp_0_9_1",
srcs = [
"//deps/rabbitmq_codegen:amqp-rabbitmq-0.9.1.json",
"//deps/rabbitmq_codegen:credit_extension.json",
],
outs = ["gen/rabbit_framing_amqp_0_9_1.erl"],
cmd = "$(location :codegen) body $(SRCS) $@",
tags = ["manual"],
tools = [":codegen"],
)
genrule(
name = "rabbit_framing_amqp_0_8",
srcs = [
"//deps/rabbitmq_codegen:amqp-rabbitmq-0.8.json",
],
outs = ["gen/rabbit_framing_amqp_0_8.erl"],
cmd = "$(location :codegen) body $(SRCS) $@",
tags = ["manual"],
tools = [":codegen"],
)
write_source_files(
name = "write_framing_sources",
files = {
"include/rabbit_framing.hrl": ":rabbit_framing",
"src/rabbit_framing_amqp_0_8.erl": ":rabbit_framing_amqp_0_8",
"src/rabbit_framing_amqp_0_9_1.erl": ":rabbit_framing_amqp_0_9_1",
},
)
APP_EXTRA_KEYS = """
%% Hex.pm package informations.
{licenses, ["MPL-2.0"]},
{links, [
{"Website", "https://www.rabbitmq.com/"},
{"GitHub", "https://github.com/rabbitmq/rabbitmq-common"}
]},
{build_tools, ["make", "rebar3"]},
{files, [
"erlang.mk",
"git-revisions.txt",
"include",
"LICENSE*",
"Makefile",
"rabbitmq-components.mk",
"README",
"README.md",
"mk"
]}
"""
# gazelle:erlang_app_extra_app compiler
# gazelle:erlang_app_extra_app crypto
# gazelle:erlang_app_extra_app public_key
# gazelle:erlang_app_extra_app sasl
# gazelle:erlang_app_extra_app ssl
# gazelle:erlang_app_extra_app syntax_tools
# gazelle:erlang_app_extra_app tools
# gazelle:erlang_app_extra_app xmerl
# gazelle:erlang_app_extra_app runtime_tools
# gazelle:erlang_app_extra_app os_mon
# gazelle:erlang_app_dep_exclude ranch
all_beam_files(name = "all_beam_files")
all_test_beam_files(name = "all_test_beam_files")
all_srcs(name = "all_srcs")
test_suite_beam_files(name = "test_suite_beam_files")
rabbitmq_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = "Modules shared by rabbitmq-server and rabbitmq-erlang-client",
app_extra_keys = APP_EXTRA_KEYS,
app_name = "rabbit_common",
beam_files = [":beam_files"],
extra_apps = [
"compiler",
"crypto",
"public_key",
"sasl",
"ssl",
"syntax_tools",
"tools",
"xmerl",
"os_mon",
"runtime_tools",
],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"@credentials_obfuscation//:erlang_app",
"@ranch//:erlang_app", # keep
"@recon//:erlang_app",
"@thoas//:erlang_app",
],
)
xref(
name = "xref",
target = ":erlang_app",
)
plt(
name = "deps_plt",
apps = [
"mnesia", # keep
],
for_target = ":erlang_app",
ignore_warnings = True,
plt = "//:base_plt",
)
dialyze(
name = "dialyze",
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
plt = ":deps_plt",
target = ":erlang_app",
)
rabbitmq_suite(
name = "rabbit_env_SUITE",
size = "small",
deps = [
"@proper//:erlang_app",
],
)
rabbitmq_suite(
name = "supervisor2_SUITE",
size = "small",
additional_beam = [
"test/test_event_handler.beam",
],
)
rabbitmq_suite(
name = "unit_priority_queue_SUITE",
size = "small",
)
rabbitmq_suite(
name = "unit_password_hashing_SUITE",
size = "small",
)
rabbitmq_suite(
name = "unit_SUITE",
size = "medium",
additional_beam = [
"test/gen_server2_test_server.beam",
],
deps = [
"@credentials_obfuscation//:erlang_app",
"@proper//:erlang_app",
],
)
rabbitmq_suite(
name = "worker_pool_SUITE",
size = "small",
)
assert_suites()
alias(
name = "rabbit_common",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
eunit(
name = "eunit",
compiled_suites = [
":test_gen_server2_test_server_beam",
":test_test_event_handler_beam",
],
target = ":test_erlang_app",
)

View File

@ -1,370 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode")
load("@rules_erlang//:filegroup.bzl", "filegroup")
def all_beam_files(name = "all_beam_files"):
filegroup(
name = "beam_files",
srcs = [":behaviours", ":other_beam"],
)
erlang_bytecode(
name = "behaviours",
srcs = [
"src/gen_server2.erl",
"src/rabbit_authn_backend.erl",
"src/rabbit_authz_backend.erl",
"src/rabbit_password_hashing.erl",
"src/rabbit_registry_class.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbit_common",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/app_utils.erl",
"src/code_version.erl",
"src/credit_flow.erl",
"src/delegate.erl",
"src/delegate_sup.erl",
"src/file_handle_cache.erl",
"src/mirrored_supervisor_locks.erl",
"src/mnesia_sync.erl",
"src/pmon.erl",
"src/priority_queue.erl",
"src/rabbit_amqp_connection.erl",
"src/rabbit_amqqueue_common.erl",
"src/rabbit_auth_backend_dummy.erl",
"src/rabbit_auth_mechanism.erl",
"src/rabbit_basic_common.erl",
"src/rabbit_binary_generator.erl",
"src/rabbit_binary_parser.erl",
"src/rabbit_cert_info.erl",
"src/rabbit_channel_common.erl",
"src/rabbit_command_assembler.erl",
"src/rabbit_control_misc.erl",
"src/rabbit_core_metrics.erl",
"src/rabbit_data_coercion.erl",
"src/rabbit_date_time.erl",
"src/rabbit_env.erl",
"src/rabbit_error_logger_handler.erl",
"src/rabbit_event.erl",
"src/rabbit_framing.erl",
"src/rabbit_framing_amqp_0_8.erl",
"src/rabbit_framing_amqp_0_9_1.erl",
"src/rabbit_heartbeat.erl",
"src/rabbit_http_util.erl",
"src/rabbit_json.erl",
"src/rabbit_log.erl",
"src/rabbit_misc.erl",
"src/rabbit_net.erl",
"src/rabbit_nodes_common.erl",
"src/rabbit_numerical.erl",
"src/rabbit_password.erl",
"src/rabbit_password_hashing_md5.erl",
"src/rabbit_password_hashing_sha256.erl",
"src/rabbit_password_hashing_sha512.erl",
"src/rabbit_pbe.erl",
"src/rabbit_peer_discovery_backend.erl",
"src/rabbit_policy_validator.erl",
"src/rabbit_queue_collector.erl",
"src/rabbit_registry.erl",
"src/rabbit_resource_monitor_misc.erl",
"src/rabbit_routing_parser.erl",
"src/rabbit_runtime.erl",
"src/rabbit_runtime_parameter.erl",
"src/rabbit_semver.erl",
"src/rabbit_semver_parser.erl",
"src/rabbit_ssl_options.erl",
"src/rabbit_types.erl",
"src/rabbit_writer.erl",
"src/supervisor2.erl",
"src/vm_memory_monitor.erl",
"src/worker_pool.erl",
"src/worker_pool_sup.erl",
"src/worker_pool_worker.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbit_common",
beam = [":behaviours"],
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
def all_test_beam_files(name = "all_test_beam_files"):
filegroup(
name = "test_beam_files",
testonly = True,
srcs = [":test_behaviours", ":test_other_beam"],
)
erlang_bytecode(
name = "test_behaviours",
testonly = True,
srcs = [
"src/gen_server2.erl",
"src/rabbit_authn_backend.erl",
"src/rabbit_authz_backend.erl",
"src/rabbit_password_hashing.erl",
"src/rabbit_registry_class.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbit_common",
dest = "test",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "test_other_beam",
testonly = True,
srcs = [
"src/app_utils.erl",
"src/code_version.erl",
"src/credit_flow.erl",
"src/delegate.erl",
"src/delegate_sup.erl",
"src/file_handle_cache.erl",
"src/mirrored_supervisor_locks.erl",
"src/mnesia_sync.erl",
"src/pmon.erl",
"src/priority_queue.erl",
"src/rabbit_amqp_connection.erl",
"src/rabbit_amqqueue_common.erl",
"src/rabbit_auth_backend_dummy.erl",
"src/rabbit_auth_mechanism.erl",
"src/rabbit_basic_common.erl",
"src/rabbit_binary_generator.erl",
"src/rabbit_binary_parser.erl",
"src/rabbit_cert_info.erl",
"src/rabbit_channel_common.erl",
"src/rabbit_command_assembler.erl",
"src/rabbit_control_misc.erl",
"src/rabbit_core_metrics.erl",
"src/rabbit_data_coercion.erl",
"src/rabbit_date_time.erl",
"src/rabbit_env.erl",
"src/rabbit_error_logger_handler.erl",
"src/rabbit_event.erl",
"src/rabbit_framing.erl",
"src/rabbit_framing_amqp_0_8.erl",
"src/rabbit_framing_amqp_0_9_1.erl",
"src/rabbit_heartbeat.erl",
"src/rabbit_http_util.erl",
"src/rabbit_json.erl",
"src/rabbit_log.erl",
"src/rabbit_misc.erl",
"src/rabbit_net.erl",
"src/rabbit_nodes_common.erl",
"src/rabbit_numerical.erl",
"src/rabbit_password.erl",
"src/rabbit_password_hashing_md5.erl",
"src/rabbit_password_hashing_sha256.erl",
"src/rabbit_password_hashing_sha512.erl",
"src/rabbit_pbe.erl",
"src/rabbit_peer_discovery_backend.erl",
"src/rabbit_policy_validator.erl",
"src/rabbit_queue_collector.erl",
"src/rabbit_registry.erl",
"src/rabbit_resource_monitor_misc.erl",
"src/rabbit_routing_parser.erl",
"src/rabbit_runtime.erl",
"src/rabbit_runtime_parameter.erl",
"src/rabbit_semver.erl",
"src/rabbit_semver_parser.erl",
"src/rabbit_ssl_options.erl",
"src/rabbit_types.erl",
"src/rabbit_writer.erl",
"src/supervisor2.erl",
"src/vm_memory_monitor.erl",
"src/worker_pool.erl",
"src/worker_pool_sup.erl",
"src/worker_pool_worker.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbit_common",
beam = [":test_behaviours"],
dest = "test",
erlc_opts = "//:test_erlc_opts",
)
def all_srcs(name = "all_srcs"):
filegroup(
name = "all_srcs",
srcs = [":public_and_private_hdrs", ":srcs"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [":private_hdrs", ":public_hdrs"],
)
filegroup(
name = "priv",
)
filegroup(
name = "srcs",
srcs = [
"src/app_utils.erl",
"src/code_version.erl",
"src/credit_flow.erl",
"src/delegate.erl",
"src/delegate_sup.erl",
"src/file_handle_cache.erl",
"src/gen_server2.erl",
"src/mirrored_supervisor_locks.erl",
"src/mnesia_sync.erl",
"src/pmon.erl",
"src/priority_queue.erl",
"src/rabbit_amqp_connection.erl",
"src/rabbit_amqqueue_common.erl",
"src/rabbit_auth_backend_dummy.erl",
"src/rabbit_auth_mechanism.erl",
"src/rabbit_authn_backend.erl",
"src/rabbit_authz_backend.erl",
"src/rabbit_basic_common.erl",
"src/rabbit_binary_generator.erl",
"src/rabbit_binary_parser.erl",
"src/rabbit_cert_info.erl",
"src/rabbit_channel_common.erl",
"src/rabbit_command_assembler.erl",
"src/rabbit_control_misc.erl",
"src/rabbit_core_metrics.erl",
"src/rabbit_data_coercion.erl",
"src/rabbit_date_time.erl",
"src/rabbit_env.erl",
"src/rabbit_error_logger_handler.erl",
"src/rabbit_event.erl",
"src/rabbit_framing.erl",
"src/rabbit_framing_amqp_0_8.erl",
"src/rabbit_framing_amqp_0_9_1.erl",
"src/rabbit_heartbeat.erl",
"src/rabbit_http_util.erl",
"src/rabbit_json.erl",
"src/rabbit_log.erl",
"src/rabbit_misc.erl",
"src/rabbit_net.erl",
"src/rabbit_nodes_common.erl",
"src/rabbit_numerical.erl",
"src/rabbit_password.erl",
"src/rabbit_password_hashing.erl",
"src/rabbit_password_hashing_md5.erl",
"src/rabbit_password_hashing_sha256.erl",
"src/rabbit_password_hashing_sha512.erl",
"src/rabbit_pbe.erl",
"src/rabbit_peer_discovery_backend.erl",
"src/rabbit_policy_validator.erl",
"src/rabbit_queue_collector.erl",
"src/rabbit_registry.erl",
"src/rabbit_registry_class.erl",
"src/rabbit_resource_monitor_misc.erl",
"src/rabbit_routing_parser.erl",
"src/rabbit_runtime.erl",
"src/rabbit_runtime_parameter.erl",
"src/rabbit_semver.erl",
"src/rabbit_semver_parser.erl",
"src/rabbit_ssl_options.erl",
"src/rabbit_types.erl",
"src/rabbit_writer.erl",
"src/supervisor2.erl",
"src/vm_memory_monitor.erl",
"src/worker_pool.erl",
"src/worker_pool_sup.erl",
"src/worker_pool_worker.erl",
],
)
filegroup(
name = "public_hdrs",
srcs = [
"include/logging.hrl",
"include/rabbit.hrl",
"include/rabbit_core_metrics.hrl",
"include/rabbit_framing.hrl",
"include/rabbit_memory.hrl",
"include/rabbit_misc.hrl",
"include/resource.hrl",
],
)
filegroup(
name = "private_hdrs",
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
"LICENSE-BSD-recon",
"LICENSE-MIT-Erlware-Commons",
"LICENSE-MIT-Mochi",
"LICENSE-MPL-RabbitMQ",
],
)
def test_suite_beam_files(name = "test_suite_beam_files"):
erlang_bytecode(
name = "rabbit_env_SUITE_beam_files",
testonly = True,
srcs = ["test/rabbit_env_SUITE.erl"],
outs = ["test/rabbit_env_SUITE.beam"],
app_name = "rabbit_common",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "supervisor2_SUITE_beam_files",
testonly = True,
srcs = ["test/supervisor2_SUITE.erl"],
outs = ["test/supervisor2_SUITE.beam"],
hdrs = ["include/rabbit.hrl", "include/resource.hrl"],
app_name = "rabbit_common",
beam = ["ebin/supervisor2.beam"],
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "test_gen_server2_test_server_beam",
testonly = True,
srcs = ["test/gen_server2_test_server.erl"],
outs = ["test/gen_server2_test_server.beam"],
app_name = "rabbit_common",
beam = ["ebin/gen_server2.beam"],
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "test_test_event_handler_beam",
testonly = True,
srcs = ["test/test_event_handler.erl"],
outs = ["test/test_event_handler.beam"],
hdrs = ["include/rabbit.hrl", "include/resource.hrl"],
app_name = "rabbit_common",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "unit_SUITE_beam_files",
testonly = True,
srcs = ["test/unit_SUITE.erl"],
outs = ["test/unit_SUITE.beam"],
hdrs = ["include/rabbit.hrl", "include/rabbit_memory.hrl", "include/resource.hrl"],
app_name = "rabbit_common",
erlc_opts = "//:test_erlc_opts",
deps = ["@proper//:erlang_app"],
)
erlang_bytecode(
name = "unit_priority_queue_SUITE_beam_files",
testonly = True,
srcs = ["test/unit_priority_queue_SUITE.erl"],
outs = ["test/unit_priority_queue_SUITE.beam"],
app_name = "rabbit_common",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "worker_pool_SUITE_beam_files",
testonly = True,
srcs = ["test/worker_pool_SUITE.erl"],
outs = ["test/worker_pool_SUITE.beam"],
app_name = "rabbit_common",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "unit_password_hashing_SUITE_beam_files",
testonly = True,
srcs = ["test/unit_password_hashing_SUITE.erl"],
outs = ["test/unit_password_hashing_SUITE.beam"],
app_name = "rabbit_common",
erlc_opts = "//:test_erlc_opts",
)

View File

@ -1,65 +0,0 @@
load("@rules_erlang//:xref2.bzl", "xref")
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"assert_suites",
"rabbitmq_app",
)
load(
":app.bzl",
"all_beam_files",
"all_srcs",
"all_test_beam_files",
"test_suite_beam_files",
)
APP_NAME = "rabbitmq_amqp1_0"
APP_DESCRIPTION = "Deprecated no-op AMQP 1.0 plugin"
all_beam_files(name = "all_beam_files")
all_test_beam_files(name = "all_test_beam_files")
test_suite_beam_files(name = "test_suite_beam_files")
rabbitmq_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = APP_DESCRIPTION,
app_name = APP_NAME,
beam_files = [":beam_files"],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"//deps/rabbit:erlang_app", # keep
],
)
all_srcs(name = "all_srcs")
alias(
name = "rabbitmq_amqp1_0",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
xref(
name = "xref",
target = ":erlang_app",
)
plt(
name = "deps_plt",
for_target = ":erlang_app",
plt = "//:base_plt",
)
dialyze(
name = "dialyze",
plt = ":deps_plt",
target = ":erlang_app",
)
assert_suites()

View File

@ -1,53 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode")
load("@rules_erlang//:filegroup.bzl", "filegroup")
def all_beam_files(name = "all_beam_files"):
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
erlang_bytecode(
name = "other_beam",
srcs = ["src/rabbitmq_amqp1_0_noop.erl"],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbitmq_amqp1_0",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
def all_srcs(name = "all_srcs"):
filegroup(
name = "srcs",
srcs = ["src/rabbitmq_amqp1_0_noop.erl"],
)
filegroup(name = "private_hdrs")
filegroup(name = "public_hdrs")
filegroup(name = "priv")
filegroup(name = "license_files")
filegroup(
name = "public_and_private_hdrs",
srcs = [":private_hdrs", ":public_hdrs"],
)
filegroup(
name = "all_srcs",
srcs = [":public_and_private_hdrs", ":srcs"],
)
def all_test_beam_files(name = "all_test_beam_files"):
erlang_bytecode(
name = "test_other_beam",
testonly = True,
srcs = ["src/rabbitmq_amqp1_0_noop.erl"],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbitmq_amqp1_0",
dest = "test",
erlc_opts = "//:test_erlc_opts",
)
filegroup(
name = "test_beam_files",
testonly = True,
srcs = [":test_other_beam"],
)
def test_suite_beam_files(name = "test_suite_beam_files"):
pass

View File

@ -1,91 +0,0 @@
load("@rules_erlang//:eunit2.bzl", "eunit")
load("@rules_erlang//:xref2.bzl", "xref")
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
"rabbitmq_app",
"rabbitmq_integration_suite",
"rabbitmq_suite",
)
load(
":app.bzl",
"all_beam_files",
"all_srcs",
"all_test_beam_files",
"test_suite_beam_files",
)
APP_NAME = "rabbitmq_amqp_client"
APP_DESCRIPTION = "AMQP 1.0 client for RabbitMQ"
all_beam_files(name = "all_beam_files")
all_test_beam_files(name = "all_test_beam_files")
all_srcs(name = "all_srcs")
test_suite_beam_files(name = "test_suite_beam_files")
rabbitmq_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = APP_DESCRIPTION,
app_name = APP_NAME,
beam_files = [":beam_files"],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"//deps/amqp10_client:erlang_app",
"//deps/amqp10_common:erlang_app",
],
)
xref(
name = "xref",
target = ":erlang_app",
)
plt(
name = "deps_plt",
for_target = ":erlang_app",
plt = "//:base_plt",
)
dialyze(
name = "dialyze",
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
plt = ":deps_plt",
target = ":erlang_app",
)
broker_for_integration_suites(
)
TEST_DEPS = [
"//deps/amqp10_client:erlang_app",
]
rabbitmq_integration_suite(
name = "management_SUITE",
size = "medium",
shard_count = 2,
deps = TEST_DEPS,
)
assert_suites()
alias(
name = "rabbitmq_amqp_client",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)
eunit(
name = "eunit",
target = ":test_erlang_app",
)

View File

@ -1,73 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode")
load("@rules_erlang//:filegroup.bzl", "filegroup")
def all_beam_files(name = "all_beam_files"):
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
erlang_bytecode(
name = "other_beam",
srcs = ["src/rabbitmq_amqp_address.erl", "src/rabbitmq_amqp_client.erl"],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbitmq_amqp_client",
dest = "ebin",
erlc_opts = "//:erlc_opts",
deps = ["//deps/amqp10_common:erlang_app"],
)
def all_srcs(name = "all_srcs"):
filegroup(
name = "srcs",
srcs = ["src/rabbitmq_amqp_address.erl", "src/rabbitmq_amqp_client.erl"],
)
filegroup(name = "private_hdrs")
filegroup(
name = "public_hdrs",
srcs = ["include/rabbitmq_amqp_client.hrl"],
)
filegroup(name = "priv")
filegroup(
name = "license_files",
srcs = [
"LICENSE",
"LICENSE-MPL-RabbitMQ",
],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [":private_hdrs", ":public_hdrs"],
)
filegroup(
name = "all_srcs",
srcs = [":public_and_private_hdrs", ":srcs"],
)
def all_test_beam_files(name = "all_test_beam_files"):
erlang_bytecode(
name = "test_other_beam",
testonly = True,
srcs = ["src/rabbitmq_amqp_address.erl", "src/rabbitmq_amqp_client.erl"],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbitmq_amqp_client",
dest = "test",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/amqp10_common:erlang_app"],
)
filegroup(
name = "test_beam_files",
testonly = True,
srcs = [":test_other_beam"],
)
def test_suite_beam_files(name = "test_suite_beam_files"):
erlang_bytecode(
name = "management_SUITE_beam_files",
testonly = True,
srcs = ["test/management_SUITE.erl"],
outs = ["test/management_SUITE.beam"],
hdrs = ["include/rabbitmq_amqp_client.hrl"],
app_name = "rabbitmq_amqp_client",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/amqp10_common:erlang_app", "//deps/rabbit_common:erlang_app"],
)

View File

@ -1,111 +0,0 @@
load("@rules_erlang//:eunit2.bzl", "eunit")
load("@rules_erlang//:xref2.bzl", "xref")
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"BROKER_VERSION_REQUIREMENTS_ANY",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
"rabbitmq_app",
"rabbitmq_integration_suite",
"rabbitmq_suite",
)
load(
":app.bzl",
"all_beam_files",
"all_srcs",
"all_test_beam_files",
"test_suite_beam_files",
)
APP_ENV = """[
{cache_ttl, 15000},
{cache_module, rabbit_auth_cache_ets},
{cache_module_args, []},
{cached_backend, rabbit_auth_backend_internal},
{cache_refusals, false}
]"""
APP_NAME = "rabbitmq_auth_backend_cache"
APP_DESCRIPTION = "RabbitMQ Authentication Backend cache"
APP_MODULE = "rabbit_auth_backend_cache_app"
all_beam_files(name = "all_beam_files")
all_test_beam_files(name = "all_test_beam_files")
all_srcs(name = "all_srcs")
test_suite_beam_files(name = "test_suite_beam_files")
# gazelle:erlang_app_dep rabbit
rabbitmq_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_extra_keys = BROKER_VERSION_REQUIREMENTS_ANY,
app_module = APP_MODULE,
app_name = APP_NAME,
beam_files = [":beam_files"],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"//deps/rabbit:erlang_app",
"//deps/rabbit_common:erlang_app",
],
)
xref(
name = "xref",
target = ":erlang_app",
)
plt(
name = "deps_plt",
for_target = ":erlang_app",
ignore_warnings = True,
plt = "//:base_plt",
)
dialyze(
name = "dialyze",
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
plt = ":deps_plt",
target = ":erlang_app",
)
eunit(
name = "eunit",
target = ":test_erlang_app",
)
broker_for_integration_suites()
rabbitmq_integration_suite(
name = "config_schema_SUITE",
)
rabbitmq_integration_suite(
name = "rabbit_auth_backend_cache_SUITE",
)
rabbitmq_suite(
name = "rabbit_auth_cache_SUITE",
deps = [
"//deps/rabbitmq_ct_helpers:erlang_app",
],
)
assert_suites()
alias(
name = "rabbitmq_auth_backend_cache",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,135 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode")
load("@rules_erlang//:filegroup.bzl", "filegroup")
def all_beam_files(name = "all_beam_files"):
filegroup(
name = "beam_files",
srcs = [":behaviours", ":other_beam"],
)
erlang_bytecode(
name = "behaviours",
srcs = ["src/rabbit_auth_cache.erl"],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbitmq_auth_backend_cache",
dest = "ebin",
erlc_opts = "//:erlc_opts",
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/rabbit_auth_backend_cache.erl",
"src/rabbit_auth_backend_cache_app.erl",
"src/rabbit_auth_cache_dict.erl",
"src/rabbit_auth_cache_ets.erl",
"src/rabbit_auth_cache_ets_segmented.erl",
"src/rabbit_auth_cache_ets_segmented_stateless.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbitmq_auth_backend_cache",
beam = [":behaviours"],
dest = "ebin",
erlc_opts = "//:erlc_opts",
deps = ["//deps/rabbit_common:erlang_app"],
)
def all_test_beam_files(name = "all_test_beam_files"):
filegroup(
name = "test_beam_files",
testonly = True,
srcs = [":test_behaviours", ":test_other_beam"],
)
erlang_bytecode(
name = "test_behaviours",
testonly = True,
srcs = ["src/rabbit_auth_cache.erl"],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbitmq_auth_backend_cache",
dest = "test",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "test_other_beam",
testonly = True,
srcs = [
"src/rabbit_auth_backend_cache.erl",
"src/rabbit_auth_backend_cache_app.erl",
"src/rabbit_auth_cache_dict.erl",
"src/rabbit_auth_cache_ets.erl",
"src/rabbit_auth_cache_ets_segmented.erl",
"src/rabbit_auth_cache_ets_segmented_stateless.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbitmq_auth_backend_cache",
beam = [":test_behaviours"],
dest = "test",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/rabbit_common:erlang_app"],
)
def all_srcs(name = "all_srcs"):
filegroup(
name = "all_srcs",
srcs = [":public_and_private_hdrs", ":srcs"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [":private_hdrs", ":public_hdrs"],
)
filegroup(
name = "priv",
srcs = ["priv/schema/rabbitmq_auth_backend_cache.schema"],
)
filegroup(
name = "private_hdrs",
)
filegroup(
name = "srcs",
srcs = [
"src/rabbit_auth_backend_cache.erl",
"src/rabbit_auth_backend_cache_app.erl",
"src/rabbit_auth_cache.erl",
"src/rabbit_auth_cache_dict.erl",
"src/rabbit_auth_cache_ets.erl",
"src/rabbit_auth_cache_ets_segmented.erl",
"src/rabbit_auth_cache_ets_segmented_stateless.erl",
],
)
filegroup(
name = "public_hdrs",
srcs = ["include/rabbit_auth_backend_cache.hrl"],
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
"LICENSE-MPL-RabbitMQ",
],
)
def test_suite_beam_files(name = "test_suite_beam_files"):
erlang_bytecode(
name = "config_schema_SUITE_beam_files",
testonly = True,
srcs = ["test/config_schema_SUITE.erl"],
outs = ["test/config_schema_SUITE.beam"],
app_name = "rabbitmq_auth_backend_cache",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "rabbit_auth_backend_cache_SUITE_beam_files",
testonly = True,
srcs = ["test/rabbit_auth_backend_cache_SUITE.erl"],
outs = ["test/rabbit_auth_backend_cache_SUITE.beam"],
app_name = "rabbitmq_auth_backend_cache",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/rabbit_common:erlang_app"],
)
erlang_bytecode(
name = "rabbit_auth_cache_SUITE_beam_files",
testonly = True,
srcs = ["test/rabbit_auth_cache_SUITE.erl"],
outs = ["test/rabbit_auth_cache_SUITE.beam"],
app_name = "rabbitmq_auth_backend_cache",
erlc_opts = "//:test_erlc_opts",
)

View File

@ -1,130 +0,0 @@
load("@rules_erlang//:eunit2.bzl", "eunit")
load("@rules_erlang//:xref2.bzl", "xref")
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"BROKER_VERSION_REQUIREMENTS_ANY",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
"rabbitmq_app",
"rabbitmq_integration_suite",
"rabbitmq_suite",
)
load(
":app.bzl",
"all_beam_files",
"all_srcs",
"all_test_beam_files",
"test_suite_beam_files",
)
APP_ENV = """[
{http_method, get},
{request_timeout, 15000},
{connection_timeout, 15000},
{user_path, "http://localhost:8000/auth/user"},
{vhost_path, "http://localhost:8000/auth/vhost"},
{resource_path, "http://localhost:8000/auth/resource"},
{topic_path, "http://localhost:8000/auth/topic"}
]"""
APP_NAME = "rabbitmq_auth_backend_http"
APP_DESCRIPTION = "RabbitMQ HTTP Authentication Backend"
APP_MODULE = "rabbit_auth_backend_http_app"
all_beam_files(name = "all_beam_files")
all_test_beam_files(name = "all_test_beam_files")
all_srcs(name = "all_srcs")
test_suite_beam_files(name = "test_suite_beam_files")
# gazelle:erlang_app_extra_app crypto
# gazelle:erlang_app_extra_app inets
# gazelle:erlang_app_extra_app ssl
# gazelle:erlang_app_extra_app public_key
# gazelle:erlang_app_dep rabbit
rabbitmq_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_extra_keys = BROKER_VERSION_REQUIREMENTS_ANY,
app_module = APP_MODULE,
app_name = APP_NAME,
beam_files = [":beam_files"],
extra_apps = [
"crypto",
"inets",
"ssl",
"public_key",
],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"//deps/amqp_client:erlang_app",
"//deps/rabbit:erlang_app",
"//deps/rabbit_common:erlang_app",
],
)
xref(
name = "xref",
target = ":erlang_app",
)
plt(
name = "deps_plt",
for_target = ":erlang_app",
ignore_warnings = True,
plt = "//:base_plt",
)
dialyze(
name = "dialyze",
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
plt = ":deps_plt",
target = ":erlang_app",
)
eunit(
name = "eunit",
compiled_suites = [":test_auth_http_mock_beam"],
target = ":test_erlang_app",
)
broker_for_integration_suites()
rabbitmq_integration_suite(
name = "auth_SUITE",
size = "small",
additional_beam = [
"test/auth_http_mock.beam",
],
deps = [
"@cowboy//:erlang_app",
],
)
rabbitmq_integration_suite(
name = "config_schema_SUITE",
)
rabbitmq_suite(
name = "unit_SUITE",
size = "small",
)
assert_suites()
alias(
name = "rabbitmq_auth_backend_http",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

View File

@ -1,111 +0,0 @@
load("@rules_erlang//:erlang_bytecode2.bzl", "erlang_bytecode")
load("@rules_erlang//:filegroup.bzl", "filegroup")
def all_beam_files(name = "all_beam_files"):
filegroup(
name = "beam_files",
srcs = [":other_beam"],
)
erlang_bytecode(
name = "other_beam",
srcs = [
"src/rabbit_auth_backend_http.erl",
"src/rabbit_auth_backend_http_app.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbitmq_auth_backend_http",
dest = "ebin",
erlc_opts = "//:erlc_opts",
deps = ["//deps/rabbit_common:erlang_app"],
)
def all_test_beam_files(name = "all_test_beam_files"):
filegroup(
name = "test_beam_files",
testonly = True,
srcs = [":test_other_beam"],
)
erlang_bytecode(
name = "test_other_beam",
testonly = True,
srcs = [
"src/rabbit_auth_backend_http.erl",
"src/rabbit_auth_backend_http_app.erl",
],
hdrs = [":public_and_private_hdrs"],
app_name = "rabbitmq_auth_backend_http",
dest = "test",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/rabbit_common:erlang_app"],
)
def all_srcs(name = "all_srcs"):
filegroup(
name = "all_srcs",
srcs = [":public_and_private_hdrs", ":srcs"],
)
filegroup(
name = "public_and_private_hdrs",
srcs = [":private_hdrs", ":public_hdrs"],
)
filegroup(
name = "priv",
srcs = ["priv/schema/rabbitmq_auth_backend_http.schema"],
)
filegroup(
name = "public_hdrs",
)
filegroup(
name = "srcs",
srcs = [
"src/rabbit_auth_backend_http.erl",
"src/rabbit_auth_backend_http_app.erl",
],
)
filegroup(
name = "private_hdrs",
)
filegroup(
name = "license_files",
srcs = [
"LICENSE",
"LICENSE-MPL-RabbitMQ",
],
)
def test_suite_beam_files(name = "test_suite_beam_files"):
erlang_bytecode(
name = "auth_SUITE_beam_files",
testonly = True,
srcs = ["test/auth_SUITE.erl"],
outs = ["test/auth_SUITE.beam"],
app_name = "rabbitmq_auth_backend_http",
erlc_opts = "//:test_erlc_opts",
deps = ["//deps/rabbit_common:erlang_app"],
)
erlang_bytecode(
name = "config_schema_SUITE_beam_files",
testonly = True,
srcs = ["test/config_schema_SUITE.erl"],
outs = ["test/config_schema_SUITE.beam"],
app_name = "rabbitmq_auth_backend_http",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "test_auth_http_mock_beam",
testonly = True,
srcs = ["test/auth_http_mock.erl"],
outs = ["test/auth_http_mock.beam"],
app_name = "rabbitmq_auth_backend_http",
erlc_opts = "//:test_erlc_opts",
)
erlang_bytecode(
name = "unit_SUITE_beam_files",
testonly = True,
srcs = ["test/unit_SUITE.erl"],
outs = ["test/unit_SUITE.beam"],
app_name = "rabbitmq_auth_backend_http",
erlc_opts = "//:test_erlc_opts",
)

View File

@ -1,144 +0,0 @@
load("@rules_erlang//:eunit2.bzl", "eunit")
load("@rules_erlang//:xref2.bzl", "xref")
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"BROKER_VERSION_REQUIREMENTS_ANY",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
"rabbitmq_app",
"rabbitmq_integration_suite",
"rabbitmq_suite",
)
load(
":app.bzl",
"all_beam_files",
"all_srcs",
"all_test_beam_files",
"test_suite_beam_files",
)
APP_ENV = """[
{servers, undefined},
{user_bind_pattern, none},
{user_dn_pattern, "${username}"},
{dn_lookup_attribute, none},
{dn_lookup_base, none},
{group_lookup_base, none},
{dn_lookup_bind, as_user},
{other_bind, as_user},
{anon_auth, false},
{vhost_access_query, {constant, true}},
{resource_access_query, {constant, true}},
{topic_access_query, {constant, true}},
{tag_queries, [{administrator, {constant, false}}]},
{use_ssl, false},
{use_starttls, false},
{ssl_options, []},
{port, 389},
{timeout, infinity},
{log, false},
{pool_size, 64},
{idle_timeout, 300000}
]"""
APP_NAME = "rabbitmq_auth_backend_ldap"
APP_DESCRIPTION = "RabbitMQ LDAP Authentication Backend"
APP_MODULE = "rabbit_auth_backend_ldap_app"
all_beam_files(name = "all_beam_files")
all_test_beam_files(name = "all_test_beam_files")
all_srcs(name = "all_srcs")
test_suite_beam_files(name = "test_suite_beam_files")
# gazelle:erlang_app_extra_app eldap
# gazelle:erlang_app_extra_app public_key
rabbitmq_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = APP_DESCRIPTION,
app_env = APP_ENV,
app_extra_keys = BROKER_VERSION_REQUIREMENTS_ANY,
app_module = APP_MODULE,
app_name = APP_NAME,
beam_files = [":beam_files"],
extra_apps = [
"eldap",
"public_key",
],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"//deps/rabbit:erlang_app",
"//deps/rabbit_common:erlang_app",
],
)
xref(
name = "xref",
target = ":erlang_app",
)
plt(
name = "deps_plt",
for_target = ":erlang_app",
ignore_warnings = True,
plt = "//:base_plt",
)
dialyze(
name = "dialyze",
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
plt = ":deps_plt",
target = ":erlang_app",
)
eunit(
name = "eunit",
compiled_suites = [":test_rabbit_ldap_seed_beam"],
target = ":test_erlang_app",
)
broker_for_integration_suites()
rabbitmq_integration_suite(
name = "config_schema_SUITE",
)
rabbitmq_integration_suite(
name = "system_SUITE",
size = "medium",
additional_beam = [
"test/rabbit_ldap_seed.beam",
],
data = [
"example/global.ldif",
"example/memberof_init.ldif",
"example/refint_1.ldif",
"example/refint_2.ldif",
],
tags = [
"ldap",
],
)
rabbitmq_suite(
name = "unit_SUITE",
size = "small",
)
assert_suites()
alias(
name = "rabbitmq_auth_backend_ldap",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

Some files were not shown because too many files have changed in this diff Show More