forked from openshift/origin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
env
executable file
·42 lines (38 loc) · 1.79 KB
/
env
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash
# This starts a Docker container using the release image (openshift/origin-release:golang-1.6)
# and syncs the local directory into that image. The default mode performs a 'git archive' of
# the current HEAD, so you get a reproducible environment. You can also set
# OS_BUILD_ENV_REUSE_VOLUME to a docker volume name to rsync (or docker cp) the contents of
# the current directory into the image.
#
# Examples:
# # sync local dir into the volume and print the Docker create command
# $ hack/env
#
# # builds the current HEAD in the container
# $ hack/env make
#
# # builds the current HEAD and copy _output/releases back locally afterwards
# $ OS_BUILD_ENV_PRESERVE=_output/releases hack/env make release
#
# # run all update tasks and copy the api, pkg, and docs directories back out
# $ OS_BUILD_ENV_PRESERVE=api:docs:pkg hack/env make update
#
# # rsync the contents of the current directory into the 'local' docker volume
# # and iteratively build
# $ export OS_BUILD_ENV_REUSE_VOLUME=local
# $ export OS_BUILD_ENV_DOCKER_ARGS='-e OS_VERSION_FILE= '
# $ hack/env make # slow
# $ hack/env make # fast!
#
# # force a new volume to get created from the current source
# $ OS_BUILD_ENV_VOLUME_FORCE_NEW=TRUE hack/env
#
# NOTE: only committed code is built.
source "$(dirname "${BASH_SOURCE}")/lib/init.sh"
relative_bin_path="$( os::util::repository_relative_path "${OS_OUTPUT_BINPATH}" )"
relative_release_path="$( os::util::repository_relative_path "${OS_OUTPUT_RELEASEPATH}" )"
relative_script_path="$( os::util::repository_relative_path "${OS_OUTPUT_SCRIPTPATH}" )"
default_preserve_paths="${relative_bin_path}:${relative_release_path}:${relative_script_path}"
export OS_BUILD_ENV_PRESERVE="${OS_BUILD_ENV_PRESERVE:-"${default_preserve_paths}"}"
os::build::environment::run "$@"