{"id":41941272,"url":"https://github.com/vividus-framework/vividus-build-system","last_synced_at":"2026-01-25T18:38:21.092Z","repository":{"id":35538115,"uuid":"201805236","full_name":"vividus-framework/vividus-build-system","owner":"vividus-framework","description":"Build system of VIVIDUS","archived":false,"fork":false,"pushed_at":"2026-01-05T15:18:24.000Z","size":1412,"stargazers_count":35,"open_issues_count":3,"forks_count":22,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-01-18T22:33:00.973Z","etag":null,"topics":["build-system","gradle","hacktoberfest","vividus"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vividus-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-11T19:17:17.000Z","updated_at":"2026-01-05T15:18:28.000Z","dependencies_parsed_at":"2024-01-22T14:33:45.920Z","dependency_job_id":"5b1cb80b-7be9-4fe2-a92c-34322c3b4e12","html_url":"https://github.com/vividus-framework/vividus-build-system","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vividus-framework/vividus-build-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vividus-framework%2Fvividus-build-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vividus-framework%2Fvividus-build-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vividus-framework%2Fvividus-build-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vividus-framework%2Fvividus-build-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vividus-framework","download_url":"https://codeload.github.com/vividus-framework/vividus-build-system/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vividus-framework%2Fvividus-build-system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28756442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T16:32:25.380Z","status":"ssl_error","status_checked_at":"2026-01-25T16:32:09.189Z","response_time":113,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build-system","gradle","hacktoberfest","vividus"],"created_at":"2026-01-25T18:38:21.037Z","updated_at":"2026-01-25T18:38:21.086Z","avatar_url":"https://github.com/vividus-framework.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VIVIDUS Build System\nVIVIDUS Build System is a set of [Gradle](https://gradle.org/) scripts and configuration files that are used across different VIVIDUS-based projects and allow to avoid copy-pasting of boilerplate scripts.\n\n## Usage\n### Option 1: Internal (Recommened)\nThe build system can be added as [Git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules) to the root of the project with tests. In this case no extra configuration is needed.\n\n#### Update from the VIVIDUS Build System Remote\nTo update the internal build system run the following command from the test project root:\n```sh\ngit submodule update --remote vividus-build-system\n```\nThen the changes can be staged, committed and pushed to a remote repository, for example:\n\n```sh\ngit add vividus-build-system\ngit commit -m \"Update VIVIDUS build system to the latest version\"\ngit push [\u003crepository\u003e [\u003crefspec\u003e…]]\n```\n\n#### Pull the updated version of the VIVIDUS Build System\nIn case if someone followed the above instructions: updated the internal build system and pushed the changes, the other team members may see the following status after test project pulling:\n\n\u003cpre\u003e\n\u003cb\u003e(main) » git pull\u003c/b\u003e\nUpdating bb45687..825283f\nFast-forward\n README.md            | 81 +++------------------------------------------------------------------------------\n build.gradle         |  2 +-\n vividus-build-system |  2 +-\n 3 files changed, 5 insertions(+), 80 deletions(-)\n\n\u003cb\u003e(main*) » git status\u003c/b\u003e\nOn branch main\nYour branch is up to date with 'origin/main'.\n\nChanges not staged for commit:\n  (use \"git add \u003cfile\u003e...\" to update what will be committed)\n  (use \"git restore \u003cfile\u003e...\" to discard changes in working directory)\n        \u003cb\u003emodified:   vividus-build-system (new commits)\u003c/b\u003e\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\n\u003c/pre\u003e\n\nBy default, the `git pull` command recursively fetches submodules changes, as we can see in the output of the first command above. However, it does not update the submodules. This is shown by the output of the `git status` command, which shows the submodule is “modified”, and has “new commits”. To finalize the update, you need to run `git submodule update`:\n\n\u003cpre\u003e\n\u003cb\u003e(main*) » git submodule update\u003c/b\u003e\nSubmodule path 'vividus-build-system': checked out '1914c3ec0d14cb771d01245e5b0d66cd58d4e5a8'\n\n\u003cb\u003e(main) » git status\u003c/b\u003e\nOn branch main\nYour branch is up to date with 'origin/main'.\n\nnothing to commit, working tree clean\n\u003c/pre\u003e\n\nMore details of how to automate this process can be found in the official [Git guide](https://git-scm.com/book/en/v2/Git-Tools-Submodules#_pulling_upstream_changes_from_the_project_remote).\n\n### Option 2: External\nThe build system can be cloned as a regular Git repository to any location. After that new environment variable `VIVIDUS_BUILD_SYSTEM_HOME` should be created with an absoulute path of just cloned repository root.\n\n### Conflicts Resolution\n:information_source: When both internal and external build systems are available, the external one will be used.\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ch2\u003eMigrating from \u003ccode\u003e1.0\u003c/code\u003e to \u003ccode\u003e2.0\u003c/code\u003e\u003c/h2\u003e\u003c/summary\u003e\n\n  Build System 1.0 is not maintained anymore and is going to be retired. All users are recommended to migrate to Build System 2.0.\n\n  ### How to switch to Build System 2.0\n  1. Sync Build System:\n      - [Internal](#option-1-internal-recommened): follow the [guide above](#update-from-the-vividus-build-system-remote).\n      - [External](#option-2-external): just pull the latest updates with Git client of your choice.\n  1. Open `gradle.properties` located in the root directory of the project with tests.\n  1. Update the property to point `2.0`:\n      ```properties\n      buildSystemVersion=2.0\n      ```\n  1. Build the project.\n\n  ### List of breaking changes\n  This is the list of breaking changes between major versions `1.0` and `2.0`. It should help to successfully migrate\n  existing automated tests and infrastructre for them to use Build System 2.0.\n\n  1. Java 17+ is required: make sure to update all environments (local, CI, etc.) where tests are developed and run to use\n  [Java 17](https://adoptium.net/temurin/releases/?version=17) or higher.\u003cbr/\u003eAlso it's needed to check the IDE used to develop tests supports Java 17 or higher.\n  1. [VIVIDUS Artifactory](https://vividuscentral.jfrog.io/artifactory/releases) is removed from the list of repositories\n  where dependencies are downloaded from.\n\n      Most likely this change won't affect any users, because VIVIDUS Artifactory was used as a backup storage of VIVIDUS\n      releases up to `0.4.5` version. The primary storage is GitHub Packages.\n\n  1. Correcness of the file with known issues configuration (`known-issues.json`) is checked at test project build phase.\n  1. There is no longer a requirement to define the extra property `ext.buildSystemDir`. The mentioned property can be\n  safely removed from the `build.gradle` file located in the test project root directory.\n\n  \u003cdetails\u003e\n    \u003csummary\u003eThe following list conatins breaking changes that may affect people who develop own VIVIDUS plugins and modules.\u003c/summary\u003e\n\n    1. [SonarQube Gradle plugin](https://plugins.gradle.org/plugin/org.sonarqube) is not added by default anymore.\n\n        SonarQube is a tool which is used to track code quality, it doesn't have VIVIDUS support (yet :)), so there is no\n        reason to apply it to all projects. If you use SonarQube for your modules, you should manage such integrations on\n        your side. You can find example of simple migration [here](https://github.com/vividus-framework/vividus/commit/b216a5801ac181bfa59794e87ebfa909fe191da3).\n    1. [VIVIDUS Artifactory](https://vividuscentral.jfrog.io/artifactory/releases) is removed from the list of repositories\n    where dependencies are downloaded from.\n\n        If you use VIVIDUS Artifactory as a caching proxy to download dependencies, then you should configure repositories\n        storing the required dependencies on your side.\n\n    1. `**/*.min.js` files are removed from exclusions of static code check ensuring that `https://` is used for everything.\n\n        Fine-tuned exclusions for custom files should be done at the project level.\n  \u003c/details\u003e\n\u003c/details\u003e\n\n## Migrating from `2.0` to `3.0`\n\nBuild System 2.0 is not maintained anymore and is going to be retired. All users are recommended to migrate to Build System 3.0.\n\n### How to switch to Build System 3.0\n1. Sync Build System:\n    - [Internal](#option-1-internal-recommened): follow the [guide above](#update-from-the-vividus-build-system-remote).\n    - [External](#option-2-external): just pull the latest updates with Git client of your choice.\n1. Open `gradle.properties` located in the root directory of the project with tests.\n1. Update the property to point `3.0`:\n    ```properties\n    buildSystemVersion=3.0\n    ```\n1. Build the project.\n\n### List of breaking changes\n\nThis is the list of breaking changes between major versions `2.0` and `3.0`. It should help to successfully migrate\nexisting automated tests and infrastructre for them to use Build System 3.0.\n\n1. Java 21+ is required: make sure to update all environments (local, CI, etc.) where tests are developed and run to use\n[Java 21](https://adoptium.net/temurin/releases/?version=21) or higher.\n1. The ability to specify custom prefix for the version of the built artifact is removed. Previously it was possible to\nset custom prefix using project property `versionPrefix`, but this feature was not customizable and was not popular.\n1. The task `validateKnownIssues` is not included in the project build phase anymore. The correcness of the file with\nknown issues configuration (`known-issues.json`) is checked in scope of the task `testVividusInitialization`.\n1. The support of Artifactory is dropped (`artifactoryPublish` task is not available out of the box anymore). Now the projects\nusing Artifactory should apply the corresponding plugin and prepare publishing scripts on their own.\n1. Workaround for Kafka client is removed: it is strongly recommended to upgrada to VIVIDUS `0.6.15` or higher before migration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvividus-framework%2Fvividus-build-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvividus-framework%2Fvividus-build-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvividus-framework%2Fvividus-build-system/lists"}