assemble_maven(name, developers, license, package, project_description, project_name, project_url, scm_url, target, version_file, version_overrides, workspace_refs)
Assemble Java package for subsequent deployment to Maven repo
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
developers | Project developers to fill into pom.xml | Dictionary: String -> List of strings | optional | {} |
license | Project license to fill into pom.xml | String | optional | "apache" |
package | Bazel package of this target. Must match one defined in _maven_packages |
String | optional | "" |
project_description | Project description to fill into pom.xml | String | optional | "PROJECT_DESCRIPTION" |
project_name | Project name to fill into pom.xml | String | optional | "PROJECT_NAME" |
project_url | Project URL to fill into pom.xml | String | optional | "PROJECT_URL" |
scm_url | Project source control URL to fill into pom.xml | String | optional | "PROJECT_URL" |
target | Java target for subsequent deployment | Label | required | |
version_file | File containing version string. Alternatively, pass --define version=VERSION to Bazel invocation. Not specifying version at all defaults to '0.0.0' | Label | optional | None |
version_overrides | Dictionary of maven artifact : version to pin artifact versions to | Dictionary: String -> String | optional | {} |
workspace_refs | JSON file describing dependencies to other Bazel workspaces | Label | optional | None |
assemble_npm(name, target, version_file)
Assemble npm_package
target for further deployment. Currently does not support remote execution (RBE).
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
target | npm_library label to be included in the package |
Label | required | |
version_file | File containing version string. Alternatively, pass --define version=VERSION to Bazel invocation. Not specifying version at all defaults to '0.0.0' | Label | optional | None |
assemble_pip(name, author, author_email, classifiers, description, keywords, license, long_description_file, package_name, requirements_file, target, url, version_file)
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
author | Details about the author | String | required | |
author_email | The email for the author | String | required | |
classifiers | A list of strings, containing Python package classifiers | List of strings | required | |
description | A string with the short description of the package | String | required | |
keywords | A list of strings, containing keywords | List of strings | required | |
license | The type of license to use | String | required | |
long_description_file | A label with the long description of the package. Usually a README or README.rst file | Label | required | |
package_name | A string with Python pip package name | String | required | |
requirements_file | A file with the list of required packages for this one | Label | required | |
target | py_library label to be included in the package |
Label | required | |
url | A homepage for the project | String | required | |
version_file | File containing version string. Alternatively, pass --define version=VERSION to Bazel invocation. Not specifying version at all defaults to '0.0.0' | Label | optional | None |
assemble_versioned(name, targets, version_file)
Version multiple archives for subsequent simultaneous deployment
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
targets | Archives to version and put into output archive | List of labels | optional | [] |
version_file | File containing version string | Label | optional | None |
checksum(name, archive)
Computes SHA256 checksum of file
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
archive | Archive to compute checksum of | Label | required |
deploy_apt(name, release, snapshot, target)
Deploy package built with assemble_apt
to APT repository
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
release | Release repository to deploy apt artifact to | String | required | |
snapshot | Snapshot repository to deploy apt artifact to | String | required | |
target | assemble_apt label to deploy | Label | optional | None |
deploy_brew(name, checksum, formula, release, snapshot, type, version_file)
Deploy Homebrew (Caskroom) formula to Homebrew tap
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
checksum | Checksum of deployed artifact | Label | optional | None |
formula | The brew formula definition | Label | required | |
release | Release repository to deploy brew artifact to | String | required | |
snapshot | Snapshot repository to deploy brew artifact to | String | required | |
type | Type of deployment (Homebrew/Caskroom). Cask is generally used for graphic applications | String | optional | "brew" |
version_file | File containing version string. Alternatively, pass --define version=VERSION to Bazel invocation. Not specifying version at all defaults to '0.0.0' | Label | optional | None |
deploy_github(name, archive, draft, organisation, release_description, repository, title, title_append_version, version_file)
Deploy assemble_versioned
target to GitHub Releases
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
archive | assemble_versioned label to be deployed. |
Label | optional | None |
draft | Creates an unpublished / draft release when set to True. Defaults to True. | Boolean | optional | True |
organisation | Github organisation to deploy to | String | required | |
release_description | Description of GitHub release | Label | optional | None |
repository | Github repository to deploy to within organisation | String | required | |
title | Title of GitHub release | String | optional | "" |
title_append_version | Append version to GitHub release title | Boolean | optional | False |
version_file | File containing version string. Alternatively, pass --define version=VERSION to Bazel invocation. Not specifying version at all defaults to '0.0.0' | Label | optional | None |
deploy_maven(name, release, snapshot, target)
Deploy assemble_maven
target into Maven repo
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
release | Release repository to release maven artifact to | String | required | |
snapshot | Snapshot repository to release maven artifact to | String | required | |
target | assemble_maven target to deploy | Label | required |
deploy_npm(name, release, snapshot, target)
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
release | Release repository to deploy npm artifact to | String | required | |
snapshot | Snapshot repository to deploy npm artifact to | String | required | |
target | assemble_npm label to be included in the package |
Label | required |
deploy_packer(name, target)
Execute Packer to perform deployment
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
target | assemble_packer label to be deployed. |
Label | optional | None |
deploy_pip(name, release, snapshot, target)
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
release | Remote repository to deploy pip release to | String | required | |
snapshot | Remote repository to deploy pip snapshot to | String | required | |
target | assemble_pip label to be included in the package |
Label | required |
deploy_rpm(name, release, snapshot, target)
Deploy package built with assemble_rpm
to RPM repository
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
release | Remote repository to deploy rpm release to | String | required | |
snapshot | Remote repository to deploy rpm snapshot to | String | required | |
target | assemble_rpm target to deploy |
Label | optional | None |
generate_json_config(name, substitutions, template)
Fills in JSON template with provided values
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
substitutions | Values to fill in | Dictionary: String -> String | optional | {} |
template | JSON template to fill in values | Label | optional | None |
java_deps(name, java_deps_root, java_deps_root_overrides, maven_name, target, version_file)
Packs Java library alongside with its dependencies into archive
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
java_deps_root | Folder inside archive to put JARs into | String | optional | "" |
java_deps_root_overrides | JARs with filenames matching the given patterns will be placed into the specified folders inside the archive, instead of the default folder. Patterns can be either the full name of a JAR, or a prefix followed by a '*'. | Dictionary: String -> String | optional | {} |
maven_name | Name JAR files inside archive based on Maven coordinates | Boolean | optional | False |
target | Java target to pack into archive | Label | required | |
version_file | File containing version string. Alternatively, pass --define version=VERSION to Bazel invocation. Not specifying version at all defaults to '0.0.0' | Label | optional | None |
tgz2zip(name, output_filename, prefix, prefix_file, tgz)
Converts .tar.gz into .zip
ATTRIBUTES
Name | Description | Type | Mandatory | Default |
---|---|---|---|---|
name | A unique name for this target. | Name | required | |
output_filename | Resulting filename | String | required | |
prefix | Prefix of files in archive | String | optional | "" |
prefix_file | Prefix of files in archive (as a file) | Label | optional | None |
tgz | Input .tar.gz archive | Label | required |
JarToMavenCoordinatesMapping(filename, maven_coordinates)
FIELDS
Name | Description |
---|---|
filename | jar filename |
maven_coordinates | Maven coordinates of the jar |
JavaLibInfo(target_coordinates, target_deps_coordinates)
FIELDS
MavenDeploymentInfo(jar, srcjar, pom)
FIELDS
Name | Description |
---|---|
jar | JAR file to deploy |
srcjar | JAR file with sources |
pom | Accompanying pom.xml file |
MavenPomInfo(direct_pom_deps, transitive_pom_deps)
FIELDS
Name | Description |
---|---|
direct_pom_deps | Maven coordinates declared directly by a target |
transitive_pom_deps | Maven coordinates for dependencies, transitively collected |
TransitiveJarToMavenCoordinatesMapping(mapping)
FIELDS
Name | Description |
---|---|
mapping | maps jar filename to coordinates |
assemble_apt(name, package_name, maintainer, description, version_file, installation_dir, workspace_refs, archives, empty_dirs, files, depends, symlinks, permissions)
Assemble package for installation with APT
PARAMETERS
Name | Description | Default Value |
---|---|---|
name | A unique name for this target. | none |
package_name | Package name for built .deb package https://www.debian.org/doc/debian-policy/ch-controlfields#package | none |
maintainer | The package maintainer's name and email address. The name must come first, then the email address inside angle brackets <> (in RFC822 format) | none |
description | description of the built package https://www.debian.org/doc/debian-policy/ch-controlfields#description | none |
version_file | File containing version number of a package. Alternatively, pass --define version=VERSION to Bazel invocation. Specifying commit SHA will result in prepending '0.0.0' to it to comply with Debian rules. Not specifying version at all defaults to '0.0.0' https://www.debian.org/doc/debian-policy/ch-controlfields#version | None |
installation_dir | directory into which .deb package is unpacked at installation | None |
workspace_refs | JSON file with other Bazel workspace references | None |
archives | Bazel labels of archives that go into .deb package | [] |
empty_dirs | list of empty directories created at package installation | [] |
files | mapping between Bazel labels of archives that go into .deb package and their resulting location on .deb package installation | {} |
depends | list of Debian packages this package depends on https://www.debian.org/doc/debian-policy/ch-relationships.htm | [] |
symlinks | mapping between source and target of symbolic links created at installation | {} |
permissions | mapping between paths and UNIX permissions | {} |
assemble_aws(name, ami_name, install, region, files)
Assemble files for AWS deployment
PARAMETERS
assemble_azure(name, image_name, resource_group_name, install, image_publisher, image_offer, image_sku, files)
Assemble files for GCP deployment
PARAMETERS
assemble_gcp(name, project_id, install, zone, image_name, image_family, files, image_licenses, disable_default_service_account, source_image_family)
Assemble files for GCP deployment
PARAMETERS
assemble_packer(name, config, files)
Assemble files for HashiCorp Packer deployment
PARAMETERS
Name | Description | Default Value |
---|---|---|
name | A unique name for this target. | none |
config | Packer JSON config | none |
files | Files to include into deployment | {} |
assemble_rpm(name, package_name, spec_file, version_file, workspace_refs, installation_dir, archives, empty_dirs, files, permissions, symlinks, tags)
Assemble package for installation with RPM
PARAMETERS
assemble_targz(name, output_filename, targets, additional_files, empty_directories, permissions, append_version, visibility, tags)
Assemble distribution archive (.tar.gz)
PARAMETERS
assemble_zip(name, output_filename, targets, additional_files, empty_directories, permissions, append_version, visibility)
Assemble distribution archive (.zip)
PARAMETERS