Skip to content

Initial version - #5

Merged
Mahmuttumkaya merged 21 commits into
mainfrom
initial-version
Sep 3, 2026
Merged

Initial version#5
Mahmuttumkaya merged 21 commits into
mainfrom
initial-version

Conversation

@gerritdrost

Copy link
Copy Markdown
Contributor

Merge instructions

This PR is a merger of work by @Mahmuttumkaya, @wei-qiang and me. A merge without squash has our preference as it retains authorship of the code, which has our preference.

From now on we aim to provide concise PR's which can then be squash merged.

Changes in this PR

Java project that implements a wrapper to the PGM C library. Currently implemented:

  • a Gradle build pipeline that downloads PGM binaries and headers and uses JExtract to generate a wrapper
  • Java code to:
    • automatically load the included PGM binaries for supported platforms,
    • OR check if (a manually loaded) PGM binary is available, and optionally if version matches the ones of the headers used to generate the Java wrapper (for all unsupported platforms that do support C and Java)
  • automatic application of code style and license headers in Java files
  • basic CI pipeline that builds the project, performs code style checks and runs unit tests
  • A Java translation of the PGM example (power_grid_model_c_example/main.c)

Future improvements

A non-exhaustive list of things we should improve in the future:

  • clean up the build setup (move the custom tasks into a buildSrc-dir, which would clean up the mess in build.gradle)
  • automatic application of license headers in non-Java files
  • write/improve documentation

gerritdrost and others added 14 commits August 4, 2026 15:24
Signed-off-by: Gerrit Drost <gerrit.drost@alliander.com>
Signed-off-by: Mahmut Tumkaya <mahmut.tumkaya@alliander.com>
Signed-off-by: Gerrit Drost <gerrit.drost@alliander.com>
Signed-off-by: Mahmut Tumkaya <mahmut.tumkaya@alliander.com>
Signed-off-by: Gerrit Drost <gerrit.drost@alliander.com>
Signed-off-by: Wei-Qiang Zhou <wei-qiang.zhou@alliander.com>
Signed-off-by: Gerrit Drost <gerrit.drost@alliander.com>
- uses DSA code style (through eclipse code style file)
- adds licence header to all Java files

Signed-off-by: Wei-Qiang Zhou <wei-qiang.zhou@alliander.com>
- Add license header to gradle files
- Remove license header from gradle-wrapper.properties

Signed-off-by: Wei-Qiang Zhou <wei-qiang.zhou@alliander.com>
- Add github workflow
- Move fileTree call out of doLast
- Add license header
- Remove author and description in actions

Signed-off-by: Wei-Qiang Zhou <wei-qiang.zhou@alliander.com>
Signed-off-by: Gerrit Drost <gerrit.drost@alliander.com>
Signed-off-by: Gerrit Drost <gerrit.drost@alliander.com>
…n message

Signed-off-by: Gerrit Drost <gerrit.drost@alliander.com>
Signed-off-by: Gerrit Drost <gerrit.drost@alliander.com>
@TonyXiang8787 TonyXiang8787 added the feature New feature or request label Aug 6, 2026
Comment thread .github/actions/setup-runtime/action.yml Outdated
Comment thread config/pmd/ruleset.xml Outdated
Comment thread build.gradle
Signed-off-by: Djamel van der Sluis <djamel.van.der.sluis@alliander.com>
Signed-off-by: Wei-Qiang Zhou <wei-qiang.zhou@alliander.com>
Signed-off-by: Wei-Qiang Zhou <wei-qiang.zhou@alliander.com>
Comment thread .github/workflows/java-gradle-ci.yml Outdated
Comment thread .github/workflows/java-gradle-ci.yml Outdated
Comment thread .github/workflows/java-gradle-ci.yml Outdated
Add a reusable-workflow job in java gradle ci to execute reuse-compliance as part of the main CI pipeline

Signed-off-by: Mahmut Tumkaya <mahmut.tumkaya@alliander.com>
@nitbharambe

Copy link
Copy Markdown
Member

Great PR! This would concludes DGC's review on things apart from java things.
Feel free to remove the checklist from README when done.

Maybe already addressed and answered:
Regarding licenses automatically applying: a .license file can be added for the expected files instead which serves as fallback for the inital header comments on file. If the file name itself is changing, then maybe it can be handled via CI.

Signed-off-by: Wei-Qiang Zhou <wei-qiang.zhou@alliander.com>
Signed-off-by: Mahmut Tumkaya <mahmut.tumkaya@alliander.com>
Signed-off-by: Mahmut Tumkaya <mahmut.tumkaya@alliander.com>
@Mahmuttumkaya
Mahmuttumkaya merged commit 6dca551 into main Sep 3, 2026
4 checks passed
@Mahmuttumkaya
Mahmuttumkaya deleted the initial-version branch September 3, 2026 11:18
@Mahmuttumkaya
Mahmuttumkaya restored the initial-version branch September 3, 2026 11:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants