Git Product home page Git Product logo

Comments (4)

aweisser avatar aweisser commented on September 25, 2024 1

As already mentioned in #127 you can also use https://gitlab.com/iternity/jplantuml to transform a PlantUML string into a selfcontained PlantUML URL.
This makes it very easy and light weight to include a link to a UML visualization in your Assert messages...

from archunit.

codecholeric avatar codecholeric commented on September 25, 2024

Hi,

I know Degraph, and yes, the visualization feature would be something cool for ArchUnit as well 😃

The reason there is no visualization yet, is really that I simply had no time and wanted to focus on my core issue, the API to specify rules.

We've started to create an HTML visualization using d3, the POC looks pretty promising (we already have a JSON export and a graph visualizing the imported classes).
I also thought about Graphml, since it provides better layout out of the box (this is something we're still struggling with, with d3). On the other hand I sometimes had problems in the past, if there were too many nodes, somehow, and the d3 version only needs a browser to create a nice and fluent interactive report. (might have been my version of yED though)
An advantage of Graphml would also be, that it doesn't need any extra libraries to create the visualization, on the contrary to d3.

I would definitely be interested to add a Graphml visualization as well, if you're interested, it would be good to have a choice, if one visualization doesn't work out for the use case.

There are just some considerations that come to my mind

  • we're gonna create a new module archunit-visual for the HTML report, so it might be a good idea, to put all the visualization together (I'll probably add some service loader mechanism, to extend the core library for extra features like visualization)
  • to robustly visualize violations the ArchUnit core must probably be extended, because at the moment, there is no way to retrieve both origin and target from a violation, except for parsing the message, which would obviously be a bad idea 😉

Anyway, if you find the time and motivation, to write a Graphml violation visualization, I'd be happy to merge it. And as soon as our HTML POC is somewhat more developed, we'll also add that as a feature branch for testing (and it will very likely go into version 0.5.0 then)...

from archunit.

schauder avatar schauder commented on September 25, 2024

I think we agree on the pro and cons of Graphml. Back then it was (and probably still is) the easiest way to get nice visuals with a flexible layout.

I'll try to look into it.

from archunit.

codecholeric avatar codecholeric commented on September 25, 2024

In case it helps: I tried to add an API with #16 to access information about violations of ArchRules. It's just a first shot, and the SPI is still missing, but it might be easier to program against this interface, than to parse String messages or fall back on some shady reflection 😉

from archunit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.