Skip to content

Conversation

@craig8
Copy link
Contributor

@craig8 craig8 commented Dec 19, 2025

This pull request introduces major improvements to build and release automation for GOSS, modernizes project documentation, and removes legacy configuration files. The most significant changes are the addition of a comprehensive Makefile for build/version management, an extensive update to the README.md with clear instructions and project structure, and the removal of obsolete Karaf/ActiveMQ configuration files.

Build and Release Automation:

  • Added a new Makefile providing targets for version management, release workflows, API change detection, code formatting, and publishing artifacts to a local repository. This replaces previous shell scripts and streamlines developer operations.

Documentation and Project Structure:

  • Overhauled README.md to include modern build status, detailed semantic versioning guidelines, API change detection instructions, release workflow steps, project structure, technology stack, related repositories, and contribution guidelines. [1] [2] [3]

Removal of Legacy Configuration:

  • Deleted obsolete Karaf/ActiveMQ configuration files: build/config/features.xml, build/config/LDAPLogin.xml, and build/config/pnnl-goss-activemq-broker-nosecurity.xml, reflecting the migration away from older deployment methods. [1] [2] [3]

- Updated SecurityManagerRealmHandler to log activation and manage realm registration more effectively.
- Improved GossLDAPRealm with enhanced configuration handling, LDAP server connectivity checks, and detailed logging.
- Refactored PropertyBasedRealm to include activation logging and improved property handling.
- Modified GridOpticsServer to ensure proper configuration handling and added support for optional WebSocket transport.
- Introduced scripts for managing GOSS artifact versions and pushing them to the repository, including version extraction and validation.
- Added a Python script for pushing built JARs to the GOSS-Repository with detailed logging and dry-run capabilities.
- Created a version management script to show, release, and snapshot versions of GOSS bundles.
…, security-propertyfile, and testutil

- Added maven-metadata.xml files for new version 11.0.0 in pnnl.goss.core.runner, security-ldap, security-propertyfile, and testutil.
- Introduced new JAR files for version 11.0.0 for pnnl.goss.core.runner, security-ldap, and security-propertyfile.
- Removed outdated JAR files for versions 2.0.5, 2.0.6, 3.0.0 in pnnl.goss.core.runner and 1.0.5, 1.0.6, 2.0.0 in security-ldap.
- Updated bundle versions in bnd files across various modules to 11.0.0.
- Added a new script `check-api.py` for detecting API changes and suggesting version bumps.
- Enhanced `version.py` script with commands for bumping versions (major, minor, patch) and managing snapshots.
- Added GossCli class for command-line interface to subscribe and publish messages.
- Implemented support for both QUEUE and TOPIC destination types in the GOSS client.
- Updated Client interface to include methods for handling different destination types.
- Enhanced GossClient to manage subscriptions and publications based on destination type.
- Modified build.gradle to include new CLI task for creating the goss-cli executable.
- Removed outdated maven-metadata.xml files for various modules.
- Updated security manager configuration to improve authorization caching.
- Added unit tests for DESTINATION_TYPE enum to ensure correct behavior and stability.
- Updated push-to-local-goss-repository.py script for better user feedback on JAR updates.
- Updated classpath entries in .classpath to reflect new output directories and added additional source paths for annotation processing.
- Added new dependencies in bnd.bnd for httpcore to ensure compatibility with existing components.
- Updated goss-core-security.bnd to require the FileInstall bundle for proper configuration management.
- Refactored GossLDAPRealm to extend DefaultLdapRealm instead of JndiLdapRealm, improving LDAP integration and functionality.
…cessary dependencies

- Updated output paths for source entries from 'build/classes/java/test' to 'bin/test' and 'build/classes/java/main' to 'bin/main'.
- Removed multiple redundant classpath entries for libraries and annotation processors.
- Added gradle_scope and gradle_used_by_scope attributes to main source entry.
- Retained necessary JRE and Gradle classpath container entries.
- Added index.xml.sha for release repository.
- Introduced new JAR files for the following components:
  - pnnl.goss.core.core-api
  - pnnl.goss.core.goss-client
  - pnnl.goss.core.goss-core-commands
  - pnnl.goss.core.goss-core-exceptions
  - pnnl.goss.core.goss-core-security
  - pnnl.goss.core.goss-core-server-api
  - pnnl.goss.core.goss-core-server-registry
  - pnnl.goss.core.goss-core-server-web
  - pnnl.goss.core.goss-core-server
  - pnnl.goss.core.itests
  - pnnl.goss.core.runner
  - pnnl.goss.core.security-ldap
  - pnnl.goss.core.security-propertyfile
  - pnnl.goss.core.testutil
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants