ControlSystemStudio / phoebus

A framework and set of tools to monitor and operate large scale control systems, such as the ones in the accelerator community.
http://phoebus.org/
Eclipse Public License 1.0
92 stars 90 forks source link

[codeathon]Make an inventory of external dependency in order to think about existing alternative and minimize the dependency #3038

Open katysaintin opened 5 months ago

katysaintin commented 5 months ago

I propose to make an inventory of external dependency in order to think about existing alternative and minimize the dependency. See @kasemir Phoebus “longevity” discussion about numerous dependencies that Phoebus bring.

See the dependencies details in this file

codeathon subject

>> mvn dependency:tree

org.phoebus:phoebus-target:jar:4.7.4-SNAPSHOT
+- org.phoebus:install-jars:jar:4.7.4-SNAPSHOT:compile
+- org.junit.jupiter:junit-jupiter:jar:5.8.2:test
|  +- org.junit.jupiter:junit-jupiter-api:jar:5.8.2:test
|  |  +- org.opentest4j:opentest4j:jar:1.2.0:test
|  |  +- org.junit.platform:junit-platform-commons:jar:1.8.2:test
|  |  \- org.apiguardian:apiguardian-api:jar:1.1.2:test
|  +- org.junit.jupiter:junit-jupiter-params:jar:5.8.2:test
|  \- org.junit.jupiter:junit-jupiter-engine:jar:5.8.2:test
|     \- org.junit.platform:junit-platform-engine:jar:1.8.2:test
+- org.mockito:mockito-core:jar:2.23.4:test
|  +- net.bytebuddy:byte-buddy:jar:1.9.3:test
|  +- net.bytebuddy:byte-buddy-agent:jar:1.9.3:test
|  \- org.objenesis:objenesis:jar:2.6:test
+- org.hamcrest:hamcrest-all:jar:1.3:test
+- org.openjfx:javafx-controls:jar:21.0.3:compile
|  +- org.openjfx:javafx-controls:jar:win:21.0.3:compile
|  \- org.openjfx:javafx-graphics:jar:21.0.3:compile
|     +- org.openjfx:javafx-graphics:jar:win:21.0.3:compile
|     \- org.openjfx:javafx-base:jar:21.0.3:compile
|        \- org.openjfx:javafx-base:jar:win:21.0.3:compile
+- org.openjfx:javafx-web:jar:21.0.3:compile
|  +- org.openjfx:javafx-web:jar:win:21.0.3:compile
|  \- org.openjfx:javafx-media:jar:21.0.3:compile
|     \- org.openjfx:javafx-media:jar:win:21.0.3:compile
+- org.openjfx:javafx-swing:jar:21.0.3:compile
|  \- org.openjfx:javafx-swing:jar:win:21.0.3:compile
+- org.openjfx:javafx-fxml:jar:21.0.3:compile
|  \- org.openjfx:javafx-fxml:jar:win:21.0.3:compile
+- org.epics:epics-core:pom:7.0.10:compile
|  +- org.epics:epics-util:jar:1.0.7:compile
|  +- org.epics:epics-pvdata:jar:6.1.9:compile
|  +- org.epics:epics-ntypes:jar:0.3.9:compile
|  +- org.epics:epics-pvaccess:jar:5.1.9:compile
|  \- org.epics:jca:jar:2.4.9:compile
+- org.apache.commons:commons-compress:jar:1.26.1:compile
|  +- commons-codec:commons-codec:jar:1.16.1:compile
|  +- commons-io:commons-io:jar:2.15.1:compile
|  \- org.apache.commons:commons-lang3:jar:3.14.0:compile
+- org.epics:vtype:jar:1.0.7:compile
+- org.epics:vtype-json:jar:1.0.7:compile
+- com.sun.mail:javax.mail:jar:1.6.1:compile
|  \- javax.activation:activation:jar:1.1:compile
+- org.python:jython-standalone:jar:2.7.4b1:compile
+- net.sf.py4j:py4j:jar:0.10.2.1:compile
+- com.mysql:mysql-connector-j:jar:8.4.0:compile
+- org.postgresql:postgresql:jar:42.6.2:compile
|  \- org.checkerframework:checker-qual:jar:3.31.0:compile
+- org.tallison:jmatio:jar:1.2:compile
+- org.mozilla:rhino:jar:1.7.12:compile
+- com.sun.jersey:jersey-core:jar:1.19:compile
|  \- javax.ws.rs:jsr311-api:jar:1.1.1:compile
+- com.sun.jersey:jersey-server:jar:1.19:compile
+- com.sun.jersey:jersey-client:jar:1.19:compile
+- com.sun.jersey.contribs:jersey-multipart:jar:1.19:compile
|  \- org.jvnet.mimepull:mimepull:jar:1.9.3:compile
+- javax.xml.bind:jaxb-api:jar:2.3.0:compile
+- org.glassfish.jaxb:jaxb-runtime:jar:2.3.0:compile
|  +- org.glassfish.jaxb:jaxb-core:jar:2.3.0:compile
|  |  +- org.glassfish.jaxb:txw2:jar:2.3.0:compile
|  |  \- com.sun.istack:istack-commons-runtime:jar:3.0.5:compile
|  +- org.jvnet.staxex:stax-ex:jar:1.7.8:compile
|  \- com.sun.xml.fastinfoset:FastInfoset:jar:1.2.13:compile
+- com.sun.activation:javax.activation:jar:1.2.0:compile
+- com.google.guava:guava:jar:33.2.0-jre:compile
|  +- com.google.guava:failureaccess:jar:1.0.2:compile
|  +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
|  +- com.google.code.findbugs:jsr305:jar:3.0.2:compile
|  +- com.google.errorprone:error_prone_annotations:jar:2.26.1:compile
|  \- com.google.j2objc:j2objc-annotations:jar:3.0.0:compile
+- com.fasterxml.jackson.core:jackson-core:jar:2.12.3:compile
+- com.fasterxml.jackson.core:jackson-annotations:jar:2.12.3:compile
+- com.fasterxml.jackson.core:jackson-databind:jar:2.12.3:compile
+- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.12.3:compile
+- org.eclipse.jetty:jetty-server:jar:9.4.30.v20200611:compile
|  +- javax.servlet:javax.servlet-api:jar:3.1.0:compile
|  +- org.eclipse.jetty:jetty-http:jar:9.4.30.v20200611:compile
|  |  \- org.eclipse.jetty:jetty-util:jar:9.4.30.v20200611:compile
|  \- org.eclipse.jetty:jetty-io:jar:9.4.30.v20200611:compile
+- org.eclipse.jetty:jetty-servlet:jar:9.4.30.v20200611:compile
+- org.eclipse.jetty:jetty-security:jar:9.4.30.v20200611:compile
+- org.apache.derby:derby:jar:10.16.1.1:compile
+- org.apache.derby:derbytools:jar:10.16.1.1:compile
+- org.apache.derby:derbyshared:jar:10.16.1.1:compile
+- org.apache.kafka:kafka-streams:jar:3.6.1:compile
|  +- org.rocksdb:rocksdbjni:jar:7.9.2:compile
|  \- org.slf4j:slf4j-api:jar:1.7.36:compile
+- org.apache.kafka:kafka-clients:jar:3.6.1:compile
|  +- com.github.luben:zstd-jni:jar:1.5.5-1:runtime
|  +- org.lz4:lz4-java:jar:1.8.0:runtime
|  \- org.xerial.snappy:snappy-java:jar:1.1.10.5:runtime
+- io.reactivex.rxjava3:rxjava:jar:3.0.9:compile
|  \- org.reactivestreams:reactive-streams:jar:1.0.3:compile
+- net.sf.sociaal:freetts:jar:1.2.2:compile
+- co.elastic.clients:elasticsearch-java:jar:8.2.0:compile
|  +- org.elasticsearch.client:elasticsearch-rest-client:jar:8.2.0:compile
|  |  +- org.apache.httpcomponents:httpasyncclient:jar:4.1.4:compile
|  |  \- org.apache.httpcomponents:httpcore-nio:jar:4.4.12:compile
|  +- jakarta.json:jakarta.json-api:jar:2.0.1:compile
|  \- org.eclipse.parsson:parsson:jar:1.0.0:compile
+- org.elasticsearch.client:elasticsearch-rest-client-sniffer:jar:8.2.0:compile
|  +- org.apache.httpcomponents:httpclient:jar:4.5.10:compile
|  +- org.apache.httpcomponents:httpcore:jar:4.4.12:compile
|  \- commons-logging:commons-logging:jar:1.1.3:compile
+- org.jfxtras:jfxtras-controls:jar:9.0-r1:compile
|  \- org.jfxtras:jfxtras-fxml:jar:9.0-r1:compile
+- org.jfxtras:jfxtras-agenda:jar:9.0-r1:compile
+- org.jfxtras:jfxtras-common:jar:9.0-r1:compile
+- com.atlassian.commonmark:commonmark:jar:0.15.2:compile
+- com.atlassian.commonmark:commonmark-ext-gfm-tables:jar:0.15.2:compile
+- com.atlassian.commonmark:commonmark-ext-image-attributes:jar:0.15.2:compile
+- org.controlsfx:controlsfx:jar:11.1.2:compile
+- org.apache.xmlgraphics:batik-all:jar:1.17:compile
|  \- xml-apis:xml-apis-ext:jar:1.3.04:compile
+- org.apache.xmlgraphics:xmlgraphics-commons:jar:2.4:compile
+- org.apache.commons:commons-math3:jar:3.6.1:compile
+- org.eclipse.paho:org.eclipse.paho.client.mqttv3:jar:1.2.2:compile
+- org.testfx:testfx-core:jar:4.0.13-alpha:test
|  +- org.hamcrest:hamcrest-core:jar:1.3:test
|  \- org.assertj:assertj-core:jar:3.9.1:test
+- org.testfx:testfx-junit:jar:4.0.13-alpha:test
+- com.google.protobuf:protobuf-java:jar:3.21.9:compile
+- org.epics:pbrawclient:jar:0.0.10:compile
+- org.eclipse.jgit:org.eclipse.jgit:jar:6.9.0.202403050737-r:compile
|  \- com.googlecode.javaewah:JavaEWAH:jar:1.2.3:compile
+- org.eclipse.jgit:org.eclipse.jgit.archive:jar:6.9.0.202403050737-r:compile
|  \- org.osgi:org.osgi.core:jar:6.0.0:compile
+- org.eclipse.jgit:org.eclipse.jgit.ssh.jsch:jar:6.9.0.202403050737-r:compile
|  +- com.jcraft:jsch:jar:0.1.55:compile
|  \- com.jcraft:jzlib:jar:1.1.3:compile
+- org.eclipse.jgit:org.eclipse.jgit.ssh.apache:jar:6.9.0.202403050737-r:compile
|  +- org.apache.sshd:sshd-osgi:jar:2.12.0:compile
|  |  \- org.slf4j:jcl-over-slf4j:jar:1.7.32:compile
|  +- org.apache.sshd:sshd-sftp:jar:2.12.0:compile
|  \- net.i2p.crypto:eddsa:jar:0.3.0:compile
+- org.springframework.boot:spring-boot-starter:jar:2.7.3:compile
|  +- org.springframework.boot:spring-boot:jar:2.7.3:compile
|  |  \- org.springframework:spring-context:jar:5.3.22:compile
|  +- org.springframework.boot:spring-boot-autoconfigure:jar:2.7.3:compile
|  +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
|  +- org.springframework:spring-core:jar:5.3.22:compile
|  |  \- org.springframework:spring-jcl:jar:5.3.22:compile
|  \- org.yaml:snakeyaml:jar:1.30:compile
+- org.springframework.boot:spring-boot-starter-web:jar:2.7.3:compile
|  +- org.springframework.boot:spring-boot-starter-json:jar:2.7.3:compile
|  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.13.3:compile
|  |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.13.3:compile
|  +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.7.3:compile
|  |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.65:compile
|  |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.65:compile
|  |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.65:compile
|  +- org.springframework:spring-web:jar:5.3.22:compile
|  |  \- org.springframework:spring-beans:jar:5.3.22:compile
|  \- org.springframework:spring-webmvc:jar:5.3.22:compile
|     +- org.springframework:spring-aop:jar:5.3.22:compile
|     \- org.springframework:spring-expression:jar:5.3.22:compile
+- org.springframework.boot:spring-boot-starter-test:jar:2.7.3:test
|  +- org.springframework.boot:spring-boot-test:jar:2.7.3:test
|  +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.7.3:test
|  +- com.jayway.jsonpath:json-path:jar:2.7.0:test
|  |  \- net.minidev:json-smart:jar:2.4.7:test
|  |     \- net.minidev:accessors-smart:jar:2.4.7:test
|  |        \- org.ow2.asm:asm:jar:9.1:test
|  +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:test
|  |  \- jakarta.activation:jakarta.activation-api:jar:1.2.2:test
|  +- org.hamcrest:hamcrest:jar:2.2:test
|  +- org.mockito:mockito-junit-jupiter:jar:4.5.1:test
|  +- org.skyscreamer:jsonassert:jar:1.5.1:test
|  |  \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
|  +- org.springframework:spring-test:jar:5.3.22:test
|  \- org.xmlunit:xmlunit-core:jar:2.9.0:test
+- javax.validation:validation-api:jar:2.0.1.Final:compile
+- org.apache.logging.log4j:log4j-to-slf4j:jar:2.17.1:compile
|  \- org.apache.logging.log4j:log4j-api:jar:2.17.1:compile
+- org.slf4j:slf4j-jdk14:jar:1.7.28:compile
+- org.tango-controls:JTango:pom:9.7.0:compile
|  +- org.tango-controls:tango-idl-java:jar:5:compile
|  |  +- org.jacorb:jacorb-omgapi:jar:3.8:compile
|  |  \- org.jacorb:jacorb-idl-compiler:jar:3.8:compile
|  |     +- org.apache.ant:ant:jar:1.8.2:compile
|  |     |  \- org.apache.ant:ant-launcher:jar:1.8.2:compile
|  |     \- java_cup:java_cup:jar:0.9e:compile
|  +- org.tango-controls:JTangoServer:jar:9.7.0:compile
|  |  +- org.tango-controls:JTangoClientLang:jar:9.7.0:compile
|  |  +- ch.qos.logback:logback-classic:jar:1.2.3:compile
|  |  |  \- ch.qos.logback:logback-core:jar:1.2.3:compile
|  |  +- org.slf4j:slf4j-ext:jar:1.7.6:compile
|  |  |  \- ch.qos.cal10n:cal10n-api:jar:0.8.1:compile
|  |  +- net.sf.transmorph:transmorph:jar:3.1.3:compile
|  |  +- net.sf.ehcache:ehcache-core:jar:2.3.0:compile
|  |  \- org.quartz-scheduler:quartz:jar:2.3.2:compile
|  |     +- com.mchange:c3p0:jar:0.9.5.4:compile
|  |     +- com.mchange:mchange-commons-java:jar:0.2.15:compile
|  |     \- com.zaxxer:HikariCP-java7:jar:2.4.13:compile
|  \- org.tango-controls:TangORB:jar:9.7.0:compile
|     +- org.jacorb:jacorb:jar:3.9:compile
|     +- org.jacorb:jacorb-services:jar:3.9:compile
|     |  +- antlr:antlr:jar:2.7.2:compile
|     |  +- mx4j:mx4j:jar:3.0.1:compile
|     |  +- nanocontainer:nanocontainer-remoting:jar:1.0-RC-1:compile
|     |  |  +- geronimo-spec:geronimo-spec-ejb:jar:2.1-rc2:compile
|     |  |  +- mx4j:mx4j-jmx:jar:2.1.1:compile
|     |  |  +- mx4j:mx4j-impl:jar:2.1.1:compile
|     |  |  +- jmock:jmock:jar:1.0.1:compile
|     |  |  |  \- junit:junit:jar:3.8.1:compile
|     |  |  +- jmock:jmock-cglib:jar:1.0.1:compile
|     |  |  +- cglib:cglib-full:jar:2.0:compile
|     |  |  \- proxytoys:proxytoys:jar:0.1:compile
|     |  +- org.beanshell:bsh:jar:2.0b5:compile
|     |  +- picocontainer:picocontainer:jar:1.2:compile
|     |  \- tanukisoft:wrapper:jar:3.1.0:compile
|     +- org.jboss.spec.javax.rmi:jboss-rmi-api_1.0_spec:jar:1.0.6.Final:compile
|     +- org.zeromq:jeromq:jar:0.5.1:compile
|     |  \- eu.neilalexander:jnacl:jar:1.0.0:compile
|     \- org.tango-controls:JTangoCommons:jar:9.7.0:compile
+- javax.jms:javax.jms-api:jar:2.0.1:compile
+- javax.json:javax.json-api:jar:1.1.4:compile
+- javax.ws.rs:javax.ws.rs-api:jar:2.1:compile
+- org.apache.activemq:activemq-client:jar:5.18.4:compile
|  +- jakarta.jms:jakarta.jms-api:jar:2.0.3:compile
|  \- org.fusesource.hawtbuf:hawtbuf:jar:1.11:compile
\- com.aquenos.epics.jackie:epics-jackie-client:jar:3.1.0:compile
   \- com.aquenos.epics.jackie:epics-jackie-common:jar:3.1.0:compile
katysaintin commented 5 months ago

@georgweiss @shroffk could you set codathon label to this issue and assign to me ? Please ? Thank you.

georgweiss commented 5 months ago

Done