{"id":24524342,"url":"https://github.com/devonfw/maven-parent","last_synced_at":"2026-01-02T10:45:34.687Z","repository":{"id":55059528,"uuid":"221703463","full_name":"devonfw/maven-parent","owner":"devonfw","description":"Parent POM used for maven projects in devonfw","archived":false,"fork":false,"pushed_at":"2024-09-26T18:25:58.000Z","size":76,"stargazers_count":0,"open_issues_count":2,"forks_count":4,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-01-22T04:19:51.355Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devonfw.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-11-14T13:25:21.000Z","updated_at":"2024-08-30T08:22:42.000Z","dependencies_parsed_at":"2024-08-29T11:26:23.568Z","dependency_job_id":"e3537cab-de54-4c65-9c69-605d7a91be4f","html_url":"https://github.com/devonfw/maven-parent","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devonfw%2Fmaven-parent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devonfw%2Fmaven-parent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devonfw%2Fmaven-parent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devonfw%2Fmaven-parent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devonfw","download_url":"https://codeload.github.com/devonfw/maven-parent/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243738969,"owners_count":20340003,"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":"2025-01-22T04:19:29.679Z","updated_at":"2026-01-02T10:45:34.645Z","avatar_url":"https://github.com/devonfw.png","language":null,"readme":"= maven-parent\n\nimage:https://img.shields.io/github/license/devonfw/maven-parent.svg?label=License[\"Apache License, Version 2.0\",link=https://github.com/devonfw/maven-parent/blob/develop/LICENSE]\nimage:https://img.shields.io/maven-central/v/com.devonfw/maven-parent.svg?label=Maven%20Central[\"Maven Central\",link=https://search.maven.org/search?q=g:com.devonfw]\n\nThis repository contains the parent `pom.xml` for maven projects in http://devonfw.com[devonfw].\nIt configures a lot of cross-cutting aspects in this central place to avoid redundancies between `pom.xml` files:\n\n* `pluginManagement` - defines versions and configuration defaults for maven plugins\n* `plugins` - defines the standard plugins and their configurations for the default build lifecycle for devonfw\n* `profiles` - defines optional features or dynamic aspects:\n** `deploy` - activates generation of `*-javadoc.jar` files as well as PGP signatures to deploy releases. Activated via `mvn -P deploy`. This is the default profile used by https://github.com/devonfw/ide/blob/master/documentation/Home.asciidoc#devon-ide[devonfw-ide] on `devon release`. \n** `eclipse` - detect if maven runs within `m2e` inside Eclipse and use `eclipse-target` instead of `target` so that builds from Eclipse are decoupled from console builds. Otherwise `mvn clean` would break Eclipse, etc. This profile is triggered automatically in Eclipse.\n** `security` - run `org.owasp:dependency-check-maven:check` during the build in order to find known security vulnerabilities (CVE). Activated via `mvn -P security`. Is not active by default as it breaks the build even if a download failes due to temporary availability issues. Also CVEs are sometimes false positives. We strongly encourage to run this check nightly but do not recommend to use it as build-breaker in your CI.\n** `licenses` - run `org.codehaus.mojo:license-maven-plugin` goals `aggregate-download-licenses` and `aggregate-add-third-party` during the build to analyse and check licenses of third-party dependencies.\n* `url` - configured for your github repository\n* `licensing` - set to ASL 2.0 and point to individual `LICENSE` file in your repository root\n* `issueManagement` - configured for github\n* `scm` - configured for github\n* `organization` - configured for devonfw and github\n* `distributionManagement` - configure repositories and site:\n** `release-repository` - set to `${maven.release.repository}` defaulting to OSSRH\n** `snapshot-repository` - set to `${maven.snapshot.repository}` defaulting to OSSRH\n** `maven-site` - stage site to project's toplevel `build.directory` (`target/maven-site`). From there you can do QA and transfer it to wherever you prefer.\n* `reporting` - plugins and configurations for maven site generation.\n* `encoding` - strictly use unicode (`UTF-8`)\n\n== Usage\n\nIn your repository the top-level `pom.xml` should look like this:\n```\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cproject xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\"\u003e\n  \u003cmodelVersion\u003e4.0.0\u003c/modelVersion\u003e\n  \u003cparent\u003e\n    \u003cgroupId\u003ecom.devonfw\u003c/groupId\u003e\n    \u003cartifactId\u003emaven-parent\u003c/artifactId\u003e\n    \u003cversion\u003e1\u003c/version\u003e\n  \u003c/parent\u003e\n  \u003cgroupId\u003ecom.devonfw.«suffix»\u003c/groupId\u003e\n  \u003cartifactId\u003e«artifact-id»\u003c/artifactId\u003e\n  \u003cversion\u003e2020.12.1-SNAPSHOT\u003c/version\u003e\n  \u003cname\u003e${project.artifactId}\u003c/name\u003e\n  \u003cdescription\u003e«description»\u003c/description\u003e\n  ...\n  \n  \u003cproperties\u003e\n    \u003cgithub.repository\u003e«repository»\u003c/github.repository\u003e\n    \u003c!-- optional if defaults do not apply: --\u003e\n    \u003c!--\n    \u003cgithub.organization\u003edevonfw-forge\u003c/github.organization\u003e\n    \u003cjava.version\u003e11\u003c/java.version\u003e\n    --\u003e\n  \u003c/properties\u003e\n  \n  ...\n\u003c/project\u003e\n```\n\n== Deployment\n\nFor deployment of releases you need the following prerequesites:\n\n* Permitted account for https://oss.sonatype.org/\n* https://gnupg.org/download/[GnuPG installed]\n* A PGP keypair generated with pgp\n* Your PGP public-key published to keyservers and registered to OSSRH for `com.devonfw`\n* Have https://github.com/devonfw/ide/blob/master/documentation/Home.asciidoc#devonfw-ide[devonfw-ide] installed.\n\nThen you can configure your setup as following:\n\n. `cd projects/devonfw` (tweak path according to your setup)\n. `devon mvn --encrypt-password`\n. enter your password for https://oss.sonatype.org/\n. Copy the encrypted password (`{...}`)\n. `vi conf/.m2/settings.xml` (use the editor of your choice)\n. Enter the following sections to your `settings.xml` and save it:\n```xml\n  \u003cservers\u003e\n    \u003cserver\u003e\n      \u003cid\u003erepository\u003c/id\u003e\n      \u003cusername\u003e«LOGIN»\u003c/username\u003e\n      \u003cpassword\u003e«ENCRYPTED-PASSWORD»\u003c/password\u003e\n    \u003c/server\u003e\n  \u003c/servers\u003e\n\n  \u003c!-- Only required if you have multiple PGP keys --\u003e\n  \u003cprofiles\u003e\n    \u003cprofile\u003e\n      \u003cid\u003edevonfw\u003c/id\u003e\n      \u003cactivation\u003e\n        \u003cactiveByDefault\u003etrue\u003c/activeByDefault\u003e\n      \u003c/activation\u003e\n      \u003cproperties\u003e\n        \u003cgpg.keyname\u003e«PGP-KEY-ID»\u003c/gpg.keyname\u003e\n      \u003c/properties\u003e\n    \u003c/profile\u003e\n  \u003c/profiles\u003e\n```\n\nOf course you are smart enough to replace the variables with the proper values.\n\nFrom now on, when you want to create a release all you need to do is:\n```\ndevon release\n```\nHowever, ensure to call this on a clean clone of the official repository after you have pulled the latest changes and all features for the release are included and properly tested. As a best practice keep your cloned forks in `main` workspace while you clone the official repos in `stable` workspace and build releases from there.\n\nSources:\n\n* https://central.sonatype.org/pages/ossrh-guide.html[OSSRH-Guide]\n* https://central.sonatype.org/pages/apache-maven.html[OSSRH-Maven]\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevonfw%2Fmaven-parent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevonfw%2Fmaven-parent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevonfw%2Fmaven-parent/lists"}