Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/choonchernlim/choonchernlim-archetype-jar
Groovy-based Maven JAR archetype using Spring Boot with the capability of generating static code analysis reports for Continuous Integration servers.
https://github.com/choonchernlim/choonchernlim-archetype-jar
groovy java-8 jenkins maven maven-archetype spring-boot
Last synced: 5 days ago
JSON representation
Groovy-based Maven JAR archetype using Spring Boot with the capability of generating static code analysis reports for Continuous Integration servers.
- Host: GitHub
- URL: https://github.com/choonchernlim/choonchernlim-archetype-jar
- Owner: choonchernlim
- License: mit
- Created: 2015-11-04T15:38:42.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-10-02T19:46:55.000Z (about 7 years ago)
- Last Synced: 2024-11-06T00:41:01.177Z (about 2 months ago)
- Topics: groovy, java-8, jenkins, maven, maven-archetype, spring-boot
- Language: Shell
- Homepage:
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# choonchernlim-archetype-jar
Groovy-based Maven JAR archetype using Spring Boot with the capability of generating static code analysis reports for Continuous Integration servers.
## Latest Release
```xml
com.github.choonchernlim
choonchernlim-archetype-jar
2.0.0```
For example:
```bash
mvn archetype:generate \
-DinteractiveMode=false \
-DarchetypeGroupId=com.github.choonchernlim \
-DarchetypeArtifactId=choonchernlim-archetype-jar \
-DarchetypeVersion=2.0.0 \
-DgroupId=com.github.choonchernlim.testProject \
-DartifactId=testProject \
-Dversion=1.0.0-SNAPSHOT
```## Prerequisites
* Java 1.8.
* Maven 3.3.9.## Useful Goals
* `mvn clean spring-boot:run` - Executes program.
* `mvn clean test site` - Generates test and static code analysis reports.
* `mvn clean package` - Generates the following artifacts:-
* `[artifactId]-[version].jar` - Lean JAR to be used as a dependency or be pushed to Nexus.
* `[artifactId]-[version]-exec.jar` - Executable fat JAR with all dependencies bundled into it.
* `[artifactId]-[version]-sources.jar` - Project source files.## Jenkins Integration
* Create a "Freestyle project" job.
* Under "Add build steps, select "Invoke top-level Maven targets".
* Goals: `clean test site`
* POM: `[project]/pom.xml`* Configure post-build actions accordingly.
## Sample Project Structure
If `groupId` is `com.github.choonchernlim.testProject` and `artifactId` is `testProject`, the generated project structure looks like this:-
```text
➜ tree .
.
├── CHANGELOG.md
├── README.md
├── pom.xml
└── src
├── main
│ ├── groovy
│ │ └── com
│ │ └── github
│ │ └── choonchernlim
│ │ └── testProject
│ │ ├── Application.groovy
│ │ └── service
│ │ └── HelloWorldService.groovy
│ └── resources
│ └── application.yml
└── test
├── groovy
│ └── com
│ └── github
│ └── choonchernlim
│ └── testProject
│ └── service
│ └── HelloWorldServiceSpec.groovy
└── resources
├── application.yml
└── logback-test.xml17 directories, 9 files
```