Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Aug 08 11:33

    tcurdt on master

    added short project descriptions (compare)

  • Aug 08 11:13

    tcurdt on master

    Add related project to the READ… (compare)

  • Aug 08 11:13
    tcurdt closed #81
  • Aug 08 11:13
    tcurdt commented #81
  • Aug 08 10:40
    khmarbaise commented #81
  • Aug 08 09:42
    cesarsotovalero commented #81
  • Aug 05 11:40

    tcurdt on org.apache.maven.plugins-maven-site-plugin-3.x

    (compare)

  • Aug 05 11:40

    tcurdt on master

    Update dependency org.apache.ma… (compare)

  • Aug 05 11:40
    tcurdt closed #135
  • Aug 05 11:14
    renovate[bot] edited #135
  • Aug 05 05:11
    renovate[bot] edited #135
  • Aug 04 20:07
    renovate[bot] edited #135
  • Aug 04 14:15
    renovate[bot] edited #135
  • Aug 04 12:07
    renovate[bot] opened #135
  • Aug 04 12:07

    renovate[bot] on org.apache.maven.plugins-maven-site-plugin-3.x

    Update dependency org.apache.ma… (compare)

  • Aug 04 09:23
    khmarbaise commented #134
  • Aug 04 09:06
    tcurdt closed #134
  • Aug 04 09:06
    tcurdt commented #134
  • Aug 04 08:59

    github-actions[bot] on gh-pages

    deploy: 02caec79effecc88e9a4270… (compare)

  • Aug 04 08:58

    tcurdt on jdependency-2.8.0

    (compare)

Torsten Curdt
@tcurdt
@jnh5y sorry, I just your message now :-(
gitter use to send email notifications
happy to explain the details
James Hughes
@jnh5y
Great! If you'd rather email about this, a good address is jnhuva@gmail.com
Otherwise, like I said, I'm curious about how the version of a class is calculated. As I mentioned, I loaded up a few versions of the same jar, and I did find clashed classes
From there, I couldn't figure out what versions were going on....
Torsten Curdt
@tcurdt
I am still not sure I fully understand the problems you are having.
James Hughes
@jnh5y
The problem that I've encountered is that all the clashed classes are "unique" in that block of code....
I added multiple versions of the same library to the classpath (hence there are clashed classes), and each class in cp.getClashedClazzes only has one version from getVersions
Torsten Curdt
@tcurdt
Well, if they are the same classes - just coming from a different class path unit, there will be only one version
but you should be able to see the class path units that caused the clash
Otherwise we introduced a bug when adding the versioning.
James Hughes
@jnh5y
I'm getting this sha: 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= for getVersions
Torsten Curdt
@tcurdt
even when the clash is with the same sha
James Hughes
@jnh5y
ah! That does work for me!
This message was deleted
Torsten Curdt
@tcurdt
alright :)
James Hughes
@jnh5y
Thanks! Yeah, I think there may be a bug with the use of the MessageDigestCalculatingInputStream, but I'm not grokking the code on the first read through
Torsten Curdt
@tcurdt
Why do you think there is a bug?
James Hughes
@jnh5y
I got the same SHA for multiple classes:
Hash: [47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=] Classname: org.locationtech.jts.operation.overlayng.PolygonBuilder Hash: [47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=] Classname: org.locationtech.jts.operation.polygonize.EdgeRing Hash: [47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=] Classname: org.locationtech.jts.geom.CoordinateSequenceComparator Hash: [47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=] Classname: org.locationtech.jts.operation.predicate.RectangleContains
Torsten Curdt
@tcurdt
While of course not impossible, that does indeed smell wrong.
James Hughes
@jnh5y
val digest = MessageDigest.getInstance("SHA-256") scala> Base64.getEncoder().encodeToString(digest.digest) res21: String = 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=
yeah, that's the SHA-256 for an empty stream
Torsten Curdt
@tcurdt
Are you sure you created a versioned classpath?
final Clazzpath cp = new Clazzpath(true);
James Hughes
@jnh5y
blinks ok.... I missed that (true).
that was unexpected
Torsten Curdt
@tcurdt
yeah, it's not great - but it was the easiest to stay backwards compatible
I guess some documentation on it couldn't hurt either :-p
James Hughes
@jnh5y
Also, I think there's a typo... the MD has "getClasspathUnits" and the method is "getClazzpathUnits"
Torsten Curdt
@tcurdt
totally!
thanks!
James Hughes
@jnh5y
Happy to help, and thanks for pointing out my issue!
Separately, I kinda want to be able to group by the SHAs
aka, see the verison 1 and 2 match, and match 3 is different
I don't think one can easily do that since units in private in Clazz
but anyhow, cool project!
Torsten Curdt
@tcurdt
Well, the for that https://github.com/tcurdt/jdependency/blob/master/src/main/java/org/vafer/jdependency/Clazz.java#L57 should probably better return a Map instead of a Set.
James Hughes
@jnh5y
That could work
Torsten Curdt
@tcurdt
but that would break compatibility - which would need a major version bump
James Hughes
@jnh5y
eh, could add a method that returned the units object or the Map[sha, Set[class]]
Torsten Curdt
@tcurdt
yeah ... and then deprecate the other one
James Hughes
@jnh5y
of course, for whatever I may need, I have the source, so no major worries;)
Torsten Curdt
@tcurdt
:)