Merge branch 'master' into 690_Moby_buildx

This commit is contained in:
Andy Mishechkin
2020-04-17 18:03:15 +04:00
56 changed files with 341 additions and 103 deletions

View File

@@ -1,11 +1,11 @@
# Ubuntu 16.04.6 LTS # Ubuntu 16.04.6 LTS
The following software is installed on machines with the 20200330.1 update. The following software is installed on machines with the 20200406.2 update.
*** ***
- 7-Zip 9.20 - 7-Zip 9.20
- Ansible (ansible 2.9.6) - Ansible (ansible 2.9.6)
- AzCopy (azcopy 7.3.0-netcore) - AzCopy (azcopy 7.3.0-netcore)
- Azure CLI (azure-cli 2.2.0) - Azure CLI (azure-cli 2.3.1)
- Azure CLI (azure-devops 0.17.0) - Azure CLI (azure-devops 0.18.0)
- Basic CLI: - Basic CLI:
- curl - curl
- dnsutils - dnsutils
@@ -34,12 +34,13 @@ The following software is installed on machines with the 20200330.1 update.
- wget - wget
- zip - zip
- zstd - zstd
- AWS CLI (aws-cli/1.18.31 Python/2.7.12 Linux/4.15.0-1071-azure botocore/1.15.31) - AWS CLI (aws-cli/1.18.37 Python/2.7.12 Linux/4.15.0-1075-azure botocore/1.15.37)
- build-essential - build-essential
- nvm (0.35.3)
- Clang 6.0 (6.0.0) - Clang 6.0 (6.0.0)
- Clang 8 (8.0.0) - Clang 8 (8.0.0)
- Clang 9 (9.0.1) - Clang 9 (9.0.1)
- Swift version 5.2 (swift-5.2-RELEASE) - Swift version 5.2.1 (swift-5.2.1-RELEASE)
Target: x86_64-unknown-linux-gnu Target: x86_64-unknown-linux-gnu
- CMake (cmake version 3.16.2) - CMake (cmake version 3.16.2)
- Docker Compose (docker-compose version 1.25.4, build 8d51620a) - Docker Compose (docker-compose version 1.25.4, build 8d51620a)
@@ -111,7 +112,7 @@ Target: x86_64-unknown-linux-gnu
- 2.1.301 - 2.1.301
- 2.1.300 - 2.1.300
- Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.7) - Erlang (Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.7)
- Firefox (Mozilla Firefox 74.0) - Firefox (Mozilla Firefox 74.0.1)
- Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable - Geckodriver (0.26.0); Gecko Driver is available via GECKOWEBDRIVER environment variable
- GNU C++ 7.4.0 - GNU C++ 7.4.0
- GNU C++ 8.3.0 - GNU C++ 8.3.0
@@ -121,9 +122,9 @@ Target: x86_64-unknown-linux-gnu
- Git (2.26.0) - Git (2.26.0)
- Git Large File Storage (LFS) (2.10.0) - Git Large File Storage (LFS) (2.10.0)
- Hub CLI (2.14.2) - Hub CLI (2.14.2)
- Google Chrome (Google Chrome 80.0.3987.149 ) - Google Chrome (Google Chrome 80.0.3987.163 )
- ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable - ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}); Chrome Driver is available via CHROMEWEBDRIVER environment variable
- Google Cloud SDK (286.0.0) - Google Cloud SDK (287.0.0)
- Haskell Cabal (cabal-install version 2.0.0.1 - Haskell Cabal (cabal-install version 2.0.0.1
compiled using version 2.0.1.1 of the Cabal library ) compiled using version 2.0.1.1 of the Cabal library )
- Haskell Cabal (cabal-install version 2.2.0.0 - Haskell Cabal (cabal-install version 2.2.0.0
@@ -132,6 +133,8 @@ compiled using version 2.2.0.1 of the Cabal library )
compiled using version 2.4.1.0 of the Cabal library ) compiled using version 2.4.1.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.0.1.0 - Haskell Cabal (cabal-install version 3.0.1.0
compiled using version 3.0.2.0 of the Cabal library ) compiled using version 3.0.2.0 of the Cabal library )
- Haskell Cabal (cabal-install version 3.2.0.0
compiled using version 3.2.0.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.0.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.0.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.2.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.4.4)
@@ -142,9 +145,10 @@ compiled using version 3.0.2.0 of the Cabal library )
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.1)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.2)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3) - GHC (The Glorious Glasgow Haskell Compilation System, version 8.8.3)
- GHC (The Glorious Glasgow Haskell Compilation System, version 8.10.1)
- Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2) - Haskell Stack (Version 2.1.3, Git revision 636e3a759d51127df2b62f90772def126cdf6d1f (7735 commits) x86_64 hpack-0.31.2)
- Heroku (heroku/7.39.1 linux-x64 node-v12.13.0) - Heroku (heroku/7.39.2 linux-x64 node-v12.13.0)
- HHVM (HipHop VM 4.50.0 (rel)) - HHVM (HipHop VM 4.52.0 (rel))
- ImageMagick - ImageMagick
- Azul Zulu OpenJDK: - Azul Zulu OpenJDK:
- 7 (openjdk version "1.7.0_252") - 7 (openjdk version "1.7.0_252")
@@ -174,7 +178,7 @@ Local version: Unknown)
- Webpack (4.42.1) - Webpack (4.42.1)
- Webpack CLI (3.3.11) - Webpack CLI (3.3.11)
- Yarn (1.22.4) - Yarn (1.22.4)
- Bazel (bazel 2.2.0) - Bazel (bazel 3.0.0)
- Bazelisk (1.3.0) - Bazelisk (1.3.0)
- PhantomJS (2.1.1) - PhantomJS (2.1.1)
- PHP 5.6 (PHP 5.6.40-26+ubuntu16.04.1+deb.sury.org+1 (cli) ) - PHP 5.6 (PHP 5.6.40-26+ubuntu16.04.1+deb.sury.org+1 (cli) )
@@ -197,9 +201,9 @@ Local version: Unknown)
- clippy (0.0.212) - clippy (0.0.212)
- rustdoc (1.42.0) - rustdoc (1.42.0)
- bindgen (0.53.2) - bindgen (0.53.2)
- cbindgen (0.13.2) - cbindgen (0.14.0)
- Julia (julia version 1.4.0) - Julia (julia version 1.4.0)
- sbt (1.3.8) - sbt (1.3.9)
- Selenium server standalone (available via SELENIUM_JAR_PATH environment variable) - Selenium server standalone (available via SELENIUM_JAR_PATH environment variable)
- Sphinx Open Source Search Server - Sphinx Open Source Search Server
- Subversion (svn, version 1.9.3 (r1718519)) - Subversion (svn, version 1.9.3 (r1718519))
@@ -207,6 +211,9 @@ Local version: Unknown)
- Packer (1.5.5) - Packer (1.5.5)
- Vcpkg 2020.02.04-unknownhash - Vcpkg 2020.02.04-unknownhash
- Zeit Now CLI (17.1.1) - Zeit Now CLI (17.1.1)
- MongoDB on Linux (2020-04-07T01:29:52.795+0000 I CONTROL [initandlisten] db version v4.2.5
2020-04-07T01:29:52.795+0000 I CONTROL [initandlisten] git version: 2261279b51ea13df08ae708ff278f0679c59dc32
2020-04-07T01:29:52.795+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016)
- Go 1.11 (go version go1.11.13 linux/amd64) - Go 1.11 (go version go1.11.13 linux/amd64)
- Go 1.12 (go version go1.12.17 linux/amd64) - Go 1.12 (go version go1.12.17 linux/amd64)
- Go 1.13 (go version go1.13.9 linux/amd64) - Go 1.13 (go version go1.13.9 linux/amd64)
@@ -279,13 +286,13 @@ Local version: Unknown)
- Az Module (3.1.0) - Az Module (3.1.0)
- Az Module (3.5.0) - Az Module (3.5.0)
- Cached container images - Cached container images
- node:10 (Digest: sha256:816cfaee24dc2cea534e21d7f9c55f3b22c8bc6af61d8445f8d0178168ef3b28)
- node:12 (Digest: sha256:46f4c17e1edbde36d60a9f6362db7912cfe301bac89afef7cc92421ab3e7ca18)
- buildpack-deps:stretch (Digest: sha256:a711a64b26285b42cd02618a191ec6c99650449f698858e0e2cc0535ab85e4dd)
- debian:9 (Digest: sha256:344470192d10cf7cf0bedcb183effbe99065829a8dbe68e65e703faf46fc10c1)
- debian:8 (Digest: sha256:a77aa078ad4769799286bba5fc198deda5bfd4d0144a24e6aa0c8dddf0a22833)
- node:10-alpine (Digest: sha256:9a88e3bc3f845b74d2fd8adcbc64608736a8be4a3e9dc7aa34fa743e3677a552) - node:10-alpine (Digest: sha256:9a88e3bc3f845b74d2fd8adcbc64608736a8be4a3e9dc7aa34fa743e3677a552)
- node:12-alpine (Digest: sha256:6b5b783c9cfe229af0bd5b0b677dd32005bb22d58465f3d0fe7fbd1c60ce068c) - node:12-alpine (Digest: sha256:6b5b783c9cfe229af0bd5b0b677dd32005bb22d58465f3d0fe7fbd1c60ce068c)
- node:10 (Digest: sha256:df200903ff34c07c1b9112b4fd9d1342c11eb7d99525f2b366c487f91dda8131)
- node:12 (Digest: sha256:facc1cbde6e5aa3255092b1a1417451953c80bd31ab5a4403f8bcd90b90a8407)
- buildpack-deps:stretch (Digest: sha256:dc901bbf4b34e4ca8771c0d0773e557221452f97bcf0c732de7ecda3782bdf97)
- debian:9 (Digest: sha256:ddb131307ad9c70ebf8c7962ba73c20101f68c7a511915aea3ad3b7ad47b9d20)
- debian:8 (Digest: sha256:2c9b2323299846c5298c12db373da310f8114f2941ae3f496e95270cc8ca5ebd)
- alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14) - alpine:3.8 (Digest: sha256:2bb501e6173d9d006e56de5bce2720eb06396803300fe1687b58a7ff32bf4c14)
- alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178) - alpine:3.9 (Digest: sha256:115731bab0862031b44766733890091c17924f9b7781b79997f5f163be262178)
- alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f) - alpine:3.10 (Digest: sha256:7c3773f7bcc969f03f8f653910001d99a9d324b4b9caa008846ad2c3089f5a5f)
@@ -299,10 +306,10 @@ Local version: Unknown)
- Python 3.7.6 - Python 3.7.6
- Python 3.8.2 - Python 3.8.2
- Ruby: - Ruby:
- Ruby 2.4.9 - Ruby 2.4.10
- Ruby 2.5.7 - Ruby 2.5.8
- Ruby 2.6.5 - Ruby 2.6.6
- Ruby 2.7.0 - Ruby 2.7.1
- PyPy: - PyPy:
- PyPy 2.7.17 - PyPy 2.7.17
- PyPy 3.6.9 - PyPy 3.6.9

