Skip to content

Gmugra/net.cactusthorn.gradle

Repository files navigation

net.cactusthorn.gradle

Gradle Demo project (based on Gradle 4.10). Demonstrate:

  1. Submodules & dynamic submodules form the sub folder
  2. Centralized scripts blocks
  3. Centralized dependency names/versions
  4. Generated sources
  5. Integration tests
  6. Wrapper
  7. IDE plug-ins
  8. Attributes in MANIFEST.MF
  9. JaCoCo
    1. https://www.eclemma.org/jacoco/
    2. JaCoCo Plugin: https://docs.gradle.org/current/userguide/jacoco_plugin.html
  10. "all" jar
    1. self-sufficient archive which contains both classes and dependencies needed to run an application
  11. "sources" jar
    1. jar archive with source files, without unit/integration tests
  12. The project local maven repository
  13. Checkstyle
    1. http://checkstyle.sourceforge.net/
  14. Maven publishing
  15. Spring Boot
  16. OSGi
  17. gradle.properties in the build.gradle

How to

How to run checkstyle:

gradlew checkstyleMain

How to skip tests:

gradlew build -x test

How to run only integration tests:

gradlew build testIntegration -x test

How to force to refresh depnedencies

gradlew build --refresh-dependencies

How to generate wrapper with version 4.10

gradle wrapper --gradle-version 4.10

Gradle vs Maven

Maven

Gradle

  • ( ) imperative
  • ( ) directed acyclic graph ("DAG") to determine the order in which tasks can be run
  • (+) Transitive Dependencies -> latest, fail, custom
  • (+) incremental build support.
  • ( ) Groovy/etc. (short, flexible, more chances for shit, required more skill)
  • (+) multi-module = parent to child
  • (+) composite build: setting.gradle
  • (+-) build profiles: using project property (-P)
  • (+) wrapper

License

Released under the BSD 2-Clause License

Copyright (C) 2020, Alexei Khatskevich
All rights reserved.

Licensed under the BSD 2-clause (Simplified) License (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://opensource.org/licenses/BSD-2-Clause

About

Gradle Multiple Modules Project Template

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages