diff --git a/build.gradle b/build.gradle index 4e8c15d..6690226 100644 --- a/build.gradle +++ b/build.gradle @@ -1,23 +1,97 @@ buildscript { - ext { - springBootVersion = '1.4.3.RELEASE' - } repositories { mavenCentral() } dependencies { - classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") + classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.5.RELEASE") } } -apply plugin: 'java' -apply plugin: 'eclipse' +plugins { + id 'groovy' + id 'java' + id 'org.jetbrains.kotlin.jvm' version '1.3.11' + id 'net.ltgt.apt' version '0.10' + id "org.sonarqube" version "2.6" + id 'org.unbroken-dome.test-sets' version '1.4.5' + id 'war' +} + apply plugin: 'org.springframework.boot' -jar { - baseName = 'boot-gradle' - version = '0.0.1-SNAPSHOT' +description = 'Pandamonium Theorem Prover' + +group 'edu.msudenver.tsp' +version '1.0' + +ext['slf4j.version'] = '1.7.22' +ext['classmate.version'] = '1.3.1' +ext['joda-time.version'] = '2.9.7' + +def branch = 'git symbolic-ref --short HEAD'.execute().text.trim() + +sonarqube { + properties { + property "sonar.projectName", 'Pandamonium Theorem Prover' + } } + +allprojects { + sonarqube { + properties { + property "sonar.host.url", "https://sonarcloud.io" + property "sonar.projectKey", "atusa17_ptp" + property "sonar.organization", "atusa17-github" + property "sonar.login", "9dcc611cd79f175459248b053b25450e36e38463" + } + } + apply plugin: 'java' + apply plugin: 'jacoco' + apply plugin: 'org.unbroken-dome.test-sets' + apply plugin: 'idea' + apply plugin: 'io.spring.dependency-management' +} + +subprojects { + apply plugin: 'java' + repositories { + mavenCentral() + } + + dependencies { + compile 'org.apache.commons:commons-lang3:3.5' + // The production code uses the SLF4J logging API at compile time + compile 'org.slf4j:slf4j-api:1.7.21' + compile "joda-time:joda-time:2.2" + compile('org.springframework:spring-context:5.0.9.RELEASE') + + compileOnly 'org.projectlombok:lombok:1.18.4' + + testCompile group: 'junit', name: 'junit', version: '4.11' + testCompile group: 'junit', name: 'junit', version: '4.12' + testCompile('org.mockito:mockito-core:1.10.19') {exclude(group: 'org.hamcrest')} + + } + + test { + if (System.properties['test.profile'] != 'integrationTest') { + exclude '**/*integrationTest*' + } else { + exclude '**/*edu/*' + } + } + + testSets { + unitTest + integrationTest + } +} + +bootJar { + baseName = 'gs-spring-boot' + version = '0.1.0' +} + sourceCompatibility = 1.8 targetCompatibility = 1.8 @@ -25,9 +99,51 @@ repositories { mavenCentral() } - dependencies { - compile('org.springframework.boot:spring-boot-starter-web','org.apache.tomcat.embed:tomcat-embed-jasper' - ,'javax.servlet:jstl') - testCompile('org.springframework.boot:spring-boot-starter-test') + compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8" + compile 'org.codehaus.groovy:groovy-all:2.3.11' + compile 'org.apache.commons:commons-lang3:3.5' + // The production code uses the SLF4J logging API at compile time + compile 'org.slf4j:slf4j-api:1.7.22' + compile "joda-time:joda-time:2.2" + compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.0.5.RELEASE' + + testCompile group: 'junit', name: 'junit', version: '4.12' + testCompile "org.springframework:spring-test:5.0.9.RELEASE" + testCompile('org.mockito:mockito-core:1.10.19') {exclude(group: 'org.hamcrest')} + + compileOnly 'org.projectlombok:lombok:1.18.4' + + apt 'org.projectlombok:lombok:1.18.4' +} + +project(':persistence') { + dependencies { + compile project(':utilities') + } +} + +test { + if (System.properties['test.profile'] != 'integrationTest') { + exclude '**/*integrationTest*' + } else { + exclude '**/*edu/*' + } +} + +testSets { + unitTest + integrationTest +} + +compileKotlin { + kotlinOptions.jvmTarget = "1.8" +} +compileTestKotlin { + kotlinOptions.jvmTarget = "1.8" +} + +wrapper { + gradleVersion = '5.2.1' + distributionType = Wrapper.DistributionType.ALL } \ No newline at end of file diff --git a/persistence/build.gradle b/persistence/build.gradle index 52341ee..b832e7e 100644 --- a/persistence/build.gradle +++ b/persistence/build.gradle @@ -9,7 +9,11 @@ version '1.0' sourceCompatibility = 1.8 - +sonarqube { + properties { + property "sonar.projectName", 'Pandamonium Persistence Tier' + } +} repositories { mavenCentral() diff --git a/services/build.gradle b/services/build.gradle index ff4cffd..f63faa6 100644 --- a/services/build.gradle +++ b/services/build.gradle @@ -7,7 +7,11 @@ version '1.0' sourceCompatibility = 1.8 - +sonarqube { + properties { + property "sonar.projectName", 'Theorem Prover Services' + } +} repositories { mavenCentral() @@ -19,6 +23,6 @@ dependencies { compile group: 'org.apache.httpcomponents', name: 'fluent-hc', version: '4.5.7' compile group: 'com.google.code.gson', name: 'gson', version: '2.7' compile fileTree(dir: 'lib', include: '**/*.jar') - + testCompile group: 'junit', name: 'junit', version: '4.12' } diff --git a/src/main/java/edu/msudenver/tsp/website/Application.java b/src/main/java/edu/msudenver/tsp/website/Application.java index 1d5b42e..17154e8 100644 --- a/src/main/java/edu/msudenver/tsp/website/Application.java +++ b/src/main/java/edu/msudenver/tsp/website/Application.java @@ -4,9 +4,6 @@ package edu.msudenver.tsp.website; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; - -//import lombok.extern.slf4j.Slf4j; - @SpringBootApplication public class Application { @@ -15,20 +12,5 @@ public class Application { } } - /*@Bean - public CommandLineRunner commandLineRunner(final ApplicationContext ctx) { - return args -> { - - LOG.info("Beans provided by Spring Boot:"); - - final String[] beanNames = ctx.getBeanDefinitionNames(); - Arrays.sort(beanNames); - for (final String beanName : beanNames) { - LOG.info(beanName); - } - } - } -} -*/ diff --git a/utilities/build.gradle b/utilities/build.gradle index 24beb45..b9e2ce9 100644 --- a/utilities/build.gradle +++ b/utilities/build.gradle @@ -7,7 +7,11 @@ version '1.0' sourceCompatibility = 1.8 - +sonarqube { + properties { + property "sonar.projectName", 'Parsing and Proofs Utilities' + } +} repositories { mavenCentral()