View File

@@ -8,42 +8,57 @@
# values containg slashes (i.e. directory path) # values containg slashes (i.e. directory path)
# The values containing '%' will break the functions # The values containing '%' will break the functions
function getEtcEnvironmentVar { function getEtcEnvironmentVariable {
var_name="$1" variable_name="$1"
# remove `var_name=` and possible quotes from the line # remove `variable_name=` and possible quotes from the line
grep "^${var_name}=" /etc/environment |sed -E "s%^${var_name}=\"?([^\"]+)\"?.*$%\1%" grep "^${variable_name}=" /etc/environment |sed -E "s%^${variable_name}=\"?([^\"]+)\"?.*$%\1%"
} }
function addEtcEnvironmentVar { function addEtcEnvironmentVariable {
var_name="$1" variable_name="$1"
var_value="$2" variable_value="$2"
echo "$var_name=\"$var_value\"" | sudo tee -a /etc/environment echo "$variable_name=\"$variable_value\"" | sudo tee -a /etc/environment
} }
function replaceEtcEnvironmentVar { function replaceEtcEnvironmentVariable {
var_name="$1" variable_name="$1"
var_value="$2" variable_value="$2"
# modify /etc/environemnt in place by replacing a string that begins with var_name # modify /etc/environemnt in place by replacing a string that begins with variable_name
sudo sed -ie "s%^${var_name}=.*$%${var_name}=\"${var_value}\"%" /etc/environment sudo sed -ie "s%^${variable_name}=.*$%${variable_name}=\"${variable_value}\"%" /etc/environment
} }
function setEtcEnvironmentVar { function setEtcEnvironmentVariable {
var_name="$1" variable_name="$1"
var_value="$2" variable_value="$2"
if grep "$var_name" /etc/environment > /dev/null; then if grep "$variable_name" /etc/environment > /dev/null; then
replaceEtcEnvironmentVar $var_name $var_value replaceEtcEnvironmentVariable $variable_name $variable_value
else else
addEtcEnvironmentVar $var_name $var_value addEtcEnvironmentVariable $variable_name $variable_value
fi fi
} }
function addEtcEnvironmentPathElement { function prependEtcEnvironmentVariable {
variable_name="$1"
element="$2"
# TODO: handle the case if the variable does not exist
existing_value=$(getEtcEnvironmentVariable "${variable_name}")
setEtcEnvironmentVariable "${variable_name}" "${element}:${existing_value}"
}
function appendEtcEnvironmentVariable {
variable_name="$1"
element="$2"
# TODO: handle the case if the variable does not exist
existing_value=$(getEtcEnvironmentVariable "${variable_name}")
setEtcEnvironmentVariable "${variable_name}" "${existing_value}:${element}"
}
function prependEtcEnvironmentPath {
element="$1" element="$1"
etc_path=$(getEtcEnvironmentVar PATH) prependEtcEnvironmentVariable PATH "${element}"
setEtcEnvironmentVar PATH "${element}:${etc_path}"
} }
# Process /etc/environment as if it were shell script with `export VAR=...` expressions # Process /etc/environment as if it were shell script with `export VAR=...` expressions
@@ -59,7 +74,7 @@ function reloadEtcEnvironment {
# add `export ` to every variable of /etc/environemnt except PATH and eval the result shell script # add `export ` to every variable of /etc/environemnt except PATH and eval the result shell script
eval $(grep -v '^PATH=' /etc/environment | sed -e 's%^%export %') eval $(grep -v '^PATH=' /etc/environment | sed -e 's%^%export %')
# handle PATH specially # handle PATH specially
etc_path=$(getEtcEnvironmentVar PATH) etc_path=$(getEtcEnvironmentVariable PATH)
export PATH="$PATH:$etc_path" export PATH="$PATH:$etc_path"
} }

