Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rvenutolo/groovy-project-parent
A collection of POMs and resources for my Groovy projects.
https://github.com/rvenutolo/groovy-project-parent
groovy maven-multimodule maven-wrapper parent-pom
Last synced: 24 days ago
JSON representation
A collection of POMs and resources for my Groovy projects.
- Host: GitHub
- URL: https://github.com/rvenutolo/groovy-project-parent
- Owner: rvenutolo
- License: apache-2.0
- Created: 2016-08-02T23:28:01.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-09-17T14:03:12.000Z (over 7 years ago)
- Last Synced: 2023-07-07T11:07:15.783Z (over 1 year ago)
- Topics: groovy, maven-multimodule, maven-wrapper, parent-pom
- Language: Shell
- Homepage: https://rvenutolo.github.io/groovy-project-parent/
- Size: 206 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# groovy-project-parent
[![Build Status](https://travis-ci.org/rvenutolo/groovy-project-parent.svg?branch=master)](https://travis-ci.org/rvenutolo/groovy-project-parent)
[![Quality Gate](https://sonarqube.com/api/badges/gate?key=org.venutolo:groovy-project-parent)](https://sonarqube.com/dashboard/index/org.venutolo:groovy-project-parent)
[![License](https://img.shields.io/hexpm/l/plug.svg)](https://www.apache.org/licenses/LICENSE-2.0)
[![GitHub release](https://img.shields.io/github/release/rvenutolo/groovy-project-parent.svg)](https://github.com/rvenutolo/groovy-project-parent/releases)A project containing a few POMs intended as parent POMs for my Groovy projects, plus a resources bundle.
## [groovy-project-parent](https://github.com/rvenutolo/groovy-project-parent/blob/master/pom.xml)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.venutolo/groovy-project-parent/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.venutolo/groovy-project-parent)
[![Dependency Status](https://www.versioneye.com/user/projects/57c33b3712b526000ed5f3be/badge.svg)](https://www.versioneye.com/user/projects/57c33b3712b526000ed5f3be)* Top-level parent POM.
* Provides a number of properties that define plugin versions, Groovy and Spock versions, and some other configuration values.
* Provides dependency and plugin versions in `dependencyManagement` and `pluginManagement` elements. All versions can be overridden in child POMs by overwriting a property value.
* Provides a snapshot repository in `distributionManagement`.
* Has one configured build plugin, [`sortpom-maven-plugin`](https://github.com/Ekryd/sortpom), to sort this POM and all inheriting POMs.```xml
org.venutolo
groovy-project-parent
1.1.0```
## [groovy-project-parent-with-config](https://github.com/rvenutolo/groovy-project-parent/blob/master/groovy-project-parent-with-config/pom.xml)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.venutolo/groovy-project-parent-with-config/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.venutolo/groovy-project-parent-with-config)
[![Dependency Status](https://www.versioneye.com/user/projects/57c33bcb86473900106adabe/badge.svg)](https://www.versioneye.com/user/projects/57c33bcb86473900106adabe)* Child of `groovy-project-parent`.
* Provides default configurations for the plugins defined in the parent POM's `pluginManagement` section.
* Does _not_ define any further build plugins.```xml
org.venutolo
groovy-project-parent-with-config
1.1.0```
## [groovy-project-parent-with-build](https://github.com/rvenutolo/groovy-project-parent/blob/master/groovy-project-parent-with-config/groovy-project-parent-with-build/pom.xml)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.venutolo/groovy-project-parent-with-build/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.venutolo/groovy-project-parent-with-build)
[![Dependency Status](https://www.versioneye.com/user/projects/57c33bd7864739000ec94b20/badge.svg)](https://www.versioneye.com/user/projects/57c33bd7864739000ec94b20)* Child of `groovy-project-parent-with-config`.
* Provides a default build configuration with plugin configurations inherited from `groovy-project-parent-with-config`.
* Provides a default site build configuration.
* Provides a default `release` profile that adds GPG artifact signing and deploying to OSSRH to the build.```xml
org.venutolo
groovy-project-parent-with-build
1.1.0```
## [groovy-project-resources](https://github.com/rvenutolo/groovy-project-parent/blob/master/groovy-project-resources/src/main/resources)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.venutolo/groovy-project-resources/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.venutolo/groovy-project-resources)
[![Dependency Status](https://www.versioneye.com/user/projects/57c33b6a8647390016589744/badge.svg)](https://www.versioneye.com/user/projects/57c33b6a8647390016589744)* Child of `groovy-project-parent`.
* Provides a resource bundle to be used in other projects via the [`maven-remote-resources-plugin`](https://maven.apache.org/plugins/maven-remote-resources-plugin/) plugin. This includes:
* [Assembly Descriptors](https://maven.apache.org/plugins/maven-assembly-plugin/assembly.html) for creating Groovydoc/Javadoc jars.
* [CodeNarc](http://codenarc.sourceforge.net/) configuration files.
* [License Maven Plugin](http://code.mycila.com/license-maven-plugin/) header template.
* [Maven Site Plugin](https://maven.apache.org/plugins/maven-site-plugin/) site descriptor.
```xml
org.apache.maven.plugins
maven-remote-resources-plugin
get-project-resources
process
generate-resources
org.venutolo:groovy-project-resources:${groovy.project.resources.version}
get-site-resources
process
pre-site
org.venutolo:groovy-project-resources:${groovy.project.resources.version}
```---
### Make Release```bash
./mvnw "-Darguments=-Dassembly.skipAssembly -Dmaven.source.skip" -B release:clean release:prepare release:perform
```### Update Maven Wrapper
Use Maven Wrapper plugin
```bash
mvn -N io.takari:maven:wrapper -Dmaven=3.5.0
```Download latest scripts
```bash
wget https://raw.githubusercontent.com/takari/maven-wrapper/master/mvnw
wget https://raw.githubusercontent.com/takari/maven-wrapper/master/mvnw.cmd
```