Skip to content

trivesc/tools-cobigen

 
 

Repository files navigation

CobiGen (Code-based incremental Generator)

git%2Bgithub.com%2Fdevonfw%2Ftools cobigen

Component

Release

maven-plugin

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/maven-plugin

templates-oasp4j

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/templates-oasp4j

templates-oasp4js

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/templates-oasp4js

core

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/core

javaplugin

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/javaplugin

xmlplugin

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/xmlplugin

openapiplugin

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/openapiplugin

tsplugin

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/tsplugin

jsonplugin

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/jsonplugin

propertyplugin

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/propertyplugin

htmlplugin

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/htmlplugin

textmerger

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/textmerger

tempeng-velocity

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/tempeng-velocity

tempeng-freemarker

https://maven-badges.herokuapp.com/maven-central/com.devonfw.cobigen/tempeng-freemarker

Installation

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-documentation

Contains git submodules for building and tagging the wiki.

cobigen-eclipse

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

cobigen-maven

Contains the maven plug-in implementation.

cobigen-review

Project to be used for AgileReview

cobigen-templates

Contains template sets for different architectures

cobigen

Containts the code implementation of CobiGen as well as all plug-in implementations besides the eclipse plug-in and maven plug-in

ide-settings

Contains the shared settings processed by the oasp4j-ide

Build

You can build CobiGen core as well as each plug-in besides the eclipse plug-in separately by stepping into the plug-in folder, e.g. for the Java plug-in you could step into cobigen/cobigen-javaplugin and run mvn clean install to build the plug-in and deploy it into your local repository.

The CobiGen eclipse plug-in can build build by running mvn clean package -Pp2-build-mars. The profile p2-build-mars builds the eclipse plug-in by retrieving eclipse mars bundles as dependencies. Without specifying the profile, the build will fail. An exception to this is the cobigen-eclipse-test project, which has to be built using mvn clean package -Pp2-build-mars,p2-build-stable,p2-build-experimental.

Deploy

CobiGen deployment has to be distinguished threefold

Component Deployment Type Commands

cobigen/cobigen-core/,cobigen-maven/

MAVEN

mvn clean deploy

cobigen/cobigen-/ (except core). In case of deploying dev_javaplugin or dev_openapiplugin, go to cobigen/cobigen--parent/cobigen-*

ECLIPSE

mvn clean package bundle:bundle -Pp2-bundle
# Uses the created bundle and builds a p2 update site for it. Do NOT use clean
mvn install bundle:bundle -Pp2-bundle,p2-build-mars,p2-build-experimental p2:site
# Uploades the p2 update site to the experimental repository. Do NOT use clean
mvn deploy -Pp2-build-mars,p2-build-experimental -Dp2.upload=experimental

cobigen-eclipse/

ECLIPSE

mvn clean deploy -Pp2-build-mars,p2-build-experimental -Dp2.upload=experimental

Debugging with Maven

To debug Maven builds on any plug-in:

  1. Step into the plug-in and start a console there.

  2. Run mvnDebug clean install, it will output the port the debugger is listening to.

  3. On Eclipse, right click your project → Debug as → Debug Configurations…​

  4. Add a new Remote Java Application that connects on a socket on the port that was outputted by Maven.

  5. Hit debug and have fun!

To debug Maven tests follow this link

License

git%2Bgithub.com%2Fdevonfw%2Ftools cobigen

About

Code-based Incremental Generator

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 71.5%
  • FreeMarker 22.4%
  • CSS 3.4%
  • Python 2.7%