View File

@@ -41,6 +41,7 @@ fi
# Install the following SDKs and build tools, passing in "y" to accept licenses. # Install the following SDKs and build tools, passing in "y" to accept licenses.
echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \
"ndk-bundle" \ "ndk-bundle" \
"ndk;20.0.5594570" \
"platform-tools" \ "platform-tools" \
"platforms;android-29" \ "platforms;android-29" \
"platforms;android-28" \ "platforms;android-28" \
@@ -160,5 +161,6 @@ DocumentInstalledItem "Android SDK Build-Tools 20.0.0"
DocumentInstalledItem "Android SDK Build-Tools 19.1.0" DocumentInstalledItem "Android SDK Build-Tools 19.1.0"
DocumentInstalledItem "Android SDK Build-Tools 17.0.0" DocumentInstalledItem "Android SDK Build-Tools 17.0.0"
DocumentInstalledItem "Android NDK $(cat ${ANDROID_SDK_ROOT}/ndk-bundle/source.properties 2>&1 | grep Pkg.Revision | cut -d ' ' -f 3)" DocumentInstalledItem "Android NDK $(cat ${ANDROID_SDK_ROOT}/ndk-bundle/source.properties 2>&1 | grep Pkg.Revision | cut -d ' ' -f 3)"
DocumentInstalledItem "Android NDK 20.0.5594570"
DocumentInstalledItem "Android ConstraintLayout 1.0.2" DocumentInstalledItem "Android ConstraintLayout 1.0.2"
DocumentInstalledItem "Android ConstraintLayout 1.0.1" DocumentInstalledItem "Android ConstraintLayout 1.0.1"

View File

@@ -49,6 +49,7 @@ apt-fast install -y --no-install-recommends \
libgconf-2-4 \ libgconf-2-4 \
dbus \ dbus \
xvfb \ xvfb \
libgbm-dev \
libgtk-3-0 \ libgtk-3-0 \
tk \ tk \
fakeroot \ fakeroot \
@@ -80,6 +81,7 @@ DocumentInstalledItemIndent "jq"
DocumentInstalledItemIndent "libc++-dev" DocumentInstalledItemIndent "libc++-dev"
DocumentInstalledItemIndent "libc++abi-dev" DocumentInstalledItemIndent "libc++abi-dev"
DocumentInstalledItemIndent "libcurl3" DocumentInstalledItemIndent "libcurl3"
DocumentInstalledItemIndent "libgbm-dev"
DocumentInstalledItemIndent "libicu55" DocumentInstalledItemIndent "libicu55"
DocumentInstalledItemIndent "libunwind8" DocumentInstalledItemIndent "libunwind8"
DocumentInstalledItemIndent "locales" DocumentInstalledItemIndent "locales"

View File

@@ -5,6 +5,7 @@
################################################################################ ################################################################################
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
LSB_RELEASE=$(lsb_release -rs) LSB_RELEASE=$(lsb_release -rs)
@@ -276,6 +277,9 @@ php composer-setup.php
sudo mv composer.phar /usr/bin/composer sudo mv composer.phar /usr/bin/composer
php -r "unlink('composer-setup.php');" php -r "unlink('composer-setup.php');"
# Update /etc/environment
prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin
# Add composer bin folder to path # Add composer bin folder to path
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc
@@ -293,6 +297,7 @@ for cmd in php php5.6 php7.0 php7.1 php7.2 php7.3 php7.4 composer phpunit; do
fi fi
done done
# Document what was added to the image # Document what was added to the image
echo "Lastly, documenting what we added to the metadata file" echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "PHP 5.6 ($(php5.6 --version | head -n 1))" DocumentInstalledItem "PHP 5.6 ($(php5.6 --version | head -n 1))"

View File

@@ -40,6 +40,7 @@ fi
# Install the following SDKs and build tools, passing in "y" to accept licenses. # Install the following SDKs and build tools, passing in "y" to accept licenses.
echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \ echo "y" | ${ANDROID_SDK_ROOT}/tools/bin/sdkmanager \
"ndk-bundle" \ "ndk-bundle" \
"ndk;20.0.5594570" \
"platform-tools" \ "platform-tools" \
"platforms;android-29" \ "platforms;android-29" \
"platforms;android-28" \ "platforms;android-28" \
@@ -149,3 +150,4 @@ DocumentInstalledItem "Android SDK Build-Tools 20.0.0"
DocumentInstalledItem "Android SDK Build-Tools 19.1.0" DocumentInstalledItem "Android SDK Build-Tools 19.1.0"
DocumentInstalledItem "Android SDK Build-Tools 17.0.0" DocumentInstalledItem "Android SDK Build-Tools 17.0.0"
DocumentInstalledItem "Android NDK $(cat ${ANDROID_SDK_ROOT}/ndk-bundle/source.properties 2>&1 | grep Pkg.Revision | cut -d ' ' -f 3)" DocumentInstalledItem "Android NDK $(cat ${ANDROID_SDK_ROOT}/ndk-bundle/source.properties 2>&1 | grep Pkg.Revision | cut -d ' ' -f 3)"
DocumentInstalledItem "Android NDK 20.0.5594570"

