From 9d8fce1808b77cc5692b936ef1a4997d08017853 Mon Sep 17 00:00:00 2001 From: Jing Li Date: Sun, 29 Sep 2024 15:45:42 +0200 Subject: [PATCH] Refactor naming convention for directories and files --- .github/workflows/docker-image.yml | 6 ++-- CONTRIBUTING.md | 6 ++-- README.md | 32 +++++++++--------- android-sdk/Dockerfile | 6 ++-- .../.gitignore | 0 ...sion_inspector.sh => version-inspector.sh} | 0 ...icense_accepter.sh => license-accepter.sh} | 0 ...sion_inspector.sh => version-inspector.sh} | 0 android-sdk/vnc/Dockerfile | 14 ++++---- ...server.conf => supervisord-vncserver.conf} | 2 +- ...sion_inspector.sh => version-inspector.sh} | 0 android-sdk/vnc/{vncpass.sh => vnc-pass.sh} | 0 ...ncserver_daemon.sh => vncserver-daemon.sh} | 0 {images => assets}/SSH.png | Bin .../emulator-error-process-not-responding.png | Bin {images => assets}/logo.png | Bin {images => assets}/vnc.png | Bin gradle-server/Dockerfile | 6 ++-- ...dle_downloader.sh => gradle-downloader.sh} | 0 image_publisher.sh => image-publisher.sh | 8 ++--- 20 files changed, 40 insertions(+), 40 deletions(-) rename android-sdk/{accredited_keys => accredited-keys}/.gitignore (100%) rename android-sdk/firebase-test-lab/{version_inspector.sh => version-inspector.sh} (100%) rename android-sdk/{license_accepter.sh => license-accepter.sh} (100%) rename android-sdk/{version_inspector.sh => version-inspector.sh} (100%) rename android-sdk/vnc/{supervisord_vncserver.conf => supervisord-vncserver.conf} (91%) rename android-sdk/vnc/{version_inspector.sh => version-inspector.sh} (100%) rename android-sdk/vnc/{vncpass.sh => vnc-pass.sh} (100%) rename android-sdk/vnc/{vncserver_daemon.sh => vncserver-daemon.sh} (100%) rename {images => assets}/SSH.png (100%) rename images/emulator_error_process_not_responding.png => assets/emulator-error-process-not-responding.png (100%) rename {images => assets}/logo.png (100%) rename {images => assets}/vnc.png (100%) rename gradle-server/{gradle_downloader.sh => gradle-downloader.sh} (100%) rename image_publisher.sh => image-publisher.sh (95%) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 426d073..c21bec3 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -15,12 +15,12 @@ jobs: - name: Build the main Docker image (android-sdk) run: docker build -t android-sdk ./android-sdk - name: Display tool version information of the main Docker image (android-sdk) - run: cmd=$(cat ./android-sdk/version_inspector.sh) && docker run -i --rm android-sdk bash -c "$cmd" + run: cmd=$(cat ./android-sdk/version-inspector.sh) && docker run -i --rm android-sdk bash -c "$cmd" - name: Build the sub Docker image (android-sdk-vnc) run: docker build -t android-sdk-vnc ./android-sdk/vnc - name: Display tool version information of the sub Docker image (android-sdk-vnc) - run: cmd=$(cat ./android-sdk/vnc/version_inspector.sh) && docker run -i --rm android-sdk-vnc bash -c "$cmd" + run: cmd=$(cat ./android-sdk/vnc/version-inspector.sh) && docker run -i --rm android-sdk-vnc bash -c "$cmd" - name: Build the sub Docker image (android-sdk-firebase-test-lab) run: docker build -t android-sdk-firebase-test-lab ./android-sdk/firebase-test-lab - name: Display tool version information of the sub Docker image (android-sdk-firebase-test-lab) - run: cmd=$(cat ./android-sdk/firebase-test-lab/version_inspector.sh) && docker run -i --rm android-sdk-firebase-test-lab bash -c "$cmd" + run: cmd=$(cat ./android-sdk/firebase-test-lab/version-inspector.sh) && docker run -i --rm android-sdk-firebase-test-lab bash -c "$cmd" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 50dfdb8..1d503e4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,13 +11,13 @@ Contributions are made by forking this repository, making the changes, and openi The [primary Docker image](./android-sdk/Dockerfile) was created in barebone, for the sake of providing Android environment only. If you have other needs, please build a dedicated Docker image: * Create a specific directory under [android-sdk](./android-sdk) directory and a `Dockerfile` inside it. -* A `version_inspector.sh` file is necessary to print out tools' version information. +* A `version-inspector.sh` file is necessary to print out tools' version information. * Update corresponding CI workflow: [GitHub Action](https://github.com/thyrlian/AndroidSDK/blob/master/.github/workflows/docker-image.yml). -* Add corresponding Docker image building and publishing steps to [`image_publisher.sh`](./image_publisher.sh) script. +* Add corresponding Docker image building and publishing steps to [`image-publisher.sh`](./image-publisher.sh) script. ## Accept New SDK Licenses -Update the script [`android-sdk/license_acceptor.sh`](./android-sdk/license_accepter.sh) with the new agreement checksums. Do not remove pre-existing license agreement acceptances. +Update the script [`android-sdk/license-accepter.sh`](./android-sdk/license-accepter.sh) with the new agreement checksums. Do not remove pre-existing license agreement acceptances. If a new agreement is accepted, a file should be created in the directory [`EULA`](./EULA). If there is an update, ensure the agreements contain a suffix with the timestamp in the format `-YYYYMMDD`. diff --git a/README.md b/README.md index 013161c..1b9d4bf 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Android SDK development environment Docker image [![Docker Badge](https://dockerico.blankenship.io/image/thyrlian/android-sdk)](https://hub.docker.com/r/thyrlian/android-sdk) - + Conference Talk @@ -146,7 +146,7 @@ docker run -it -v $(pwd)/sdk:/opt/android-sdk:ro thyrlian/android-sdk /bin/bash docker run -it -v $(pwd)/sdk:/opt/android-sdk thyrlian/android-sdk /bin/bash # to keep and reuse Gradle cache -docker run -it -v $(pwd)/sdk:/opt/android-sdk -v $(pwd)/gradle_caches:/root/.gradle/caches thyrlian/android-sdk /bin/bash +docker run -it -v $(pwd)/sdk:/opt/android-sdk -v $(pwd)/gradle-caches:/root/.gradle/caches thyrlian/android-sdk /bin/bash # to stop and remove container # when the image was pulled from a registry @@ -159,7 +159,7 @@ docker stop $(docker ps -a | grep 'android-sdk' | awk '{ print $1 }') &> /dev/nu ### Accepting Licenses -A helper script is provided at [`/opt/license_accepter.sh`](https://github.com/thyrlian/AndroidSDK/blob/master/android-sdk/license_accepter.sh) for accepting the SDK and its various licenses. This is helpful in non-interactive environments such as CI builds. +A helper script is provided at [`/opt/license-accepter.sh`](https://github.com/thyrlian/AndroidSDK/blob/master/android-sdk/license-accepter.sh) for accepting the SDK and its various licenses. This is helpful in non-interactive environments such as CI builds. ## SSH @@ -168,9 +168,9 @@ It is also possible if you wanna connect to container via SSH. There are three * Build an image on your own, with a built-in `authorized_keys` ```bash - # Put your `id_rsa.pub` under `android-sdk/accredited_keys` directory (as many as you want) + # Put your `id_rsa.pub` under `android-sdk/accredited-keys` directory (as many as you want) - # Build an image, then an `authorized_keys` file will be composed automatically, based on the keys from `android-sdk/accredited_keys` directory + # Build an image, then an `authorized_keys` file will be composed automatically, based on the keys from `android-sdk/accredited-keys` directory docker build -t android-sdk android-sdk # Run a container @@ -216,7 +216,7 @@ And, in case you need, you can still attach to the running container (not via ss docker exec -it /bin/bash ``` - + ## VNC @@ -249,7 +249,7 @@ emulator -avd test -no-audio -no-boot-anim -accel on -gpu swiftshader_indirect & For more details, please refer to [Emulator section](https://github.com/thyrlian/AndroidSDK#emulator). - + ### VNC client recommendation @@ -306,10 +306,10 @@ Fortunately, you can easily build such a mirror server docker image on your own. docker build --build-arg GRADLE_DOWNLOAD_AMOUNT= -t gradle-server gradle-server ``` -Preferably, you should run the [download script](https://github.com/thyrlian/AndroidSDK/blob/master/gradle-server/gradle_downloader.sh) locally, and mount the download directory to the container. +Preferably, you should run the [download script](https://github.com/thyrlian/AndroidSDK/blob/master/gradle-server/gradle-downloader.sh) locally, and mount the download directory to the container. ```bash - gradle-server/gradle_downloader.sh [DOWNLOAD_DIRECTORY] [DOWNLOAD_AMOUNT] + gradle-server/gradle-downloader.sh [DOWNLOAD_DIRECTORY] [DOWNLOAD_AMOUNT] docker run -d -p 80:80 -p 443:443 -v [DOWNLOAD_DIRECTORY]:/var/www/gradle.org/public_html/distributions gradle-server ``` @@ -521,7 +521,7 @@ Now you can for instance run UI tests on the emulator (just remember, the perfor If you encounter an error "***Process system isn't responding***" in the emulator, like below: - + You could try: @@ -627,9 +627,9 @@ docker pull thyrlian/android-sdk-firebase-test-lab # we'll persist all your gcloud configuration which would be created at ~/.config/gcloud/ # spin up a container with interactive mode -docker run -it -v $(pwd)/sdk:/opt/android-sdk -v /firebase.json:/root/firebase.json -v $(pwd)/gcloud_config:/root/.config/gcloud thyrlian/android-sdk-firebase-test-lab /bin/bash +docker run -it -v $(pwd)/sdk:/opt/android-sdk -v /firebase.json:/root/firebase.json -v $(pwd)/gcloud-config:/root/.config/gcloud thyrlian/android-sdk-firebase-test-lab /bin/bash # or spin up a container with SSH -docker run -d -p 2222:22 -v $(pwd)/sdk:/opt/android-sdk -v /firebase.json:/root/firebase.json -v $(pwd)/gcloud_config:/root/.config/gcloud -v $(pwd)/authorized_keys:/root/.ssh/authorized_keys thyrlian/android-sdk-firebase-test-lab +docker run -d -p 2222:22 -v $(pwd)/sdk:/opt/android-sdk -v /firebase.json:/root/firebase.json -v $(pwd)/gcloud-config:/root/.config/gcloud -v $(pwd)/authorized_keys:/root/.ssh/authorized_keys thyrlian/android-sdk-firebase-test-lab # authorize access to Google Cloud Platform with a service account (by its private key) gcloud auth activate-service-account -q --key-file /root/firebase.json @@ -883,16 +883,16 @@ sudo netstat -tulpn | grep LISTEN * Go to the top-level directory of this project -* Execute [`image_publisher.sh`](https://github.com/thyrlian/AndroidSDK/blob/master/image_publisher.sh) script +* Execute [`image-publisher.sh`](https://github.com/thyrlian/AndroidSDK/blob/master/image-publisher.sh) script ```console - ./image_publisher.sh [TAG] + ./image-publisher.sh [TAG] ``` -* Execute [`version_inspector.sh`](https://github.com/thyrlian/AndroidSDK/blob/master/android-sdk/version_inspector.sh) script inside a docker container from local machine to check versions of tools +* Execute [`version-inspector.sh`](https://github.com/thyrlian/AndroidSDK/blob/master/android-sdk/version-inspector.sh) script inside a docker container from local machine to check versions of tools ```console - cmd=$(cat ./android-sdk/version_inspector.sh) && docker run -it --rm android-sdk bash -c "$cmd" + cmd=$(cat ./android-sdk/version-inspector.sh) && docker run -it --rm android-sdk bash -c "$cmd" ``` * Update [Changelog](https://github.com/thyrlian/AndroidSDK/blob/master/CHANGELOG.md) based on the versions info printed by the above commands diff --git a/android-sdk/Dockerfile b/android-sdk/Dockerfile index 7d69081..0e644b0 100644 --- a/android-sdk/Dockerfile +++ b/android-sdk/Dockerfile @@ -59,8 +59,8 @@ ENV LD_LIBRARY_PATH=${ANDROID_HOME}/emulator/lib64:${ANDROID_HOME}/emulator/lib6 ENV QTWEBENGINE_DISABLE_SANDBOX=1 # accept the license agreements of the SDK components -ADD license_accepter.sh /opt/ -RUN chmod +x /opt/license_accepter.sh && /opt/license_accepter.sh $ANDROID_HOME +ADD license-accepter.sh /opt/ +RUN chmod +x /opt/license-accepter.sh && /opt/license-accepter.sh $ANDROID_HOME # setup adb server EXPOSE 5037 @@ -68,7 +68,7 @@ EXPOSE 5037 # install and configure SSH server EXPOSE 22 ADD sshd-banner /etc/ssh/ -ADD accredited_keys /tmp/ +ADD accredited-keys /tmp/ RUN apt-get update && \ apt-get install -y --no-install-recommends openssh-server supervisor locales && \ mkdir -p /var/run/sshd /var/log/supervisord && \ diff --git a/android-sdk/accredited_keys/.gitignore b/android-sdk/accredited-keys/.gitignore similarity index 100% rename from android-sdk/accredited_keys/.gitignore rename to android-sdk/accredited-keys/.gitignore diff --git a/android-sdk/firebase-test-lab/version_inspector.sh b/android-sdk/firebase-test-lab/version-inspector.sh similarity index 100% rename from android-sdk/firebase-test-lab/version_inspector.sh rename to android-sdk/firebase-test-lab/version-inspector.sh diff --git a/android-sdk/license_accepter.sh b/android-sdk/license-accepter.sh similarity index 100% rename from android-sdk/license_accepter.sh rename to android-sdk/license-accepter.sh diff --git a/android-sdk/version_inspector.sh b/android-sdk/version-inspector.sh similarity index 100% rename from android-sdk/version_inspector.sh rename to android-sdk/version-inspector.sh diff --git a/android-sdk/vnc/Dockerfile b/android-sdk/vnc/Dockerfile index b8d8f8e..2da39e3 100644 --- a/android-sdk/vnc/Dockerfile +++ b/android-sdk/vnc/Dockerfile @@ -14,18 +14,18 @@ LABEL maintainer="thyrlian@gmail.com" ENV USER=root ENV DISPLAY=:1 EXPOSE 5901 -ADD vncpass.sh /tmp/ -ADD vncserver_daemon.sh /usr/local/bin/ +ADD vnc-pass.sh /tmp/ +ADD vncserver-daemon.sh /usr/local/bin/ ADD watchdog.sh /usr/local/bin/ -ADD supervisord_vncserver.conf /etc/supervisor/conf.d/ +ADD supervisord-vncserver.conf /etc/supervisor/conf.d/ RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends xfce4 xfce4-goodies xfonts-base dbus-x11 tightvncserver expect xauth && \ touch /root/.Xauthority && chmod 600 /root/.Xauthority && \ xauth generate :1 . trusted && \ - chmod +x /usr/local/bin/vncserver_daemon.sh && \ - chmod +x /tmp/vncpass.sh; sync && \ - /tmp/vncpass.sh && \ - rm /tmp/vncpass.sh && \ + chmod +x /usr/local/bin/vncserver-daemon.sh && \ + chmod +x /tmp/vnc-pass.sh; sync && \ + /tmp/vnc-pass.sh && \ + rm /tmp/vnc-pass.sh && \ apt-get remove -y expect && apt-get autoremove -y && \ FILE_SSH_ENV="/root/.ssh/environment" && \ echo "DISPLAY=:1" >> $FILE_SSH_ENV diff --git a/android-sdk/vnc/supervisord_vncserver.conf b/android-sdk/vnc/supervisord-vncserver.conf similarity index 91% rename from android-sdk/vnc/supervisord_vncserver.conf rename to android-sdk/vnc/supervisord-vncserver.conf index 4e98022..e631e8d 100644 --- a/android-sdk/vnc/supervisord_vncserver.conf +++ b/android-sdk/vnc/supervisord-vncserver.conf @@ -4,7 +4,7 @@ pidfile=/var/run/supervisord.pid user=root [program:vncserver] -command = /usr/local/bin/vncserver_daemon.sh +command = /usr/local/bin/vncserver-daemon.sh user=root autostart=true autorestart=true diff --git a/android-sdk/vnc/version_inspector.sh b/android-sdk/vnc/version-inspector.sh similarity index 100% rename from android-sdk/vnc/version_inspector.sh rename to android-sdk/vnc/version-inspector.sh diff --git a/android-sdk/vnc/vncpass.sh b/android-sdk/vnc/vnc-pass.sh similarity index 100% rename from android-sdk/vnc/vncpass.sh rename to android-sdk/vnc/vnc-pass.sh diff --git a/android-sdk/vnc/vncserver_daemon.sh b/android-sdk/vnc/vncserver-daemon.sh similarity index 100% rename from android-sdk/vnc/vncserver_daemon.sh rename to android-sdk/vnc/vncserver-daemon.sh diff --git a/images/SSH.png b/assets/SSH.png similarity index 100% rename from images/SSH.png rename to assets/SSH.png diff --git a/images/emulator_error_process_not_responding.png b/assets/emulator-error-process-not-responding.png similarity index 100% rename from images/emulator_error_process_not_responding.png rename to assets/emulator-error-process-not-responding.png diff --git a/images/logo.png b/assets/logo.png similarity index 100% rename from images/logo.png rename to assets/logo.png diff --git a/images/vnc.png b/assets/vnc.png similarity index 100% rename from images/vnc.png rename to assets/vnc.png diff --git a/gradle-server/Dockerfile b/gradle-server/Dockerfile index a9ee4da..dcc97d8 100644 --- a/gradle-server/Dockerfile +++ b/gradle-server/Dockerfile @@ -17,7 +17,7 @@ RUN apt-get update && \ # install and configure the Apache Web Server ARG GRADLE_DOWNLOAD_AMOUNT=14 ENV GRADLE_DIST /var/www/gradle.org/public_html/distributions -ADD gradle_downloader.sh $GRADLE_DIST/ +ADD gradle-downloader.sh $GRADLE_DIST/ RUN apt-get install -y apache2 && \ sed -i 's%\(^\s*DocumentRoot\s*\).*%\1/var/www/gradle.org/public_html%g' /etc/apache2/sites-available/000-default.conf && \ echo "\n\n Options Indexes FollowSymLinks\n\n" >> /etc/apache2/apache2.conf && \ @@ -28,7 +28,7 @@ RUN apt-get install -y apache2 && \ sed -i 's%\(^\s*SSLCertificateFile\s*\).*%\1/etc/apache2/ssl/apache.crt%g' /etc/apache2/sites-available/default-ssl.conf && \ sed -i 's%\(^\s*SSLCertificateKeyFile\s*\).*%\1/etc/apache2/ssl/apache.key%g' /etc/apache2/sites-available/default-ssl.conf && \ a2ensite default-ssl.conf && \ - chmod +x $GRADLE_DIST/gradle_downloader.sh && \ - $GRADLE_DIST/gradle_downloader.sh $GRADLE_DIST $GRADLE_DOWNLOAD_AMOUNT + chmod +x $GRADLE_DIST/gradle-downloader.sh && \ + $GRADLE_DIST/gradle-downloader.sh $GRADLE_DIST $GRADLE_DOWNLOAD_AMOUNT EXPOSE 80 443 CMD ["/usr/sbin/apachectl", "-D", "FOREGROUND"] diff --git a/gradle-server/gradle_downloader.sh b/gradle-server/gradle-downloader.sh similarity index 100% rename from gradle-server/gradle_downloader.sh rename to gradle-server/gradle-downloader.sh diff --git a/image_publisher.sh b/image-publisher.sh similarity index 95% rename from image_publisher.sh rename to image-publisher.sh index 3bbd3fe..facbaff 100755 --- a/image_publisher.sh +++ b/image-publisher.sh @@ -18,8 +18,8 @@ SUB_IMAGE_VNC_DIR=vnc SUB_IMAGE_FIREBASE_TEST_LAB_NAME=android-sdk-firebase-test-lab SUB_IMAGE_FIREBASE_TEST_LAB_DIR=firebase-test-lab TAG_LATEST=latest -KEYS_DIR=accredited_keys -TEMP_DIR=temp_accredited_keys +KEYS_DIR=accredited-keys +TEMP_DIR=temp-accredited-keys # extract base image name and tag from Dockerfile regex_name_and_tag='FROM[[:blank:]]([^:]*):([^:]*)' @@ -36,7 +36,7 @@ cd $MAIN_IMAGE_DIR echo "Pulling the latest base image..." docker pull $BASE_IMAGE_NAME:$BASE_IMAGE_TAG -echo "Hiding files inside accredited_keys directory..." +echo "Hiding files inside accredited-keys directory..." rm -r $TEMP_DIR 2> /dev/null mkdir -p $TEMP_DIR if [ ! -z "$(ls $KEYS_DIR)" ]; then @@ -100,7 +100,7 @@ echo "Pushing the sub Firebase Test Lab image to Docker Hub..." docker push $DOCKER_HUB_ACCOUNT/$SUB_IMAGE_FIREBASE_TEST_LAB_NAME:$TAG docker push $DOCKER_HUB_ACCOUNT/$SUB_IMAGE_FIREBASE_TEST_LAB_NAME:$TAG_LATEST -echo "Unhiding files inside accredited_keys directory..." +echo "Unhiding files inside accredited-keys directory..." if [ ! -z "$(ls $TEMP_DIR)" ]; then mv -v $TEMP_DIR/* $KEYS_DIR fi