Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

88 wiersze
2.1KB

  1. #!/bin/bash
  2. is_reposilite_up ()
  3. {
  4. nc repo 80 > /dev/null
  5. return $?
  6. }
  7. wait_for_reposilite ()
  8. {
  9. i=0
  10. until is_reposilite_up; do
  11. i=$((i+1))
  12. if [ $i -gt 30 ]; then
  13. return $i
  14. fi
  15. sleep 1
  16. done
  17. return $i
  18. }
  19. # Main scipt
  20. echo "Check that reposilite is running"
  21. wait_for_reposilite
  22. if [[ ! -f /package-list.yaml ]]; then
  23. echo "No /package-list.yaml file. Aborting"
  24. exit 255
  25. fi
  26. export PROJECTS_DIR=/gradle-projects
  27. mkdir -p "${PROJECTS_DIR}"
  28. export GRADLE_DOWNLOAD_DIR=/gradle-download
  29. mkdir -p "${GRADLE_DOWNLOAD_DIR}"
  30. export GRADLE_VERSIONS_DIR=/gradle-versions
  31. mkdir -p "${GRADLE_VERSIONS_DIR}"
  32. echo "Resolving packages and generating gradle config"
  33. python3 --version
  34. if ! python3 src/main.py --repo="repo:80" --output-dir "$PROJECTS_DIR" /package-list.yaml; then
  35. echo "Gradle generation failed"
  36. exit 255
  37. fi
  38. if [ $? -lt 30 ]; then
  39. for path in "$PROJECTS_DIR"/*; do
  40. version=$(basename "${path}")
  41. gradle_path=${GRADLE_VERSIONS_DIR}/gradle-${version}
  42. if [[ "${version}" == "default" ]]; then
  43. gradle_path=${GRADLE_HOME}
  44. elif [[ ! -d "${gradle_path}" ]]; then
  45. filename="gradle-${version}-bin.zip"
  46. zippath="${GRADLE_DOWNLOAD_DIR}/${filename}"
  47. if [[ ! -f "${zippath}" ]]; then
  48. echo "Downloading gradle ${version}"
  49. wget "https://services.gradle.org/distributions/${filename}" -O "${GRADLE_DOWNLOAD_DIR}/${filename}"
  50. if [[ ! -f "${zippath}" ]]; then
  51. echo "ERROR: Could not fetch gradle ${version}"
  52. continue
  53. fi
  54. fi
  55. unzip -q "${zippath}" -d "${GRADLE_VERSIONS_DIR}"
  56. fi
  57. for project in "${path}"/*; do
  58. echo "-----------------------Config for $project-------------------------------"
  59. echo "Running $project"
  60. cat "$project/build.gradle.kts"
  61. echo "-----------------------Running gradle------------------------------------"
  62. (cd "$project" && "${gradle_path}/bin/gradle" --info -Dorg.gradle.jvmargs=-Xms4096m downloadDependencies)
  63. done
  64. done
  65. else
  66. echo "Can't connect to repository"
  67. exit 255
  68. fi