View File

@@ -97,6 +97,9 @@ apt-get install -y --no-install-recommends dbus
echo "Install xvfb" echo "Install xvfb"
apt-get install -y --no-install-recommends xvfb apt-get install -y --no-install-recommends xvfb
echo "Install libgbm-dev"
apt-get install -y --no-install-recommends libgbm-dev
echo "Install libgtk" echo "Install libgtk"
apt-get install -y --no-install-recommends libgtk-3-0 apt-get install -y --no-install-recommends libgtk-3-0
@@ -147,6 +150,7 @@ DocumentInstalledItemIndent "iproute2"
DocumentInstalledItemIndent "iputils-ping" DocumentInstalledItemIndent "iputils-ping"
DocumentInstalledItemIndent "jq" DocumentInstalledItemIndent "jq"
DocumentInstalledItemIndent "libcurl3" DocumentInstalledItemIndent "libcurl3"
DocumentInstalledItemIndent "libgbm-dev"
DocumentInstalledItemIndent "libicu55" DocumentInstalledItemIndent "libicu55"
DocumentInstalledItemIndent "libunwind8" DocumentInstalledItemIndent "libunwind8"
DocumentInstalledItemIndent "locales" DocumentInstalledItemIndent "locales"

View File

@@ -5,6 +5,7 @@
################################################################################ ################################################################################
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
LSB_RELEASE=$(lsb_release -rs) LSB_RELEASE=$(lsb_release -rs)
@@ -193,6 +194,9 @@ php composer-setup.php
sudo mv composer.phar /usr/bin/composer sudo mv composer.phar /usr/bin/composer
php -r "unlink('composer-setup.php');" php -r "unlink('composer-setup.php');"
# Update /etc/environment
prependEtcEnvironmentPath /home/runner/.config/composer/vendor/bin
# Add composer bin folder to path # Add composer bin folder to path
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> /etc/skel/.bashrc

View File

@@ -0,0 +1,27 @@
#!/bin/bash
################################################################################
## File: aliyun-cli.sh
## Desc: Installs Alibaba Cloud CLI
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/apt.sh
# Install Alibaba Cloud CLI
URL=$(curl -s https://api.github.com/repos/aliyun/aliyun-cli/releases/latest | jq -r '.assets[].browser_download_url | select(contains("aliyun-cli-linux"))')
wget -P /tmp $URL
tar xzvf /tmp/aliyun-cli-linux-*-amd64.tgz
mv aliyun /usr/local/bin
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
if ! command -v aliyun ; then
echo "aliyun was not installed"
exit 1
fi
# Document what was added to the image
aliyun_version="$(aliyun --version | grep "Alibaba Cloud Command Line Interface Version" | cut -d " " -f 7)"
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "Alibaba Cloud CLI ($aliyun_version)"

View File

@@ -0,0 +1,24 @@
#!/bin/bash
################################################################################
## File: aws-sam-cli.sh
## Desc: Installs AWS SAM CLI
## Must be run as non-root user after homebrew and clang
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh
# Install aws sam cli
brew tap aws/tap
brew install aws-sam-cli
# Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work"
if ! sam --version; then
echo "AWS SAM CLI was not installed"
exit 1
fi
# Document what was added to the image
echo "Lastly, documenting what we added to the metadata file"
DocumentInstalledItem "AWS $(sam --version)"

View File

@@ -45,6 +45,7 @@ docker pull alpine:3.7
docker pull alpine:3.8 docker pull alpine:3.8
docker pull alpine:3.9 docker pull alpine:3.9
docker pull alpine:3.10 docker pull alpine:3.10
docker pull ubuntu:14.04
## Add version information to the metadata file ## Add version information to the metadata file
echo "Documenting Docker version" echo "Documenting Docker version"

View File

@@ -3,6 +3,7 @@
## File: dotnetcore-sdk.sh ## File: dotnetcore-sdk.sh
## Desc: Installs .NET Core SDK ## Desc: Installs .NET Core SDK
################################################################################ ################################################################################
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/apt.sh source $HELPER_SCRIPTS/apt.sh
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
@@ -95,5 +96,6 @@ done
# NuGetFallbackFolder at /usr/share/dotnet/sdk/NuGetFallbackFolder is warmed up by smoke test # NuGetFallbackFolder at /usr/share/dotnet/sdk/NuGetFallbackFolder is warmed up by smoke test
# Additional FTE will just copy to ~/.dotnet/NuGet which provides no benefit on a fungible machine # Additional FTE will just copy to ~/.dotnet/NuGet which provides no benefit on a fungible machine
echo "DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1" | tee -a /etc/environment setEtcEnvironmentVariable DOTNET_SKIP_FIRST_TIME_EXPERIENCE 1
prependEtcEnvironmentPath /home/runner/.dotnet/tools
echo 'export PATH="$PATH:$HOME/.dotnet/tools"' | tee -a /etc/skel/.bashrc echo 'export PATH="$PATH:$HOME/.dotnet/tools"' | tee -a /etc/skel/.bashrc

View File

@@ -20,7 +20,7 @@ sudo chmod -R o+w $HOMEBREW_PREFIX
brew shellenv|grep 'export HOMEBREW'|sed -E 's/^export (.*);$/\1/' | sudo tee -a /etc/environment brew shellenv|grep 'export HOMEBREW'|sed -E 's/^export (.*);$/\1/' | sudo tee -a /etc/environment
# add brew executables locations to PATH # add brew executables locations to PATH
brew_path=$(brew shellenv|grep '^export PATH' |sed -E 's/^export PATH="([^$]+)\$.*/\1/') brew_path=$(brew shellenv|grep '^export PATH' |sed -E 's/^export PATH="([^$]+)\$.*/\1/')
addEtcEnvironmentPathElement "$brew_path" prependEtcEnvironmentPath "$brew_path"
# Validate the installation ad hoc # Validate the installation ad hoc
echo "Validate the installation reloading /etc/environment" echo "Validate the installation reloading /etc/environment"

View File

@@ -5,10 +5,9 @@
################################################################################ ################################################################################
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/etc-environment.sh
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
set -e
export RUSTUP_HOME=/usr/share/rust/.rustup export RUSTUP_HOME=/usr/share/rust/.rustup
export CARGO_HOME=/usr/share/rust/.cargo export CARGO_HOME=/usr/share/rust/.cargo
@@ -33,6 +32,9 @@ for cmd in rustup rustc rustdoc cargo rustfmt cargo-clippy bindgen cbindgen; do
fi fi
done done
# Update /etc/environemnt
prependEtcEnvironmentPath "${CARGO_HOME}/bin"
# Rust Symlinks are added to a default profile /etc/skel # Rust Symlinks are added to a default profile /etc/skel
pushd /etc/skel pushd /etc/skel
ln -sf $RUSTUP_HOME .rustup ln -sf $RUSTUP_HOME .rustup

View File

@@ -1,7 +0,0 @@
#!/bin/bash
CARGO_HOME=/usr/share/rust/.cargo
DOTNET_TOOLS_HOME=/home/runner/.dotnet/tools
PHP_COMPOSER_HOME=/home/runner/.config/composer/vendor/bin
BREW_PATH=/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin
echo "PATH=${BREW_PATH}:${CARGO_HOME}/bin:${PATH}:${DOTNET_TOOLS_HOME}:${PHP_COMPOSER_HOME}" | tee -a /etc/environment

View File

@@ -6,6 +6,7 @@
# Source the helpers for use with the script # Source the helpers for use with the script
source $HELPER_SCRIPTS/document.sh source $HELPER_SCRIPTS/document.sh
source $HELPER_SCRIPTS/os.sh
# Set env variable for vcpkg # Set env variable for vcpkg
VCPKG_INSTALLATION_ROOT=/usr/local/share/vcpkg VCPKG_INSTALLATION_ROOT=/usr/local/share/vcpkg
@@ -13,11 +14,22 @@ echo "VCPKG_INSTALLATION_ROOT=${VCPKG_INSTALLATION_ROOT}" | tee -a /etc/environm
# Install vcpkg # Install vcpkg
git clone --depth=1 https://github.com/Microsoft/vcpkg $VCPKG_INSTALLATION_ROOT git clone --depth=1 https://github.com/Microsoft/vcpkg $VCPKG_INSTALLATION_ROOT
# vcpkg requires g++ version 7+, yet Ubuntu 16 default is 5.4. Set version 7 as default temporarily
if isUbuntu16; then
ln -sf g++-7 /usr/bin/g++
fi
$VCPKG_INSTALLATION_ROOT/bootstrap-vcpkg.sh $VCPKG_INSTALLATION_ROOT/bootstrap-vcpkg.sh
$VCPKG_INSTALLATION_ROOT/vcpkg integrate install $VCPKG_INSTALLATION_ROOT/vcpkg integrate install
chmod 0777 -R $VCPKG_INSTALLATION_ROOT chmod 0777 -R $VCPKG_INSTALLATION_ROOT
ln -sf $VCPKG_INSTALLATION_ROOT/vcpkg /usr/local/bin ln -sf $VCPKG_INSTALLATION_ROOT/vcpkg /usr/local/bin
# Set back g++ 5.4 as default
if isUbuntu16; then
ln -sf g++-5 /usr/bin/g++
fi
# Run tests to determine that the software installed as expected # Run tests to determine that the software installed as expected
echo "Testing to make sure that script performed as expected, and basic scenarios work" echo "Testing to make sure that script performed as expected, and basic scenarios work"
if ! command -v vcpkg; then if ! command -v vcpkg; then

View File

@@ -171,6 +171,7 @@
"{{template_dir}}/scripts/installers/azure-cli.sh", "{{template_dir}}/scripts/installers/azure-cli.sh",
"{{template_dir}}/scripts/installers/azure-devops-cli.sh", "{{template_dir}}/scripts/installers/azure-devops-cli.sh",
"{{template_dir}}/scripts/installers/1604/basic.sh", "{{template_dir}}/scripts/installers/1604/basic.sh",
"{{template_dir}}/scripts/installers/aliyun-cli.sh",
"{{template_dir}}/scripts/installers/aws.sh", "{{template_dir}}/scripts/installers/aws.sh",
"{{template_dir}}/scripts/installers/build-essential.sh", "{{template_dir}}/scripts/installers/build-essential.sh",
"{{template_dir}}/scripts/installers/nvm.sh", "{{template_dir}}/scripts/installers/nvm.sh",
@@ -217,7 +218,6 @@
"{{template_dir}}/scripts/installers/packer.sh", "{{template_dir}}/scripts/installers/packer.sh",
"{{template_dir}}/scripts/installers/vcpkg.sh", "{{template_dir}}/scripts/installers/vcpkg.sh",
"{{template_dir}}/scripts/installers/zeit-now.sh", "{{template_dir}}/scripts/installers/zeit-now.sh",
"{{template_dir}}/scripts/installers/updatepath.sh",
"{{template_dir}}/scripts/installers/dpkg-config.sh", "{{template_dir}}/scripts/installers/dpkg-config.sh",
"{{template_dir}}/scripts/installers/mongodb.sh", "{{template_dir}}/scripts/installers/mongodb.sh",
"{{template_dir}}/scripts/installers/rndgenerator.sh" "{{template_dir}}/scripts/installers/rndgenerator.sh"
@@ -229,6 +229,18 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/aws-sam-cli.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"DEBIAN_FRONTEND=noninteractive"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{ {
"type": "shell", "type": "shell",
"scripts": [ "scripts": [

View File

@@ -174,6 +174,7 @@
"{{template_dir}}/scripts/installers/azure-cli.sh", "{{template_dir}}/scripts/installers/azure-cli.sh",
"{{template_dir}}/scripts/installers/azure-devops-cli.sh", "{{template_dir}}/scripts/installers/azure-devops-cli.sh",
"{{template_dir}}/scripts/installers/1804/basic.sh", "{{template_dir}}/scripts/installers/1804/basic.sh",
"{{template_dir}}/scripts/installers/aliyun-cli.sh",
"{{template_dir}}/scripts/installers/aws.sh", "{{template_dir}}/scripts/installers/aws.sh",
"{{template_dir}}/scripts/installers/build-essential.sh", "{{template_dir}}/scripts/installers/build-essential.sh",
"{{template_dir}}/scripts/installers/clang.sh", "{{template_dir}}/scripts/installers/clang.sh",
@@ -221,7 +222,6 @@
"{{template_dir}}/scripts/installers/packer.sh", "{{template_dir}}/scripts/installers/packer.sh",
"{{template_dir}}/scripts/installers/vcpkg.sh", "{{template_dir}}/scripts/installers/vcpkg.sh",
"{{template_dir}}/scripts/installers/zeit-now.sh", "{{template_dir}}/scripts/installers/zeit-now.sh",
"{{template_dir}}/scripts/installers/updatepath.sh",
"{{template_dir}}/scripts/installers/dpkg-config.sh", "{{template_dir}}/scripts/installers/dpkg-config.sh",
"{{template_dir}}/scripts/installers/mongodb.sh", "{{template_dir}}/scripts/installers/mongodb.sh",
"{{template_dir}}/scripts/installers/rndgenerator.sh" "{{template_dir}}/scripts/installers/rndgenerator.sh"
@@ -233,6 +233,18 @@
], ],
"execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'" "execute_command": "sudo sh -c '{{ .Vars }} {{ .Path }}'"
}, },
{
"type": "shell",
"scripts": [
"{{template_dir}}/scripts/installers/aws-sam-cli.sh"
],
"environment_vars": [
"METADATA_FILE={{user `metadata_file`}}",
"HELPER_SCRIPTS={{user `helper_script_folder`}}",
"DEBIAN_FRONTEND=noninteractive"
],
"execute_command": "/bin/sh -c '{{ .Vars }} {{ .Path }}'"
},
{ {
"type": "shell", "type": "shell",
"scripts": [ "scripts": [

View File

@@ -175,10 +175,6 @@
"{{ template_dir }}/scripts/Installers/Windows2016/Update-DockerImages.ps1" "{{ template_dir }}/scripts/Installers/Windows2016/Update-DockerImages.ps1"
] ]
}, },
{
"type": "powershell",
"inline": ["choco install vcredist140 -y"]
},
{ {
"type": "powershell", "type": "powershell",
"valid_exit_codes": [ "valid_exit_codes": [
@@ -299,6 +295,12 @@
"{{ template_dir }}/scripts/Installers/Install-Bazel.ps1" "{{ template_dir }}/scripts/Installers/Install-Bazel.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-AliyunCli.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -731,6 +733,12 @@
"{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1" "{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[

View File

@@ -578,6 +578,12 @@
"{{ template_dir }}/scripts/Installers/Install-Bazel.ps1" "{{ template_dir }}/scripts/Installers/Install-Bazel.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Install-AliyunCli.ps1"
]
},
{ {
"type": "powershell", "type": "powershell",
"scripts":[ "scripts":[
@@ -862,6 +868,12 @@
"{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1" "{{ template_dir }}/scripts/Installers/Validate-Bazel.ps1"
] ]
}, },
{
"type": "powershell",
"scripts":[
"{{ template_dir }}/scripts/Installers/Validate-AliyunCli.ps1"
]
},
{ {
"type": "file", "type": "file",
"source": "C:\\InstalledSoftware.md", "source": "C:\\InstalledSoftware.md",

View File

@@ -0,0 +1,32 @@
function Choco-Install {
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[string] $PackageName,
[string[]] $ArgumentList,
[int] $RetryCount = 5
)
process {
$count = 1
while($true)
{
Write-Host "Running [#$count]: choco install $packageName -y $argumentList"
choco install $packageName -y @argumentList
$pkg = choco list --localonly $packageName --exact --all --limitoutput
if ($pkg) {
Write-Host "Package installed: $pkg"
break
}
else {
$count++
if ($count -ge $retryCount) {
Write-Host "Could not install $packageName after $count attempts"
exit 1
}
Start-Sleep -Seconds 30
}
}
}
}

View File

@@ -4,6 +4,7 @@ param()
. $PSScriptRoot\PathHelpers.ps1 . $PSScriptRoot\PathHelpers.ps1
. $PSScriptRoot\InstallHelpers.ps1 . $PSScriptRoot\InstallHelpers.ps1
. $PSScriptRoot\MarkdownHelpers.ps1 . $PSScriptRoot\MarkdownHelpers.ps1
. $PSScriptRoot\ChocoHelpers.ps1
Export-ModuleMember -Function @( Export-ModuleMember -Function @(
'Test-MachinePath' 'Test-MachinePath'
@@ -26,4 +27,5 @@ Export-ModuleMember -Function @(
'Get-WinVersion' 'Get-WinVersion'
'Test-IsWin19' 'Test-IsWin19'
'Test-IsWin16' 'Test-IsWin16'
'Choco-Install'
) )

View File

@@ -3,7 +3,8 @@ function Install-MSI
Param Param
( (
[String]$MsiUrl, [String]$MsiUrl,
[String]$MsiName [String]$MsiName,
[int]$retries = 5
) )
$exitCode = -1 $exitCode = -1

View File

@@ -1,5 +1,5 @@
function Add-ContentToMarkdown { function Add-ContentToMarkdown {
[CmdletBinding()]
param( param(
$Content = "" $Content = ""
) )

View File

@@ -3,4 +3,4 @@
## Desc: Install 7zip ## Desc: Install 7zip
################################################################################ ################################################################################
choco install 7zip.install -y Choco-Install -PackageName 7zip.install

View File

@@ -3,7 +3,7 @@
## Desc: Install awscli ## Desc: Install awscli
################################################################################ ################################################################################
choco install awscli -y Choco-Install -PackageName awscli
$env:PATH =$env:PATH + ";$Env:Programfiles\Amazon\AWSCLIV2" $env:PATH =$env:PATH + ";$Env:Programfiles\Amazon\AWSCLIV2"

View File

@@ -0,0 +1,6 @@
################################################################################
## File: Install-AliyunCli.ps1
## Desc: Install Alibaba Cloud CLI
################################################################################
Choco-Install -PackageName aliyun-cli

View File

@@ -3,7 +3,7 @@
## Desc: Install Azure CLI ## Desc: Install Azure CLI
################################################################################ ################################################################################
choco install azure-cli -y Choco-Install -PackageName azure-cli
$AzureCliExtensionPath = Join-Path $Env:CommonProgramFiles 'AzureCliExtensionDirectory' $AzureCliExtensionPath = Join-Path $Env:CommonProgramFiles 'AzureCliExtensionDirectory'
New-Item -ItemType "directory" -Path $AzureCliExtensionPath New-Item -ItemType "directory" -Path $AzureCliExtensionPath

View File

@@ -3,6 +3,6 @@
## Desc: Install Bazel and Bazelisk (A user-friendly launcher for Bazel) ## Desc: Install Bazel and Bazelisk (A user-friendly launcher for Bazel)
################################################################################ ################################################################################
choco install bazel -y Choco-Install -PackageName bazel
npm install -g @bazel/bazelisk npm install -g @bazel/bazelisk

View File

@@ -3,4 +3,4 @@
## Desc: Install Cmake ## Desc: Install Cmake
################################################################################ ################################################################################
choco install cmake.install -y --installargs 'ADD_CMAKE_TO_PATH=""System""' Choco-Install -PackageName cmake.install -ArgumentList "--installargs",'ADD_CMAKE_TO_PATH=""System""'

View File

@@ -13,8 +13,8 @@ Write-Host "Install-Package Docker"
Install-Package -Name docker -ProviderName DockerMsftProvider -Force Install-Package -Name docker -ProviderName DockerMsftProvider -Force
Start-Service docker Start-Service docker
choco install docker-compose -y Write-Host "Install-Package Docker-Compose"
Choco-Install -PackageName docker-compose
# Install helm
Write-Host "Install Helm" Write-Host "Install Helm"
choco install kubernetes-helm Choco-Install -PackageName kubernetes-helm

View File

@@ -3,7 +3,7 @@
## Desc: Install latest stable version of Microsoft Edge browser ## Desc: Install latest stable version of Microsoft Edge browser
################################################################################ ################################################################################
choco install microsoft-edge -y Choco-Install -PackageName microsoft-edge
# Install Microsoft Edge Web Driver # Install Microsoft Edge Web Driver
Write-Host "Install Edge WebDriver" Write-Host "Install Edge WebDriver"

View File

@@ -5,10 +5,34 @@
Import-Module -Name ImageHelpers Import-Module -Name ImageHelpers
# Install the latest version of Git which is bundled with Git LFS. function getSimpleValue([string] $url, [string] $filename ) {
# See https://chocolatey.org/packages/git $fullpath = "${env:Temp}\$filename"
choco install git -y --package-parameters="/GitAndUnixToolsOnPath /WindowsTerminal /NoShellIntegration" Invoke-WebRequest -Uri $url -OutFile $fullpath
choco install hub $value = Get-Content $fullpath -Raw
return $value
}
# Install the latest version of Git for Windows
$gitTag = getSimpleValue -url "https://gitforwindows.org/latest-tag.txt" -filename "gitlatesttag.txt"
$gitVersion = getSimpleValue -url "https://gitforwindows.org/latest-version.txt" -filename "gitlatestversion.txt";
$installerFile = "Git-$gitVersion-64-bit.exe";
$downloadUrl = "https://github.com/git-for-windows/git/releases/download/$gitTag/$installerFile";
Install-Exe -Url $downloadUrl `
-Name $installerFile `
-ArgumentList (
"/VERYSILENT", `
"/NORESTART", `
"/NOCANCEL", `
"/SP-", `
"/CLOSEAPPLICATIONS", `
"/RESTARTAPPLICATIONS", `
"/o:PathOption=CmdTools", `
"/o:BashTerminalOption=ConHost", `
"/COMPONENTS=gitlfs")
Choco-Install -PackageName hub
# Disable GCM machine-wide # Disable GCM machine-wide
[Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine) [Environment]::SetEnvironmentVariable("GCM_INTERACTIVE", "Never", [System.EnvironmentVariableTarget]::Machine)

View File

@@ -3,4 +3,4 @@
## Desc: Install GitVersion ## Desc: Install GitVersion
################################################################################ ################################################################################
choco install gitversion.portable -y Choco-Install -PackageName gitversion.portable

View File

@@ -3,4 +3,4 @@
## Desc: Install Inno Setup ## Desc: Install Inno Setup
################################################################################ ################################################################################
choco install innosetup -y Choco-Install -PackageName innosetup

View File

@@ -61,9 +61,9 @@ setx JAVA_HOME_11_X64 $latestJava11Install /M
# Install Java tools # Install Java tools
# Force chocolatey to ignore dependencies on Ant and Maven or else they will download the Oracle JDK # Force chocolatey to ignore dependencies on Ant and Maven or else they will download the Oracle JDK
choco install ant -y -i Choco-Install -PackageName ant -ArgumentList "-i"
choco install maven -y -i --version=3.6.3 Choco-Install -PackageName maven -ArgumentList "-i", "--version=3.6.3"
choco install gradle -y Choco-Install -PackageName gradle
# Move maven variables to Machine. They may not be in the environment for this script so we need to read them from the registry. # Move maven variables to Machine. They may not be in the environment for this script so we need to read them from the registry.
$userSid = (Get-WmiObject win32_useraccount -Filter "name = '$env:USERNAME' AND domain = '$env:USERDOMAIN'").SID $userSid = (Get-WmiObject win32_useraccount -Filter "name = '$env:USERNAME' AND domain = '$env:USERDOMAIN'").SID

View File

@@ -3,4 +3,4 @@
## Desc: Install jq ## Desc: Install jq
################################################################################ ################################################################################
choco install jq -y Choco-Install -PackageName jq

View File

@@ -3,4 +3,4 @@
## Desc: Install Julia ## Desc: Install Julia
################################################################################ ################################################################################
choco install julia -y --ia "/D=C:\Julia" Choco-Install -PackageName julia -ArgumentList "--ia","/DIR=C:\Julia"

View File

@@ -3,4 +3,4 @@
## Desc: Install KubernetesCli ## Desc: Install KubernetesCli
################################################################################ ################################################################################
choco install kubernetes-cli -y Choco-Install -PackageName kubernetes-cli

View File

@@ -3,7 +3,7 @@
## Desc: Install Mercurial ## Desc: Install Mercurial
################################################################################ ################################################################################
choco install hg -y --version 5.0.0 Choco-Install -PackageName hg -ArgumentList "--version", "5.0.0"
$hgPath = "${env:ProgramFiles}\Mercurial\" $hgPath = "${env:ProgramFiles}\Mercurial\"
Add-MachinePathItem $hgPath Add-MachinePathItem $hgPath

View File

@@ -5,7 +5,7 @@
Import-Module -Name ImageHelpers -Force Import-Module -Name ImageHelpers -Force
choco install -y mingw Choco-Install -PackageName mingw
# Make a copy of mingw32-make.exe to make.exe, which is a more discoverable name # Make a copy of mingw32-make.exe to make.exe, which is a more discoverable name
# and so the same command line can be used on Windows as on macOS and Linux # and so the same command line can be used on Windows as on macOS and Linux

View File

@@ -3,7 +3,7 @@
## Desc: Install NSIS ## Desc: Install NSIS
################################################################################ ################################################################################
choco install nsis -y Choco-Install -PackageName nsis
$NsisPath = "${env:ProgramFiles(x86)}\NSIS\" $NsisPath = "${env:ProgramFiles(x86)}\NSIS\"
Add-MachinePathItem $NsisPath Add-MachinePathItem $NsisPath

View File

@@ -12,7 +12,7 @@ $CachePath = 'C:\npm\cache'
New-Item -Path $PrefixPath -Force -ItemType Directory New-Item -Path $PrefixPath -Force -ItemType Directory
New-Item -Path $CachePath -Force -ItemType Directory New-Item -Path $CachePath -Force -ItemType Directory
choco install nodejs-lts -y --force Choco-Install -PackageName nodejs-lts -ArgumentList "--force"
Add-MachinePathItem $PrefixPath Add-MachinePathItem $PrefixPath
$env:Path = Get-MachinePath $env:Path = Get-MachinePath

View File

@@ -3,4 +3,4 @@
## Desc: Install OpenSSL ## Desc: Install OpenSSL
################################################################################ ################################################################################
choco install openssl.light -y Choco-Install -PackageName openssl.light

View File

@@ -8,10 +8,10 @@ Import-Module -Name ImageHelpers
# Install latest PHP in chocolatey # Install latest PHP in chocolatey
$installDir = "c:\tools\php" $installDir = "c:\tools\php"
choco install php -y --force --params "/InstallDir:$installDir" Choco-Install -PackageName php -ArgumentList "--force", "--params", "/InstallDir:$installDir"
# Install latest Composer in chocolatey # Install latest Composer in chocolatey
choco install composer --ia "/DEV=$installDir /PHP=$installDir" Choco-Install -PackageName composer -ArgumentList "--ia", "/DEV=$installDir /PHP=$installDir"
# update path to extensions and enable curl and mbstring extensions, and enable php openssl extensions. # update path to extensions and enable curl and mbstring extensions, and enable php openssl extensions.
((Get-Content -path $installDir\php.ini -Raw) -replace ';extension=curl','extension=curl' -replace ';extension=mbstring','extension=mbstring' -replace ';extension_dir = "ext"','extension_dir = "ext"' -replace 'extension=";php_openssl.dll"','extension_dir = "php_openssl.dll"') | Set-Content -Path $installDir\php.ini ((Get-Content -path $installDir\php.ini -Raw) -replace ';extension=curl','extension=curl' -replace ';extension=mbstring','extension=mbstring' -replace ';extension_dir = "ext"','extension_dir = "ext"' -replace 'extension=";php_openssl.dll"','extension_dir = "php_openssl.dll"') | Set-Content -Path $installDir\php.ini

View File

@@ -3,4 +3,4 @@
## Desc: Install Packer ## Desc: Install Packer
################################################################################ ################################################################################
choco install packer -y Choco-Install -PackageName packer

View File

@@ -3,4 +3,4 @@
## Desc: Install Perl ## Desc: Install Perl
################################################################################ ################################################################################
choco install strawberryperl -y Choco-Install -PackageName strawberryperl

View File

@@ -8,7 +8,7 @@ Import-Module -Name ImageHelpers
# Install the latest version of sbt. # Install the latest version of sbt.
# See https://chocolatey.org/packages/sbt # See https://chocolatey.org/packages/sbt
choco install sbt -y Choco-Install -PackageName sbt
$env:SBT_HOME="${env:ProgramFiles(x86)}\sbt" $env:SBT_HOME="${env:ProgramFiles(x86)}\sbt"

View File

@@ -3,4 +3,4 @@
## Desc: Install Subversion ## Desc: Install Subversion
################################################################################ ################################################################################
choco install svn -y Choco-Install -PackageName svn

View File

@@ -3,4 +3,4 @@
## Desc: Install latest stable version of VSWhere ## Desc: Install latest stable version of VSWhere
################################################################################ ################################################################################
choco install vswhere -y Choco-Install -PackageName vswhere

View File

@@ -3,9 +3,9 @@
## Desc: Install WIX. ## Desc: Install WIX.
################################################################################ ################################################################################
Import-Module -Name ImageHelpers -Force; Import-Module -Name ImageHelpers -Force
choco install wixtoolset -y --force Choco-Install -PackageName wixtoolset -ArgumentList "--force"
if(Test-IsWin19) if(Test-IsWin19)
{ {

View File

@@ -3,4 +3,4 @@
## Desc: Install zstd ## Desc: Install zstd
################################################################################ ################################################################################
choco install zstandard -y Choco-Install -PackageName zstandard

View File

@@ -0,0 +1,24 @@
################################################################################
## File: Validate-AliyunCli.ps1
## Desc: Validate Alibaba Cloud CLI
################################################################################
if (Get-Command -Name 'aliyun')
{
Write-Host "Alibaba Cloud CLI on path"
}
else
{
Write-Host 'Alibaba Cloud CLI is not on path'
exit 1
}
# Adding description of the software to Markdown
$aliyun_version = ((aliyun --version | Select-String "Alibaba Cloud Command Line Interface Version ") -Split(" "))[6]
$SoftwareName = "Alibaba Cloud CLI"
$Description = @"
_Version:_ $aliyun_version<br/>
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description

View File

@@ -4,7 +4,7 @@
################################################################################ ################################################################################
# Verify that julia.exe is on the path # Verify that julia.exe is on the path
if(Get-Command -Name 'julia') if((Get-Command -Name 'julia') -and (Test-Path -Path 'C:\Julia'))
{ {
Write-Host "$(julia --version) is on the path." Write-Host "$(julia --version) is on the path."
} }

View File

@@ -111,7 +111,10 @@ choco feature enable -n allowGlobalConfirmation
Remove-Item -Path $env:ChocolateyInstall\bin\cpack.exe -Force Remove-Item -Path $env:ChocolateyInstall\bin\cpack.exe -Force
# Install webpi # Install webpi
choco install webpicmd -y Choco-Install -PackageName webpicmd
# Install vcredist140
Choco-Install -PackageName vcredist140
# Expand disk size of OS drive # Expand disk size of OS drive

View File

@@ -109,7 +109,7 @@ choco feature enable -n allowGlobalConfirmation
Remove-Item -Path $env:ChocolateyInstall\bin\cpack.exe -Force Remove-Item -Path $env:ChocolateyInstall\bin\cpack.exe -Force
# Install webpi # Install webpi
choco install webpicmd -y Choco-Install -PackageName webpicmd
# Expand disk size of OS drive # Expand disk size of OS drive