From 5935331c3197a4522229b091858494d0236338e7 Mon Sep 17 00:00:00 2001 From: James Maes Date: Tue, 16 Sep 2025 16:44:50 -0500 Subject: [PATCH] chore: Updated to meet requirements for maven central and qqq-orb --- .circleci/config.yml | 95 ++++++++++++++++----------------- .circleci/mvn-settings.xml | 9 ---- CHANGELOG.md | 58 ++++++++++++++++++++ CODE_OF_CONDUCT.md | 4 ++ CODE_STYLE.md | 3 ++ CONTRIBUTING.md | 4 ++ README.md | 100 ++++++++++++++++++++++++++++++++++- SECURITY.md | 3 ++ pom.xml | 105 ++++++++++++++----------------------- 9 files changed, 258 insertions(+), 123 deletions(-) delete mode 100644 .circleci/mvn-settings.xml create mode 100644 CHANGELOG.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CODE_STYLE.md create mode 100644 CONTRIBUTING.md create mode 100644 SECURITY.md diff --git a/.circleci/config.yml b/.circleci/config.yml index 41973ad..ed1e21c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,56 +1,57 @@ version: 2.1 -executors: - java-executor: - docker: - - image: cimg/openjdk:17.0 - -jobs: - verify: - executor: java-executor - steps: - - checkout - - restore_cache: - keys: - - v1-maven-cache-{{ checksum "pom.xml" }} - - run: - name: Verify with Maven - command: mvn -s .circleci/mvn-settings.xml verify - - store_test_results: - path: target/surefire-reports - - save_cache: - paths: - - ~/.m2/repository - key: v1-maven-cache-{{ checksum "pom.xml" }} - - deploy: - executor: java-executor - steps: - - checkout - - restore_cache: - keys: - - v1-maven-cache-{{ checksum "pom.xml" }} - - run: - name: Deploy with Maven - command: mvn -s .circleci/mvn-settings.xml deploy - - store_test_results: - path: target/surefire-reports - - save_cache: - paths: - - ~/.m2/repository - key: v1-maven-cache-{{ checksum "pom.xml" }} +orbs: + qqq-orb: kingsrook/qqq-orb@0.3.5 workflows: - version: 2 - build_and_deploy: + + test_only: jobs: - - verify: - context: qqq-maven-registry-credentials + - qqq-orb/mvn_test_only: + context: [ qqq-maven-registry-credentials ] filters: branches: - ignore: main - - deploy: - context: qqq-maven-registry-credentials + ignore: /(develop|main|release/.*|hotfix/.*|integration.*)/ + tags: + only: [] + + publish_snapshot: + jobs: + - qqq-orb/mvn_publish: + context: [ qqq-maven-registry-credentials ] + branch_type: snapshot filters: branches: - only: main + only: + - develop + + publish_release_candidate: + jobs: + - qqq-orb/mvn_publish: + context: [ qqq-maven-registry-credentials ] + branch_type: release_candidate + filters: + branches: + only: + - /release\/.*/ + + publish_release: + jobs: + - qqq-orb/mvn_publish: + context: [ qqq-maven-registry-credentials ] + branch_type: release + filters: + branches: + only: [ main ] + tags: + only: [ /v.*/ ] + + publish_hotfix_release: + jobs: + - qqq-orb/mvn_publish: + context: [ qqq-maven-registry-credentials ] + branch_type: hotfix + filters: + branches: + only: + - /hotfix\/.*/ diff --git a/.circleci/mvn-settings.xml b/.circleci/mvn-settings.xml deleted file mode 100644 index b2a345f..0000000 --- a/.circleci/mvn-settings.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - github-qqq-maven-registry - ${env.QQQ_MAVEN_REGISTRY_USERNAME} - ${env.QQQ_MAVEN_REGISTRY_PASSWORD} - - - diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..2fe902f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,58 @@ +# Changelog + +All notable changes to QBit User Role Permissions will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +### Added +- Comprehensive README documentation following QQQ sub repo standards +- Standard GitHub files (LICENSE, CHANGELOG, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT) +- Proper project structure and documentation + +### Changed +- Updated README to follow QQQ framework standards +- Improved project documentation and structure +- Enhanced GitHub repository setup + +## [0.30.0-SNAPSHOT] - 2024-01-XX + +### Added +- Initial QBit implementation for user role permissions +- Database schema for users, roles, and permissions +- Java classes for User, Role, Permission, UserRole, and RolePermission +- Integration with QQQ Backend Core framework +- H2 database support for testing +- JUnit 5 test framework integration +- AssertJ assertions for testing +- Checkstyle configuration for code quality + +### Changed +- Initial public release of QBit User Role Permissions +- Established QBit development standards +- Created modular architecture for permission management + +--- + +## 📚 For Detailed Information + +**📖 [Complete Documentation Wiki](https://github.com/Kingsrook/qqq/wiki)** - Start here for comprehensive guides +- **[🏠 Home](https://github.com/Kingsrook/qqq/wiki/Home)** - Project overview and quick start +- **[🚀 Release Flow](https://github.com/Kingsrook/qqq/wiki/Release-Flow)** - Detailed release process +- **[🏷️ Changelog & Tagging](https://github.com/Kingsrook/qqq/wiki/Changelog-and-Tagging)** - Commit conventions and release notes +- **[🔧 Developer Onboarding](https://github.com/Kingsrook/qqq/wiki/Developer-Onboarding)** - Setup and contribution guide + +## 🔄 Version Compatibility + +QBit User Role Permissions follows semantic versioning: +- **MAJOR** versions may contain breaking changes +- **MINOR** versions add new functionality (backward compatible) +- **PATCH** versions contain bug fixes (backward compatible) + +For detailed compatibility information, see [QQQ Compatibility Matrix](https://github.com/Kingsrook/qqq/wiki/Compatibility-Matrix). + +--- + +**Thank you for using QBit User Role Permissions!** 🚀 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..c079e2b --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,4 @@ +# Code of Conduct + + +See Project level [Code of Conduct](https://github.com/Kingsrook/qqq/blob/develop/CODE_OF_CONDUCT.md) diff --git a/CODE_STYLE.md b/CODE_STYLE.md new file mode 100644 index 0000000..a1cf983 --- /dev/null +++ b/CODE_STYLE.md @@ -0,0 +1,3 @@ +# Code Style Guide + +* See Project [Code Style Guide](https://github.com/Kingsrook/qqq/blob/develop/CODE_STYLE.md) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..470372b --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,4 @@ +# Contributing to QBit User Role Permissions + +* See Project [Contributing](https://github.com/Kingsrook/qqq/blob/develop/CONTRIBUTING.md) + diff --git a/README.md b/README.md index adeb9ac..9460c98 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ -# QBit: SFTP Data Integration +# QBit: SFTP Data Integration + +[![Version](https://img.shields.io/badge/version-0.1.0-blue.svg)](https://github.com/Kingsrook/qbit-sftp-data-integration) +[![License](https://img.shields.io/badge/license-GNU%20Affero%20GPL%20v3-green.svg)](https://www.gnu.org/licenses/agpl-3.0.en.html) +[![Java](https://img.shields.io/badge/java-17+-blue.svg)](https://adoptium.net/) ## Overview *Note: This is one of the original QBit implementations - so, some of the mechanics of how @@ -28,6 +32,14 @@ The architecture of such an integration looks like: as the destination for files to be imported. * A process that renders saved reports, writing their contents to the destination SFTP backend. +## Prerequisites + +- **Java 17+** (required for QQQ features) +- **Maven 3.8+** (for build system) +- **QQQ Framework** (qqq-backend-module-filesystem >= 0.24.0 for SFTP support) +- **Active Quartz Scheduler** in your QQQ instance for running scheduled cron jobs +- **Scheduled Jobs table** in your QQQ instance + ## Usage ### Pom dependency @@ -134,3 +146,89 @@ public class ImportFileBulkLoadQBitMetaDataLoader extends MetaDataProducer 4.0.0 + + com.kingsrook + qbit-build-parent + 1.1.0 + + com.kingsrook.qbits qbit-sftp-data-integration - 0.1.2 + ${revision} + jar + + QBit: SFTP Data Integration + SFTP-based data integration QBit for the QQQ framework, providing file import/export capabilities using SFTP servers + https://github.com/Kingsrook/qbit-sftp-data-integration + + + + GNU Affero General Public License v3.0 + https://www.gnu.org/licenses/agpl-3.0.html + repo + + + + + + kingsrook + Kingsrook Team + contact@kingsrook.com + Kingsrook, LLC + https://kingsrook.com + + + + + scm:git:git://github.com/Kingsrook/qbit-sftp-data-integration.git + scm:git:ssh://github.com:Kingsrook/qbit-sftp-data-integration.git + https://github.com/Kingsrook/qbit-sftp-data-integration + HEAD + - UTF-8 - UTF-8 - 17 - 17 + 0.2.0-SNAPSHOT - + - - com.kingsrook.qqq - qqq-bom-pom - 0.24.0-integration-sprint-61-20250226-223322 - pom - import - org.junit junit-bom @@ -75,57 +101,4 @@ - - - - org.apache.maven.plugins - maven-checkstyle-plugin - 3.1.2 - - - com.puppycrawl.tools - checkstyle - 10.16.0 - - - - - validate - validate - - checkstyle/config.xml - checkstyle/license.txt - UTF-8 - true - false - true - warning - **/target/generated-sources/*.* - true - - - check - - - - - - - - - - github-qqq-maven-registry - GitHub QQQ Maven Registry - https://maven.pkg.github.com/Kingsrook/qqq-maven-registry - - - - - - github-qqq-maven-registry - GitHub QQQ Maven Registry - https://maven.pkg.github.com/Kingsrook/qqq-maven-registry - - - -- 2.54.0