Skip to content

[Documentation] Clarify stub modules vs implemented modules #319

@sfloess

Description

@sfloess

Problem

Many modules are marked as "⚠️ STUB" in README but this isn't reflected in the module POMs or build.

Affected Modules

According to README.md, these are stubs:

  • jplatform-cluster-etcd
  • jplatform-cluster-redis
  • jplatform-cluster-zookeeper
  • jplatform-registry-etcd
  • jplatform-registry-eureka
  • jplatform-storage-s3
  • jplatform-storage-database
  • jplatform-storage-redis
  • jplatform-config-consul
  • jplatform-config-etcd
  • jplatform-config-vault
  • jplatform-rest-api-netty

Impact

  • Severity: LOW-MEDIUM
  • Category: Documentation/User Experience
  • Users may try to use non-functional modules
  • Wastes development time debugging "broken" features
  • Unclear project roadmap

Required Actions

1. Document in Module POM

Add to each stub module's pom.xml:

<description>
    [STUB] Future implementation for XYZ integration.
    This module is a placeholder and NOT YET IMPLEMENTED.
    See GitHub issues for roadmap.
</description>

2. Add Marker Class

package org.flossware.jplatform.cluster.etcd;

/**
 * STUB MODULE - NOT YET IMPLEMENTED
 * 
 * This module is a placeholder for future etcd cluster integration.
 * See issue #XXX for implementation tracking.
 */
@Deprecated(since = "1.1", forRemoval = false)
public class EtcdStateStore implements ClusterStateStore {
    public EtcdStateStore() {
        throw new UnsupportedOperationException(
            "etcd integration is not yet implemented. See GitHub issues."
        );
    }
}

3. Maven Profile to Exclude Stubs

<profile>
    <id>exclude-stubs</id>
    <activation><activeByDefault>true</activeByDefault></activation>
    <modules>
        <!-- Only include implemented modules -->
    </modules>
</profile>

4. README Badge

Add status badge next to each module:

- jplatform-cluster-etcd ![Status](https://img.shields.io/badge/status-stub-yellow)
- jplatform-cluster-consul ![Status](https://img.shields.io/badge/status-implemented-green)

Alternative: Remove Stub Modules

If no implementation planned soon:

  1. Remove stub modules from main branch
  2. Create issues for future implementation
  3. Only add modules when actually implementing

Pros: Cleaner codebase, less confusion
Cons: Loses "roadmap in code" visibility

Priority

P2 - Medium - Should be clarified before v1.2 release.

Related

  • README.md (lists stubs)
  • ENHANCEMENTS_STATUS.md (may have more details)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions