Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/cd-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: 8
distribution: 'corretto'
Expand All @@ -27,7 +27,7 @@ jobs:
gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}

- name: Cache Maven packages
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.m2
key: ${{ runner.os }}-deploy-${{ hashFiles('**/pom.xml') }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/cd-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ jobs:
target-branch: ${{ steps.environment.outputs.target-branch }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: 17
distribution: "corretto"
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/ci-gates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up JDK 17
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: 17
distribution: "corretto"
cache: "maven"

- name: Cache Maven packages
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: |
~/.sonar/cache
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/ci-maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,24 @@ jobs:
java-version: [8, 11, 17, 21]
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java-version }}
distribution: "corretto"
cache: "maven"

- name: Cache Maven packages
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.m2
key: ${{ runner.os }}-build-${{ hashFiles('**/pom.xml') }}-${{ matrix.java-version }}
restore-keys: ${{ runner.os }}-build-${{ hashFiles('**/pom.xml') }}-${{ matrix.java-version }}

- name: Compile with Maven
run: mvn -T 2C clean generate-sources compile --file pom.xml
run: mvn clean generate-sources compile --file pom.xml

test:
runs-on: ubuntu-latest
Expand All @@ -37,21 +37,21 @@ jobs:
java-version: [8, 11, 17, 21]
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Set up JDK
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java-version }}
distribution: "corretto"
cache: "maven"

- name: Cache Maven packages
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.m2
key: ${{ runner.os }}-test-${{ hashFiles('**/pom.xml') }}-${{ matrix.java-version }}
restore-keys: ${{ runner.os }}-test-${{ hashFiles('**/pom.xml') }}-${{ matrix.java-version }}

- name: Test with Maven
run: mvn -T 2C test-compile test --file pom.xml
run: mvn test-compile test --file pom.xml
4 changes: 2 additions & 2 deletions .github/workflows/ci-pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Create branch
run: |
Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create Pull Request (${{ inputs.type }})
uses: peter-evans/create-pull-request@v7
uses: peter-evans/create-pull-request@v8
with:
title: Auto-created pull request into `${{ inputs.target-branch }}` from `${{ github.ref_name }}`
token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
17 changes: 17 additions & 0 deletions .github/workflows/quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: SonarQube

on:
push:
branches:
- master
- release/**
pull_request:
types:
- opened
- synchronize
- reopened

jobs:
gates:
uses: ./.github/workflows/ci-gates.yml
secrets: inherit
173 changes: 173 additions & 0 deletions .opencode/skills/java-docs/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
---
name: java-docs
description: 'Ensure that Java types are documented with Javadoc comments and follow best practices for documentation.'
---

# Javadoc Skill

## 🎯 **Skill Overview**
This skill enables the creation and maintenance of comprehensive Javadoc documentation for Java codebases, ensuring professional code documentation standards.

## 📋 **Skill Details**

### 🔧 **Core Competencies**
- **Javadoc Generation**: Create comprehensive documentation using Javadoc comments
- **Code Documentation**: Document classes, methods, and interfaces with proper tags
- **Standard Compliance**: Follow Javadoc conventions and best practices
- **Tool Integration**: Generate documentation using javadoc tool and IDE integration

### 📝 **Technical Requirements**

#### **Basic Javadoc Structure**
```java
/**
* Class description
*/
public class MyClass {
/**
* Method description
* @param parameter Description of parameter
* @return Description of return value
* @throws Exception Description of exception
*/
public void myMethod(String parameter) throws Exception {
// implementation
}
}
```

#### **Required Javadoc Tags**
- `@param` - Parameter descriptions
- `@return` - Return value description
- `@throws` - Exception descriptions
- `@see` - Related documentation
- `@deprecated` - Deprecation notice

### 🎯 **Performance Indicators**

#### **Mastery Levels**
- **Beginner**: Basic Javadoc comments for public methods
- **Intermediate**: Complete class and method documentation with all required tags
- **Advanced**: Professional documentation with cross-references and examples

#### **Quality Metrics**
- 100% of public classes documented
- 100% of public methods documented
- Proper use of all required Javadoc tags
- Consistent documentation style
- No missing or incomplete documentation

### 🛠️ **Implementation Process**

#### **Step 1: Class Documentation**
```java
/**
* User management service
*/
public class UserService {
// class implementation
}
```

#### **Step 2: Method Documentation**
```java
/**
* Creates a new user account
* @param username the user's username
* @param email the user's email address
* @return the created user object
* @throws IllegalArgumentException when username or email is null
* @throws UserCreationException when user creation fails
*/
public User createUser(String username, String email)
throws IllegalArgumentException, UserCreationException {
// implementation
}
```

### 📊 **Skill Validation**

#### **Checklist**
- [ ] All public classes have Javadoc
- [ ] All public methods have Javadoc
- [ ] Required tags are present
- [ ] Documentation is clear and concise
- [ ] Examples are provided when needed
- [ ] Cross-references are included appropriately

#### **Quality Standards**
- Documentation must be written in English
- Use proper grammar and spelling
- Maintain consistent formatting
- Include relevant examples
- Update documentation with code changes

### 📈 **Skill Progression**

#### **Level 1: Basic Documentation**
- Document public classes
- Add basic method documentation
- Use essential tags

#### **Level 2: Complete Documentation**
- Document all public API
- Include parameter and return descriptions
- Add exception documentation

#### **Level 3: Professional Documentation**
- Advanced cross-references
- Code examples
- Comprehensive coverage
- Integration with documentation tools

### 🎯 **Best Practices**

#### **Documentation Standards**
1. **Clarity**: Write clear, concise descriptions
2. **Consistency**: Maintain uniform style throughout
3. **Completeness**: Include all required information
4. **Accuracy**: Keep documentation updated with code changes
5. **Readability**: Use proper formatting and structure

#### **Tools Integration**
- IDE auto-completion support
- Documentation generation tools
- Continuous integration integration
- Version control integration

### 📚 **Resources**

#### **Reference Materials**
- Oracle Javadoc Documentation
- Java Language Specification
- Code style guidelines
- Project documentation standards

#### **Training Resources**
- Javadoc tutorial examples
- Documentation style guides
- Code review checklists
- Best practice workshops

### 🎯 **Expected Outcomes**
- Professional quality code documentation
- Maintainable and readable documentation
- Consistent documentation standards
- Improved code understanding and maintenance
- Better collaboration among development teams

## 🎯 **Skill Assessment**

### **Evaluation Criteria**
- Documentation completeness
- Tag usage accuracy
- Code clarity and quality
- Tool integration effectiveness
- Consistency across codebase

### **Success Metrics**
- 95%+ documentation coverage
- Zero missing required tags
- Positive code review feedback
- Successful tool integration
- Team adoption rate