git-changelog-gradle-plugin icon indicating copy to clipboard operation
git-changelog-gradle-plugin copied to clipboard

Consider reducing the dependency graph

Open mockitoguy opened this issue 4 years ago • 2 comments

Hi @tomasbjerre!

This plugin looks really interesting and I'd like to use it. However, it pulls in too many dependencies, including some dependencies that are known to cause compatibility issues (#18). Therefore I cannot quite recommend your plugin to our projects (although I wish otherwise :-). Can you consider reducing the dependency graph in git-changelog-lib? Try to minimize the incoming dependencies because they are a liability to your customers. Ideally "git-changelog-lib" brings no dependencies.

I tried your plugin in my project and here's the dependency graph (./gradlew bEnv):

classpath
+--- org.shipkit.shipkit-auto-version:org.shipkit.shipkit-auto-version.gradle.plugin:0.0.6
|    \--- org.shipkit:shipkit-auto-version:0.0.6
|         \--- com.github.zafarkhaja:java-semver:0.9.0
+--- com.gradle.plugin-publish:com.gradle.plugin-publish.gradle.plugin:0.10.1
|    \--- com.gradle.publish:plugin-publish-plugin:0.10.1
|         \--- org.apache.maven:maven-model:3.0.4
\--- se.bjurr.gitchangelog.git-changelog-gradle-plugin:se.bjurr.gitchangelog.git-changelog-gradle-plugin.gradle.plugin:1.64
     \--- gradle.plugin.se.bjurr.gitchangelog:git-changelog-gradle-plugin:1.64
          \--- se.bjurr.gitchangelog:git-changelog-lib:1.91
               +--- com.squareup.retrofit2:retrofit:2.0.0
               |    \--- com.squareup.okhttp3:okhttp:3.2.0
               |         \--- com.squareup.okio:okio:1.6.0
               +--- com.squareup.retrofit2:converter-gson:2.0.0
               |    +--- com.squareup.retrofit2:retrofit:2.0.0 (*)
               |    \--- com.google.code.gson:gson:2.6.1
               +--- com.squareup.okhttp:okhttp:2.7.5
               |    \--- com.squareup.okio:okio:1.6.0
               +--- com.jayway.jsonpath:json-path:2.1.0
               |    +--- org.slf4j:slf4j-api:1.7.13 -> 1.8.0-beta2
               |    \--- net.minidev:json-smart:2.2
               |         \--- net.minidev:accessors-smart:1.1
               |              \--- org.ow2.asm:asm:5.0.3
               +--- com.google.guava:guava:16.0.1
               +--- org.eclipse.jgit:org.eclipse.jgit:3.6.2.201501210735-r
               |    +--- com.jcraft:jsch:0.1.50
               |    +--- com.googlecode.javaewah:JavaEWAH:0.7.9
               |    \--- org.apache.httpcomponents:httpclient:4.1.3
               |         +--- org.apache.httpcomponents:httpcore:4.1.4
               |         +--- commons-logging:commons-logging:1.1.1
               |         \--- commons-codec:commons-codec:1.4
               +--- com.github.spullara.mustache.java:compiler:0.8.18
               |    \--- com.google.guava:guava:16.0.1
               \--- org.gitlab:java-gitlab-api:4.1.0
                    +--- com.fasterxml.jackson.core:jackson-core:2.5.3
                    +--- com.fasterxml.jackson.core:jackson-databind:2.5.3
                    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.5.0
                    |    \--- com.fasterxml.jackson.core:jackson-core:2.5.3
                    +--- commons-io:commons-io:2.4
                    \--- org.slf4j:slf4j-api:1.8.0-beta2

Nice work with this Gradle plugin!

mockitoguy avatar Feb 07 '20 21:02 mockitoguy

I have tried to package a fat jar with git-changelog-lib. There might still be a branch with that in the lib.

The problem was with JGit. I think it was the dates that became incotrect in generated changelogs. I could not figure oit why.

tomasbjerre avatar Feb 08 '20 06:02 tomasbjerre

I pushed a branch with this here: https://github.com/tomasbjerre/git-changelog-lib/commits/feature/fat-jar

And a branch using it here: https://github.com/tomasbjerre/git-changelog-gradle-plugin/commits/feature/fat-jar

When I do ./gradlew install in git-changelog-lib and ./build.sh in git-changelog-gradle-plugin I get problem with timestamps always being 1970-01-01 00:00:00:

--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,184 +2,206 @@
 
 Changelog of Git Changelog Gradle plugin.
 
-## 1.64
+## Unreleased
 ### No issue
 
-**Update .travis.yml**
+**Update README to use Plugin DSL**
 
 
-[32f936846588f3b](https://github.com/tomasbjerre/git-changelog-gradle-plugin/commit/32f936846588f3b) Tomas Bjerre *2019-08-13 04:35:49*
+[a4cb64c0e4c9184](https://github.com/tomasbjerre/git-changelog-gradle-plugin/commit/a4cb64c0e4c9184) Chad Vincent *1970-01-01 00:00:00*

tomasbjerre avatar Feb 16 '20 09:02 tomasbjerre