Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
dbabf0d
base setup
Schmarvinius Oct 27, 2025
7e7063d
sample plugin implementation
Schmarvinius Oct 29, 2025
acc5a02
added sample incident app
Schmarvinius Oct 29, 2025
334b079
added emoji plugin to sample
Schmarvinius Nov 2, 2025
368cdbf
finished sample and added sample implementation for calesi best pract…
Schmarvinius Nov 4, 2025
73392ae
groupid change and project structure cleanup
Schmarvinius Nov 4, 2025
2f9d785
add github actions and workflows
Schmarvinius Nov 4, 2025
0973a9f
adapt test workflow
Schmarvinius Nov 4, 2025
40dee3c
minor changes
Schmarvinius Nov 4, 2025
e0b7f2c
Removed extra test result
Schmarvinius Nov 4, 2025
90a5261
add linting
Schmarvinius Nov 4, 2025
745b749
add eslint for linting
Schmarvinius Nov 4, 2025
d628a99
fix
Schmarvinius Nov 4, 2025
28485e7
works on my machine 🙂‍↕️
Schmarvinius Nov 4, 2025
be6d4b7
trying cds linting
Schmarvinius Nov 4, 2025
aeb325d
fix
Schmarvinius Nov 4, 2025
9632042
realized this cant be done by eslint but by sonarlint
Schmarvinius Nov 4, 2025
152d2e4
Add Java 17 support
Schmarvinius Nov 4, 2025
3744355
remove dedundancy
Schmarvinius Nov 4, 2025
c05dfa0
add smaple to dependabot
Schmarvinius Nov 4, 2025
f5a1da2
removed codeowners until our team is created
Schmarvinius Nov 4, 2025
4af58ce
Moved Sample and added integration tests
Schmarvinius Nov 6, 2025
c42fda1
Update test.yml to new structure
Schmarvinius Nov 6, 2025
42bbe81
add foundation
Schmarvinius Nov 6, 2025
f09b211
Migrated form incident-app to bookshop
Schmarvinius Nov 10, 2025
4da5ca9
version bump and javadoc
Schmarvinius Nov 10, 2025
87a3472
update workflows and readme
Schmarvinius Nov 10, 2025
f432a2d
renaming
Schmarvinius Nov 10, 2025
4df4dcc
Fix tests and remove redundant license file
Schmarvinius Nov 10, 2025
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
Binary file added .DS_Store
Binary file not shown.
8 changes: 8 additions & 0 deletions .cdsprettier.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"maxDocCommentLine": 80,
"formatDocComments": true,
"tabSize": 2,
"alignPostAnnotations": false,
"alignColonsInAnnotations": false,
"alignValuesInAnnotations": false
}
2 changes: 2 additions & 0 deletions .cdsrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{
}
24 changes: 24 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Bug report
about: Create a report to help us improve
title: "[Version: ] "
labels: bug
assignees: ""
---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

**Expected behavior**
A clear and concise description of what you expected to happen.

[ ] is it a regression issue?

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Customer Info**
Company: xyz.
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Feature request
about: Suggest an idea for this project
title: ""
labels: enhancement
assignees: ""
---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.

**Have you already checked existing issues before creating a feature request?**
If you find same feature requests reported, upvote the issue (+1)

**Customer Info**
Company: xyz
44 changes: 44 additions & 0 deletions .github/actions/build/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: 'Build Plugin and Sample'
description: 'Builds emoji plugin, installs it, builds incident app, validates integration tests syntax'
inputs:
java-version:
description: 'Java version to use'
required: false
default: '21'
node-version:
description: 'Node.js version to use'
required: false
default: '22'

runs:
using: 'composite'
steps:
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ inputs.java-version }}
cache: maven

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node-version }}
cache: 'npm'

- name: Build and Install Emoji Plugin
shell: bash
run: |
mvn clean install -DskipTests=true -B -V

- name: Build Incident App (with test compilation)
shell: bash
working-directory: tests/incident-app
run: |
mvn clean compile test-compile -B -V

- name: Validate Integration Tests Syntax
shell: bash
working-directory: tests/integration-tests
run: |
mvn compile test-compile -DskipTests=true -B -V
38 changes: 38 additions & 0 deletions .github/actions/test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: 'Test Plugin and Sample'
description: 'Tests emoji plugin, bookshop, and integration tests'
inputs:
java-version:
description: 'Java version to use'
required: false
default: '21'
node-version:
description: 'Node.js version to use'
required: false
default: '22'

runs:
using: 'composite'
steps:
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ inputs.java-version }}
cache: maven

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node-version }}
cache: 'npm'

- name: Build, Install and Test Emoji Plugin
shell: bash
run: |
mvn clean install -B -V

- name: Test Bookshop App (Integration Tests)
shell: bash
working-directory: samples/bookshop
run: |
mvn test -B -V
26 changes: 26 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
version: 2
updates:
- package-ecosystem: maven
directories:
- "/"
- "/tests/bookshop"
schedule:
interval: daily
open-pull-requests-limit: 10
ignore:
- dependency-name: com.sap.cds:*
versions:
- ">=4"

- package-ecosystem: npm
directories:
- "/"
- "/tests/bookshop"
schedule:
interval: daily
open-pull-requests-limit: 10

- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
14 changes: 14 additions & 0 deletions .github/workflows/check-changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Check Changelog
on:
pull_request:
types: [assigned, opened, synchronize, reopened, labeled, unlabeled]
branches:
- main
jobs:
Check-Changelog:
name: Check Changelog Action
runs-on: ubuntu-latest
steps:
- uses: tarides/changelog-check-action@v3
with:
changelog: CHANGELOG.md
30 changes: 30 additions & 0 deletions .github/workflows/issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Label issues

permissions:
issues: write

on:
issues:
types:
- opened

jobs:
label_issues:
runs-on: ubuntu-latest
steps:
- run: gh issue edit "$NUMBER" --add-label "$LABELS"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.issue.number }}
LABELS: New

- uses: actions/github-script@v8
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `👋 Hello @${{github.event.issue.user.login}}, thank you for submitting this issue. Our team is reviewing your report and will follow up with you as soon as possible.`
})
19 changes: 19 additions & 0 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Linting

on: [pull_request]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

- name: Run Checkstyle
# This command will automatically fail the build if style issues are found
# because of the <failsOnError>true</failsOnError> config in the pom.xml
run: mvn checkstyle:check
24 changes: 24 additions & 0 deletions .github/workflows/prevent-issue-labeling.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Prevent "New" Label on Issues

permissions:
issues: write

on:
issues:
types: [labeled]

jobs:
remove_new_label:
runs-on: ubuntu-latest
steps:
- name: Remove "New" label if applied by non-bot user
if: >
contains(github.event.issue.labels.*.name, 'New') &&
github.event.label.name == 'New' &&
github.event.sender.login != 'github-actions[bot]'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
run: |
gh issue edit "$ISSUE_NUMBER" --remove-label "New"
Empty file added .github/workflows/releases.yml
Empty file.
26 changes: 26 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Test CAP Projects

on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
workflow_dispatch:

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [17, 21]
name: Test (Java ${{ matrix.java-version }})

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Test CAP Projects
uses: ./.github/actions/test
with:
java-version: ${{ matrix.java-version }}
node-version: '22'
31 changes: 31 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
**/gen/
**/edmx/
*.db
*.sqlite
*.sqlite-wal
*.sqlite-shm
schema*.sql
default-env.json

**/bin/
**/target/
.flattened-pom.xml
.classpath
.project
.settings

**/node/
**/node_modules/

**/.mta/
*.mtar

*.log*
gc_history*
hs_err*
*.tgz
*.iml

.vscode
.idea
.reloadtrigger
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Change Log

- All notable changes to this project are documented in this file.
- The format is based on [Keep a Changelog](https://keepachangelog.com/).
- This project adheres to [Semantic Versioning](https://semver.org/).

## Version 1.0.0 - TBD

### Added

### Changed

### Fixed

### Removed
14 changes: 7 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ Instances of abusive, harassing, or otherwise unacceptable behavior may be repor

We use GitHub to manage reviews of pull requests.

* If you are a new contributor, see: [Steps to Contribute](#steps-to-contribute)
- If you are a new contributor, see: [Steps to Contribute](#steps-to-contribute)

* Before implementing your change, create an issue that describes the problem you would like to solve or the code that should be enhanced. Please note that you are willing to work on that issue.
- Before implementing your change, create an issue that describes the problem you would like to solve or the code that should be enhanced. Please note that you are willing to work on that issue.

* The team will review the issue and decide whether it should be implemented as a pull request. In that case, they will assign the issue to you. If the team decides against picking up the issue, the team will post a comment with an explanation.
- The team will review the issue and decide whether it should be implemented as a pull request. In that case, they will assign the issue to you. If the team decides against picking up the issue, the team will post a comment with an explanation.

## Steps to Contribute

Expand All @@ -28,11 +28,11 @@ You are welcome to contribute code in order to fix a bug or to implement a new f

The following rule governs code contributions:

* Contributions must be licensed under the [Apache 2.0 License](./LICENSE)
* Due to legal reasons, contributors will be asked to accept a Developer Certificate of Origin (DCO) when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses [the standard DCO text of the Linux Foundation](https://developercertificate.org/).
- Contributions must be licensed under the [Apache 2.0 License](./LICENSE)
- Due to legal reasons, contributors will be asked to accept a Developer Certificate of Origin (DCO) when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses [the standard DCO text of the Linux Foundation](https://developercertificate.org/).

## Issues and Planning

* We use GitHub issues to track bugs and enhancement requests.
- We use GitHub issues to track bugs and enhancement requests.

* Please provide as much context as possible when you open an issue. The information you provide must be comprehensive enough to reproduce that issue for the assignee.
- Please provide as much context as possible when you open an issue. The information you provide must be comprehensive enough to reproduce that issue for the assignee.
Loading