Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/devonfw/cobigen

Code-based Incremental Generator
https://github.com/devonfw/cobigen

accelerator asset-cobigen cobigen devonfw generator

Last synced: about 19 hours ago
JSON representation

Code-based Incremental Generator

Awesome Lists containing this project

README

        

: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

* https://github.com/devonfw/cobigen/wiki/cobigen-eclipse_usage[Usage of the eclipse UI]
* https://github.com/devonfw/cobigen/wiki/cobigen-openapiplugin#usage[OpenAPI Generation]
* https://github.com/devonfw/cobigen/wiki/howto_ionic-client-generation[Ionic/Cordova Client Generation]
* https://github.com/devonfw/cobigen/wiki/howto_angular-client-generation[Angular Client Generation]
* https://github.com/devonfw/cobigen/wiki/cobigen-maven_configuration[Usage in Maven Builds]
* https://github.com/devonfw/cobigen/wiki/cobigen-core_configuration[Configuration of the Templates]

== Installation

* https://github.com/devonfw/cobigen/wiki/cobigen-eclipse_installation[For eclipse users]

== 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]