# dc3-parent **Repository Path**: pnoker/dc3-parent ## Basic Information - **Project Name**: dc3-parent - **Description**: IoT DC3 平台 父级 Bom 源码,搭配 IoT DC3 服务使用。 - **Primary Language**: Shell - **License**: AGPL-3.0 - **Default Branch**: main - **Homepage**: https://doc.dc3.site - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 86 - **Created**: 2023-04-23 - **Last Updated**: 2026-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IoT DC3 Parent Maven BOM `dc3-parent` is the Maven parent/BOM project for IoT DC3. It centralizes dependency versions, plugin management, and release/deploy conventions for downstream components, while keeping IoT DC3 AI-ready for intelligent device connectivity, automation, and data-driven operations. ## What This Repository Provides - Unified version catalog in `pom.xml` (``, ``) - Shared build plugin behavior in `pom.xml` (``) - Release automation via `dc3/bin/tag.sh` + GitHub Actions publish workflow - Compatibility baseline for downstream projects (Java, Maven, plugin, and dependency alignment) ## Key Files - `pom.xml`: source of truth for dependency and plugin versions - `dc3/bin/tag.sh`: bumps project version, creates/pushes release tag - `.github/workflows/maven-publish.yml`: deploys and creates GitHub Release on `dc3.release.*` tags - `.github/maven-settings.xml`: CI publishing server id and credential mapping ## Common Commands ```bash mvn -B -ntp clean verify mvn -B -ntp verify -P dep-tree mvn -B -ntp verify -P version mvn --settings .github/maven-settings.xml -B -ntp clean deploy -P deploy -DskipTests bash dc3/bin/tag.sh ``` ## Release Flow 1. Run `bash dc3/bin/tag.sh` on `develop`, `release`, or `main`. 2. Script updates `pom.xml` version, commits with `release: `, and pushes tag. 3. Tag matching `dc3.release.*` triggers `.github/workflows/maven-publish.yml`. 4. CI imports GPG key, deploys with `-P deploy`, then creates a GitHub Release. ## Contribution Notes - Use contribution templates and prefixes in `CONTRIBUTING.md` (for example: `docs:`, `fix:`). - Keep dependency/plugin versions in `pom.xml` properties; avoid scattered hardcoded versions. - Treat this repo as a shared contract for downstream modules; prefer minimal and targeted changes.