{"id":22389897,"url":"https://github.com/entando/entando-core-bom","last_synced_at":"2025-04-13T04:36:06.923Z","repository":{"id":37439072,"uuid":"285516270","full_name":"entando/entando-core-bom","owner":"entando","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-20T15:56:13.000Z","size":557,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":7,"default_branch":"develop","last_synced_at":"2025-03-26T21:34:00.856Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/entando.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-06T08:27:32.000Z","updated_at":"2022-01-07T11:25:56.000Z","dependencies_parsed_at":"2025-02-01T03:26:57.049Z","dependency_job_id":"2adfd795-1cd6-403d-9c82-9bd9bf605812","html_url":"https://github.com/entando/entando-core-bom","commit_stats":null,"previous_names":[],"tags_count":644,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entando%2Fentando-core-bom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entando%2Fentando-core-bom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entando%2Fentando-core-bom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/entando%2Fentando-core-bom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/entando","download_url":"https://codeload.github.com/entando/entando-core-bom/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665324,"owners_count":21142119,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-12-05T03:13:34.521Z","updated_at":"2025-04-13T04:36:06.902Z","avatar_url":"https://github.com/entando.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# entando-core-bom\nThis project is an application of the [Maven Bill Of Materials pattern](https://dzone.com/articles/the-bill-of-materials-in-maven)\nThe goal of this project is to list all of the Maven library projects that could potentially be used in Entando App\nMaven projects such as [entando-de-app](https://github.com/entando-k8s/entando-de-app). In addition, this project\ncan also be used in other internal Maven projects to manage upstream dependencies such as entando-engine and admin-console.\n\nThe pom.xml file of this project gets updated automatically from the individual pipelines. It will therefore always contain\nthe latest version of each library that has successfully completed all the quality gates in the pipeline.\n\n# How do I use this project?\nStep 1. In the dependencyManagement section of your Maven POM, insert the latest version of this dependency, but with \"import\"\nscope and \"pom\" type:\n```\n    \u003cdependencyManagement\u003e\n        \u003cdependencies\u003e\n            \u003cdependency\u003e\n                \u003cgroupId\u003eorg.entando\u003c/groupId\u003e\n                \u003cartifactId\u003eentando-core-bom\u003c/artifactId\u003e\n                \u003cversion\u003e6.2.3\u003c/version\u003e\n                \u003cscope\u003eimport\u003c/scope\u003e\n                \u003ctype\u003epom\u003c/type\u003e\n            \u003c/dependency\u003e\n        \u003c/dependencies\u003e\n    \u003c/dependencyManagement\u003e\n```\nStep 2. In the dependencies section of your Maven POM, reference your required dependency to an internal library \nwithout specifying the version.\n```\n    \u003cdependencies\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.entando.entando\u003c/groupId\u003e\n            \u003cartifactId\u003eentando-admin-console\u003c/artifactId\u003e\n            \u003cclassifier\u003eclasses\u003c/classifier\u003e\n        \u003c/dependency\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.entando.entando\u003c/groupId\u003e\n            \u003cartifactId\u003eentando-engine\u003c/artifactId\u003e\n            \u003ctype\u003etest-jar\u003c/type\u003e\n            \u003cscope\u003etest\u003c/scope\u003e\n        \u003c/dependency\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.entando.entando\u003c/groupId\u003e\n            \u003cartifactId\u003eentando-admin-console\u003c/artifactId\u003e\n            \u003ctype\u003etest-jar\u003c/type\u003e\n            \u003cscope\u003etest\u003c/scope\u003e\n        \u003c/dependency\u003e\n```\nNotes: \n* there is no need to import entando-engine as it comes in as a transitive dependency of `entando-admin-console:classes`\n* irrespective of the version of entando-engine imported transitvely by `entando-admin-console:classes`, the version \n     specified in the BOM project will override it because it controls it from the dependencyManagement section \n* test dependencies are not brought in transitively. Import them explicitly in your dependencies section if you need \n     the test dependencies\n\n# I want to make changes to an upstream project and test those changes from my current project. How do I override the dependencies from my project pom to use the locally built version of the upstream project?\nStep 1: verify that the version of your upstream project pom is a SNAPSHOT, e.g.: `\u003cversion\u003e6.2.0-SNAPSHOT\u003c/version\u003e`. This is the default, so ideally no changes required here\nStep 2: in the dependencyManagment section of your current project, AFTER the element importing this BOM, add an explicit reference\nto the local SNAPSHOT version of your upstream project. In this example we bring in the entando-admin-console:classes dependency:\n```\n    \u003cdependencyManagement\u003e\n        \u003cdependencies\u003e\n            \u003cdependency\u003e\n                \u003cgroupId\u003eorg.entando\u003c/groupId\u003e\n                \u003cartifactId\u003eentando-core-bom\u003c/artifactId\u003e\n                \u003cversion\u003e6.2.3\u003c/version\u003e\n                \u003cscope\u003eimport\u003c/scope\u003e\n                \u003ctype\u003epom\u003c/type\u003e\n            \u003c/dependency\u003e\n            \u003cdependency\u003e\n                \u003cgroupId\u003eorg.entando\u003c/groupId\u003e\n                \u003cartifactId\u003eentando-admin-console\u003c/artifactId\u003e\n                \u003cversion\u003e6.2.0-SNAPSHOT\u003c/version\u003e\n                \u003cclassifier\u003eclasses\u003c/classifier\u003e\n            \u003c/dependency\u003e\n        \u003c/dependencies\u003e\n    \u003c/dependencyManagement\u003e\n```\nStep 3: install the upstream project from the command line using the local-dev profile: \n`mvn clean install -Plocal-dev`\nThis profile includes all the other build artifacts (war, test-jar, classes-jar) but excludes tests and signatures\n\nStep 4. Refresh the dependencies in your IDE","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fentando%2Fentando-core-bom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fentando%2Fentando-core-bom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fentando%2Fentando-core-bom/lists"}