Open TheGuardianWolf opened 6 years ago
Calling @softeng-701
Specify the size of the issue @TheGuardianWolf
@lathakarthigaa I can't say for sure, but I will be following this upgrade guide: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Migration-Guide
I think this can be classed at very large, but I can't be 100% certain until we actually get into the code and make changes. Basically everything needs to be checked, but not necessarily changed in that guide.
If this means that we end up further into the dependency list, we may have to do more as well.
Below is the dependency list for reference.
org.project36.qualopt:qual-opt:war:0.0.1-SNAPSHOT
+- io.github.jhipster:jhipster:jar:1.1.8:compile
+- io.dropwizard.metrics:metrics-core:jar:3.2.2:compile
| \- org.slf4j:slf4j-api:jar:1.7.25:compile
+- io.dropwizard.metrics:metrics-annotation:jar:3.2.2:compile
+- io.dropwizard.metrics:metrics-json:jar:3.2.2:compile
| \- com.fasterxml.jackson.core:jackson-databind:jar:2.8.8:compile
+- io.dropwizard.metrics:metrics-jcache:jar:3.2.2:compile
+- io.dropwizard.metrics:metrics-jvm:jar:3.2.2:compile
+- io.dropwizard.metrics:metrics-servlet:jar:3.2.2:compile
+- io.dropwizard.metrics:metrics-servlets:jar:3.2.2:compile
| +- io.dropwizard.metrics:metrics-healthchecks:jar:3.2.2:compile
| \- com.papertrail:profiler:jar:1.0.2:compile
| \- joda-time:joda-time:jar:2.9.9:compile
+- com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:jar:2.8.8:compile
| +- com.fasterxml.jackson.core:jackson-core:jar:2.8.8:compile
| \- javax.transaction:jta:jar:1.1:compile
+- com.fasterxml.jackson.datatype:jackson-datatype-hppc:jar:2.8.8:compile
| \- com.carrotsearch:hppc:jar:0.7.1:compile
+- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.8.8:compile
| \- com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile
+- com.fasterxml.jackson.datatype:jackson-datatype-json-org:jar:2.8.8:compile
| \- org.apache.geronimo.bundles:json:jar:20090211_1:compile
+- com.fasterxml.jackson.module:jackson-module-afterburner:jar:2.8.8:compile
+- com.h2database:h2:jar:1.4.195:compile
+- org.awaitility:awaitility:jar:2.0.0:test
| +- org.hamcrest:hamcrest-library:jar:1.3:test
| +- org.hamcrest:hamcrest-core:jar:1.3:test
| +- cglib:cglib-nodep:jar:3.1:test
| \- org.objenesis:objenesis:jar:2.1:test
+- com.jayway.jsonpath:json-path:jar:2.2.0:test
| \- net.minidev:json-smart:jar:2.2.1:test
| \- net.minidev:accessors-smart:jar:1.1:test
| \- org.ow2.asm:asm:jar:5.0.3:test
+- io.springfox:springfox-swagger2:jar:2.7.0:compile
| +- io.swagger:swagger-annotations:jar:1.5.13:compile
| +- io.swagger:swagger-models:jar:1.5.13:compile
| +- io.springfox:springfox-spi:jar:2.7.0:compile
| | \- io.springfox:springfox-core:jar:2.7.0:compile
| +- io.springfox:springfox-schema:jar:2.7.0:compile
| +- io.springfox:springfox-swagger-common:jar:2.7.0:compile
| +- io.springfox:springfox-spring-web:jar:2.7.0:compile
| | \- org.reflections:reflections:jar:0.9.11:compile
| +- com.google.guava:guava:jar:18.0:compile
| +- com.fasterxml:classmate:jar:1.3.3:compile
| +- org.springframework.plugin:spring-plugin-core:jar:1.2.0.RELEASE:compile
| \- org.springframework.plugin:spring-plugin-metadata:jar:1.2.0.RELEASE:compile
+- io.springfox:springfox-bean-validators:jar:2.7.0:compile
+- com.mattbertolini:liquibase-slf4j:jar:2.0.0:compile
+- com.ryantenney.metrics:metrics-spring:jar:3.1.3:compile
| +- org.springframework:spring-core:jar:4.3.9.RELEASE:compile
| +- org.springframework:spring-beans:jar:4.3.9.RELEASE:compile
| \- org.springframework:spring-aop:jar:4.3.9.RELEASE:compile
+- com.zaxxer:HikariCP:jar:2.6.0:compile
+- commons-io:commons-io:jar:2.5:compile
+- org.apache.commons:commons-lang3:jar:3.5:compile
+- javax.cache:cache-api:jar:1.0.0:compile
+- mysql:mysql-connector-java:jar:5.1.42:compile
+- org.assertj:assertj-core:jar:3.6.2:test
+- org.ehcache:ehcache:jar:3.2.2:compile
+- org.hibernate:hibernate-jcache:jar:5.2.8.Final:compile
| +- org.jboss.logging:jboss-logging:jar:3.3.1.Final:compile
| \- org.hibernate:hibernate-core:jar:5.2.8.Final:compile
| +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
| +- org.javassist:javassist:jar:3.21.0-GA:compile
| +- antlr:antlr:jar:2.7.7:compile
| +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.1.Final:compile
| +- org.jboss:jandex:jar:2.0.3.Final:compile
| +- dom4j:dom4j:jar:1.6.1:compile
| \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
+- org.hibernate:hibernate-envers:jar:5.2.8.Final:compile
+- org.hibernate:hibernate-validator:jar:5.3.5.Final:compile
| \- javax.validation:validation-api:jar:1.1.0.Final:compile
+- org.liquibase:liquibase-core:jar:3.5.3:compile
| \- org.yaml:snakeyaml:jar:1.17:compile
+- org.mapstruct:mapstruct-jdk8:jar:1.1.0.Final:compile
+- org.springframework:spring-context-support:jar:4.3.9.RELEASE:compile
| \- org.springframework:spring-context:jar:4.3.9.RELEASE:compile
| \- org.springframework:spring-expression:jar:4.3.9.RELEASE:compile
+- org.springframework.boot:spring-boot-actuator:jar:1.5.4.RELEASE:compile
| \- org.springframework.boot:spring-boot:jar:1.5.4.RELEASE:compile
+- org.springframework.boot:spring-boot-autoconfigure:jar:1.5.4.RELEASE:compile
+- org.springframework.boot:spring-boot-configuration-processor:jar:1.5.4.RELEASE:compile
+- org.springframework.boot:spring-boot-loader-tools:jar:1.5.4.RELEASE:compile
+- org.springframework.boot:spring-boot-starter-aop:jar:1.5.4.RELEASE:compile
| +- org.springframework.boot:spring-boot-starter:jar:1.5.4.RELEASE:compile
| \- org.aspectj:aspectjweaver:jar:1.8.10:compile
+- org.springframework.boot:spring-boot-starter-data-jpa:jar:1.5.4.RELEASE:compile
| +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.5.4.RELEASE:compile
| | +- org.apache.tomcat:tomcat-jdbc:jar:8.5.15:compile
| | | \- org.apache.tomcat:tomcat-juli:jar:8.5.15:compile
| | \- org.springframework:spring-jdbc:jar:4.3.9.RELEASE:compile
| +- org.hibernate:hibernate-entitymanager:jar:5.2.8.Final:compile
| | \- net.bytebuddy:byte-buddy:jar:1.6.6:compile
| +- javax.transaction:javax.transaction-api:jar:1.2:compile
| +- org.springframework.data:spring-data-jpa:jar:1.11.4.RELEASE:compile
| | +- org.springframework:spring-orm:jar:4.3.9.RELEASE:compile
| | \- org.springframework:spring-tx:jar:4.3.9.RELEASE:compile
| \- org.springframework:spring-aspects:jar:4.3.9.RELEASE:compile
+- org.springframework.boot:spring-boot-starter-logging:jar:1.5.4.RELEASE:compile
| +- ch.qos.logback:logback-classic:jar:1.1.11:compile
| | \- ch.qos.logback:logback-core:jar:1.1.11:compile
| +- org.slf4j:jcl-over-slf4j:jar:1.7.25:compile
| +- org.slf4j:jul-to-slf4j:jar:1.7.25:compile
| \- org.slf4j:log4j-over-slf4j:jar:1.7.25:compile
+- org.springframework.boot:spring-boot-starter-mail:jar:1.5.4.RELEASE:compile
| \- com.sun.mail:javax.mail:jar:1.5.6:compile
| \- javax.activation:activation:jar:1.1:compile
+- org.springframework.boot:spring-boot-starter-security:jar:1.5.4.RELEASE:compile
| +- org.springframework.security:spring-security-config:jar:4.2.3.RELEASE:compile
| \- org.springframework.security:spring-security-web:jar:4.2.3.RELEASE:compile
+- org.springframework.boot:spring-boot-starter-test:jar:1.5.4.RELEASE:test
| +- org.springframework.boot:spring-boot-test-autoconfigure:jar:1.5.4.RELEASE:test
| +- junit:junit:jar:4.12:test
| +- org.mockito:mockito-core:jar:1.10.19:test
| +- org.skyscreamer:jsonassert:jar:1.4.0:test
| \- org.springframework:spring-test:jar:4.3.9.RELEASE:test
+- org.springframework.security:spring-security-test:jar:4.2.3.RELEASE:test
| \- org.springframework.security:spring-security-core:jar:4.2.3.RELEASE:compile
| \- aopalliance:aopalliance:jar:1.0:compile
+- org.springframework.boot:spring-boot-test:jar:1.5.4.RELEASE:test
+- org.springframework.boot:spring-boot-starter-thymeleaf:jar:1.5.4.RELEASE:compile
| +- org.thymeleaf:thymeleaf-spring4:jar:2.1.5.RELEASE:compile
| | \- org.thymeleaf:thymeleaf:jar:2.1.5.RELEASE:compile
| | +- ognl:ognl:jar:3.0.8:compile
| | \- org.unbescape:unbescape:jar:1.1.0.RELEASE:compile
| \- nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:jar:1.4.0:compile
| \- org.codehaus.groovy:groovy:jar:2.4.11:compile
+- org.springframework.boot:spring-boot-starter-web:jar:1.5.4.RELEASE:compile
| +- org.springframework:spring-web:jar:4.3.9.RELEASE:compile
| \- org.springframework:spring-webmvc:jar:4.3.9.RELEASE:compile
+- net.logstash.logback:logstash-logback-encoder:jar:4.9:compile
+- org.springframework.boot:spring-boot-starter-cloud-connectors:jar:1.5.4.RELEASE:compile
| +- org.springframework.cloud:spring-cloud-spring-service-connector:jar:1.2.4.RELEASE:compile
| | \- org.springframework.cloud:spring-cloud-core:jar:1.2.4.RELEASE:compile
| +- org.springframework.cloud:spring-cloud-cloudfoundry-connector:jar:1.2.4.RELEASE:compile
| +- org.springframework.cloud:spring-cloud-heroku-connector:jar:1.2.4.RELEASE:compile
| \- org.springframework.cloud:spring-cloud-localconfig-connector:jar:1.2.4.RELEASE:compile
+- org.springframework.security:spring-security-data:jar:4.2.3.RELEASE:compile
| \- org.springframework.data:spring-data-commons:jar:1.13.4.RELEASE:compile
+- org.apache.httpcomponents:httpclient:jar:4.5.3:compile
| +- org.apache.httpcomponents:httpcore:jar:4.4.6:compile
| \- commons-codec:commons-codec:jar:1.10:compile
+- org.springframework.social:spring-social-security:jar:1.1.4.RELEASE:compile
| +- org.springframework.social:spring-social-web:jar:1.1.4.RELEASE:compile
| | \- javax.inject:javax.inject:jar:1:compile
| \- org.springframework.social:spring-social-core:jar:1.1.4.RELEASE:compile
+- org.springframework.social:spring-social-google:jar:1.0.0.RELEASE:compile
| \- org.springframework.social:spring-social-config:jar:1.1.4.RELEASE:compile
+- org.springframework.social:spring-social-facebook:jar:2.0.3.RELEASE:compile
+- org.springframework.social:spring-social-twitter:jar:1.1.2.RELEASE:compile
| \- org.springframework.security:spring-security-crypto:jar:4.2.3.RELEASE:compile
+- org.springframework.boot:spring-boot-starter-undertow:jar:1.5.4.RELEASE:compile
| +- io.undertow:undertow-core:jar:1.4.15.Final:compile
| | +- org.jboss.xnio:xnio-api:jar:3.3.6.Final:compile
| | \- org.jboss.xnio:xnio-nio:jar:3.3.6.Final:runtime
| +- io.undertow:undertow-servlet:jar:1.4.15.Final:compile
| | \- org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec:jar:1.0.0.Final:compile
| +- io.undertow:undertow-websockets-jsr:jar:1.4.15.Final:compile
| | \- org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec:jar:1.1.0.Final:compile
| +- javax.servlet:javax.servlet-api:jar:3.1.0:compile
| \- org.glassfish:javax.el:jar:3.0.0:compile
\- org.springframework.boot:spring-boot-devtools:jar:1.5.4.RELEASE:compile
@TheGuardianWolf Settle down on LARGE now, we can change it based on the dependencies later. Sounds good?
Alright, I'll start working on this then
@lathakarthigaa Now that I have some idea of the scope of this task, I'm still going to suggest very large even without the additional dependencies (count is 1 currently for something other than spring), this was the original size as suggested by @kblincoe when I talked to her about this issue.
The Spring 2 framework has apparently moved a lot of namespaces around and re-implemented a portion of them. This has broken basically at least 1 file from each folder in the java project, including the tests.
@TheGuardianWolf Latha here, you can start working on it. APPROVED.
Current progress is that all the build time errors have been fixed, runtime now requires debugging.
Tests are crashing on launch, need to figure out why this is.
Currently the application is reportedly not working with JRE 9 from the README due to a bug with Spring Boot. An investigation is required into what is causing the incompatibility and for it to resolved.
Problem likely to be library based, not much information known at this point except what I have been told.