Base Parent pom extension for Protobuf


License

License

GroupId

GroupId

com.github.frtu.governance
ArtifactId

ArtifactId

base-proto-pom
Last Version

Last Version

1.1.0
Release Date

Release Date

Type

Type

pom
Description

Description

Base Parent pom extension for Protobuf
Base Parent pom extension for Protobuf

Download base-proto-pom

Filename Size
base-proto-pom-1.1.0.pom 4 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.frtu.governance/base-proto-pom/ -->
<dependency>
    <groupId>com.github.frtu.governance</groupId>
    <artifactId>base-proto-pom</artifactId>
    <version>1.1.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.github.frtu.governance/base-proto-pom/
implementation 'com.github.frtu.governance:base-proto-pom:1.1.0'
// https://jarcasting.com/artifacts/com.github.frtu.governance/base-proto-pom/
implementation ("com.github.frtu.governance:base-proto-pom:1.1.0")
'com.github.frtu.governance:base-proto-pom:pom:1.1.0'
<dependency org="com.github.frtu.governance" name="base-proto-pom" rev="1.1.0">
  <artifact name="base-proto-pom" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.github.frtu.governance', module='base-proto-pom', version='1.1.0')
)
libraryDependencies += "com.github.frtu.governance" % "base-proto-pom" % "1.1.0"
[com.github.frtu.governance/base-proto-pom "1.1.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

Maven artefact generator

Note : The artecfacts below all rely on base-pom that helps to normalize all the libraries CVE fixes and version upgrades.

Feel free to inline some of the dependencies or all dependencies & remove dependency to this pom.xml (it's a template).

Overview

Allow to generate a project for :

  • Base project (Label : base) : suitable for lib, command line, ...
  • Spring Boot project (Label : spring-boot) : suitable for web project (backend or frontend)

NOTE : when using mvngen, just append the project label.

Ex :

  • mvngenlocal base com.github.frtu.cmd cmd : generate a base project called cmd
  • mvngenlocal spring-boot com.github.frtu.web web : generate a spring-boot artifact for called web

Catalog

A Module is a standalone project with one single pom OR can be hosted in a Platform projet.

A Platform means that it comes with a parent pom, hosting a sub project. When you generate another module at its root folder, the new module is append next to the others.

Generate archetypes with the below commands :

  • Replace x.y.z with the latest version

Module - Base

Base project are generated for libraries or command line. Just include :

  • Loggers using log-platform
  • Maven plugin for Code Coverage (jacoco) & code quality (spotbugs)

Build will fail if SpotBugs find issues with FindBugs. See Bugs descriptions at http://findbugs.sourceforge.net/bugDescriptions.html

Module - Spring Boot

Allow to generate a spring-boot project based on a basic template.

Override version - version 1.1.1

You can override sprint-boot version by

  • checking available version in the repo
  • Override maven generator properties by saying N
  • Override property value that you need (else just type [Enter])

Sample stack :

Confirm properties configuration:
groupId: com.github.frtu.web
artifactId: web
version: 0.0.1-SNAPSHOT
package: com.github.frtu.web
base-pom-version: 1.1.1-SNAPSHOT
spring-boot-version: 2.4.1
 Y: : N
[INFO] Using property: groupId = com.github.frtu.web
[INFO] Using property: artifactId = web
[INFO] Using property: version = 0.0.1-SNAPSHOT
Define value for property 'package' com.github.frtu.web: :
Define value for property 'base-pom-version' 1.1.1-SNAPSHOT: :
Define value for property 'spring-boot-version' 2.4.1: : 2.4.0
Confirm properties configuration:
groupId: com.github.frtu.web
artifactId: web
version: 0.0.1-SNAPSHOT
package: com.github.frtu.web
base-pom-version: 1.1.1-SNAPSHOT
spring-boot-version: 2.4.0
 Y: : Y

Going forward

  • Allow async data ingestion with spring-boot and webflux
  • Expand on data governance & processing with Avro and Spark

~ Have fun !

Versions

Version
1.1.0
1.0.1