Skip to content

sujith-mn/cobigen

 
 

Repository files navigation

CobiGen (Code-based incremental Generator)

Docs Sync Status

Component

Release

Build

eclipse-plugin

no maven release

Build Status

cobigen-maven-plugin

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

Build Status

templates-devon4j

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

Build Status

core

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

Build Status

javaplugin

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

Build Status

xmlplugin

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

Build Status

openapiplugin

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

Build Status

tsplugin

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

Build Status

jsonplugin

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

Build Status

propertyplugin

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

Build Status

htmlplugin

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

Build Status

textmerger

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

Build Status

tempeng-velocity

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

Build Status

tempeng-freemarker

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

Build Status

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

Contains the cobigen command line interface implementation.

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-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 devonfw-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-photon. The profile p2-build-photon builds the eclipse plug-in by retrieving eclipse photon 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-photon,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-photon,p2-build-experimental p2:site
# Uploades the p2 update site to the experimental repository. Do NOT use clean
mvn deploy -Pp2-build-photon,p2-build-experimental -Dbintray.repository=cobigen.p2.experimental

cobigen-eclipse/

ECLIPSE

mvn clean deploy -Pp2-build-photon,p2-build-experimental -Dbintray.repository=cobigen.p2.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

The source code and maven bundles are released under APL 2.0

Eclipse bundles are released with respect to it’s bundled OSS software licenses

About

Code-based Incremental Generator

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 46.0%
  • Java 42.4%
  • FreeMarker 9.7%
  • Python 1.6%
  • Shell 0.1%
  • C# 0.1%
  • Other 0.1%