devonfw / cobigen

Code-based Incremental Generator
Apache License 2.0
35 stars 70 forks source link
accelerator asset-cobigen cobigen devonfw generator

:toc: right

= CobiGen (Code-based incremental Generator)

image:https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/cobigen-maven-plugin/badge.svg[https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/cobigen-maven-plugin] image:https://github.com/devonfw/cobigen/actions/workflows/maven-build-test.yml/badge.svg?branch=master&event=push["Build Status", link="https://github.com/devonfw/cobigen/actions/workflows/maven-build-test.yml?query=branch%3Amaster"]

== Usage

== Installation

== Architecture

https://github.com/devonfw/cobigen/wiki#architecture[CobiGen is build as an extensible framework for incremental code generation...]

== Repository Organization

The CobiGen repository is organized in a one-branch-per-plugin schema. By that, we can release each plug-in continously and independently without side effects. On release the plug-in branch is merged to master branch such that you will find all the latest releases of each plug-in on the master branch.

|=== | Top-level folder | Description

| cobigen-cli | Contains the cobigen command line interface implementation.

| cobigen-eclipse | Contains the cobigen eclipse integration. The implementation of the plug-in is driven in cobigen-eclipse/cobigen-eclipse folder.

| cobigen-maven | Contains the maven integration implementation.

| cobigen-templates | Contains template sets for different architectures

| cobigen | Containts the code implementation of CobiGen

| cobigen-plugins | core plug-in implementations |===

== Build

./build.sh -h (on windows use git bash)

== Deploy

CobiGen deployment will be done by CI/CD only. No manual deployment.

== Debugging with Maven

To debug Maven builds on any plug-in:

. Step into the plug-in and start a console there. . Run mvnDebug clean install, it will output the port the debugger is listening to. . On Eclipse, right click your project -> Debug as -> Debug Configurations... . Add a new Remote Java Application that connects on a socket on the port that was outputted by Maven. . Hit debug and have fun!

To debug Maven tests follow https://doc.nuxeo.com/corg/how-to-debug-a-test-run-with-maven/[this link]

== Contribute

https://github.com/devonfw/cobigen/blob/master/.github/CONTRIBUTING.md[See the contribution guidelines]

License

The source code and maven bundles are released under https://github.com/devonfw/cobigen/blob/master/LICENSE.txt[APL 2.0]

Eclipse bundles are released with respect to https://github.com/devonfw/cobigen/blob/master/LICENSE-BUNDLE.txt[it's bundled OSS software licenses]