Add some initial app and configuration code

This commit is contained in:
R. Tyler Croy 2015-05-29 18:18:39 -07:00
parent e9d4c7a2db
commit 4228871e19
10 changed files with 236 additions and 2 deletions

31
build.gradle Normal file
View File

@ -0,0 +1,31 @@
plugins {
id 'groovy'
id 'application'
id 'codenarc'
}
repositories {
jcenter()
}
dependencies {
compile "org.codehaus.groovy:groovy:${groovyVersion}"
compile "io.dropwizard:dropwizard-core:${dropwizardVersion}"
testCompile 'org.spockframework:spock-core:0.7-groovy-2.0'
testCompile 'cglib:cglib-nodep:2.2.+'
}
test {
testLogging {
/* we want more test failure information, see:
* <http://mrhaki.blogspot.com/2013/05/gradle-goodness-show-more-information.html>
*/
exceptionFormat = 'full'
events "passed", "skipped", "failed", "standardOut", "standardError"
}
}
codenarc {
configFile = file("${projectDir}/gradle/codenarc.xml")
}

4
gradle.properties Normal file
View File

@ -0,0 +1,4 @@
dropwizardVersion=0.8.1
groovyVersion=2.4.3
org.gradle.daemon=true

23
gradle/codenarc.xml Normal file
View File

@ -0,0 +1,23 @@
<ruleset xmlns="http://codenarc.org/ruleset/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://codenarc.org/ruleset/1.0 http://codenarc.org/ruleset-schema.xsd"
xsi:noNamespaceSchemaLocation="http://codenarc.org/ruleset-schema.xsd">
<description>Sample rule set</description>
<ruleset-ref path='rulesets/imports.xml'>
<rule-config name='DuplicateImport'>
<property name='priority' value='1'/>
</rule-config>
</ruleset-ref>
<ruleset-ref path='rulesets/basic.xml'>
<exclude name='StringInstantiation'/>
</ruleset-ref>
<rule class='org.codenarc.rule.generic.IllegalRegexRule'>
<property name="name" value="AuthorTagNotAllowed"/>
<property name='regex' value='\@author'/>
</rule>
</ruleset>

Binary file not shown.

View File

@ -1,6 +1,6 @@
#Fri May 29 17:36:39 PDT 2015
#Fri May 29 17:40:50 PDT 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-bin.zip

99
offtopic.iml Normal file
View File

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="offtopic" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/build/classes/main" />
<output-test url="file://$MODULE_DIR$/build/classes/test" />
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/groovy" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/groovy" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
<excludeFolder url="file://$MODULE_DIR$/build" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="Gradle: org.codehaus.groovy:groovy:2.4.3" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard:dropwizard-core:0.8.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard:dropwizard-util:0.8.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard:dropwizard-jackson:0.8.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard:dropwizard-validation:0.8.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard:dropwizard-configuration:0.8.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard:dropwizard-logging:0.8.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard:dropwizard-metrics:0.8.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard:dropwizard-jersey:0.8.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard:dropwizard-servlets:0.8.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard:dropwizard-jetty:0.8.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard:dropwizard-lifecycle:0.8.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard.metrics:metrics-core:3.1.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard.metrics:metrics-jvm:3.1.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard.metrics:metrics-servlets:3.1.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard.metrics:metrics-healthchecks:3.1.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: net.sourceforge.argparse4j:argparse4j:0.4.4" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty.toolchain.setuid:jetty-setuid-java:1.0.2" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.fasterxml.jackson.core:jackson-annotations:2.5.0" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.google.guava:guava:18.0" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.google.code.findbugs:jsr305:3.0.0" level="project" />
<orderEntry type="library" exported="" name="Gradle: joda-time:joda-time:2.7" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.fasterxml.jackson.core:jackson-core:2.5.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.fasterxml.jackson.core:jackson-databind:2.5.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.fasterxml.jackson.datatype:jackson-datatype-jdk7:2.5.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.fasterxml.jackson.datatype:jackson-datatype-guava:2.5.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.fasterxml.jackson.module:jackson-module-afterburner:2.5.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.fasterxml.jackson.datatype:jackson-datatype-joda:2.5.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.slf4j:slf4j-api:1.7.10" level="project" />
<orderEntry type="library" exported="" name="Gradle: ch.qos.logback:logback-classic:1.1.2" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.hibernate:hibernate-validator:5.1.3.Final" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish:javax.el:3.0.0" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.5.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.apache.commons:commons-lang3:3.3.2" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard.metrics:metrics-logback:3.1.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.slf4j:jul-to-slf4j:1.7.10" level="project" />
<orderEntry type="library" exported="" name="Gradle: ch.qos.logback:logback-core:1.1.2" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.slf4j:log4j-over-slf4j:1.7.10" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.slf4j:jcl-over-slf4j:1.7.10" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty:jetty-util:9.2.9.v20150224" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.jersey.core:jersey-server:2.17" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.jersey.ext:jersey-metainf-services:2.17" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard.metrics:metrics-jersey2:3.1.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.5.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.jersey.containers:jersey-container-servlet:2.17" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty:jetty-server:9.2.9.v20150224" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty:jetty-webapp:9.2.9.v20150224" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty:jetty-continuation:9.2.9.v20150224" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard.metrics:metrics-annotation:3.1.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard.metrics:metrics-jetty9:3.1.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty:jetty-servlet:9.2.9.v20150224" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty:jetty-servlets:9.2.9.v20150224" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty:jetty-http:9.2.9.v20150224" level="project" />
<orderEntry type="library" exported="" name="Gradle: io.dropwizard.metrics:metrics-json:3.1.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: javax.validation:validation-api:1.1.0.Final" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.jboss.logging:jboss-logging:3.1.3.GA" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.fasterxml:classmate:1.0.0" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.yaml:snakeyaml:1.12" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.jersey.core:jersey-common:2.17" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.jersey.core:jersey-client:2.17" level="project" />
<orderEntry type="library" exported="" name="Gradle: javax.ws.rs:javax.ws.rs-api:2.0.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.jersey.media:jersey-media-jaxb:2.17" level="project" />
<orderEntry type="library" exported="" name="Gradle: javax.annotation:javax.annotation-api:1.2" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.hk2:hk2-api:2.4.0-b10" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.hk2.external:javax.inject:2.4.0-b10" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.hk2:hk2-locator:2.4.0-b10" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.5.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.5.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.jersey.containers:jersey-container-servlet-core:2.17" level="project" />
<orderEntry type="library" exported="" name="Gradle: javax.servlet:javax.servlet-api:3.1.0" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty:jetty-io:9.2.9.v20150224" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty:jetty-xml:9.2.9.v20150224" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.eclipse.jetty:jetty-security:9.2.9.v20150224" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.jersey.bundles.repackaged:jersey-guava:2.17" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.hk2:osgi-resource-locator:1.0.1" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.hk2:hk2-utils:2.4.0-b10" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.glassfish.hk2.external:aopalliance-repackaged:2.4.0-b10" level="project" />
<orderEntry type="library" exported="" name="Gradle: org.javassist:javassist:3.18.1-GA" level="project" />
<orderEntry type="library" exported="" name="Gradle: javax.inject:javax.inject:1" level="project" />
</component>
</module>

View File

@ -0,0 +1,42 @@
package offtopic
import io.dropwizard.Application
import io.dropwizard.setup.Bootstrap
import io.dropwizard.setup.Environment
import org.slf4j.Logger
import org.slf4j.LoggerFactory
/**
* Primary application instance for Dropwizard
*/
class OfftopicApp extends Application<OfftopicConfig> {
/**
* Primary logger instance for the app
*/
protected Logger logger = LoggerFactory.getLogger(this.class)
/**
* Main entry point for the application
* @param arguments
* @throws Exception
*/
static void main(String[] arguments) throws Exception {
new OfftopicApp().run(arguments)
}
@Override
void run(OfftopicConfig configuration, Environment environment) throws Exception {
this.logger.info("Starting the Offtopic application")
}
@Override
String getName() {
return "Offtopic"
}
@Override
void initialize(Bootstrap<OfftopicConfig> bootstrap) {
this.logger.info("Initializing application")
}
}

View File

@ -0,0 +1,9 @@
package offtopic
import io.dropwizard.Configuration
/**
*
*/
class OfftopicConfig extends Configuration{
}

View File

@ -0,0 +1,18 @@
package offtopic
import spock.lang.Specification
/**
*/
class OfftopicAppSpec extends Specification {
protected OfftopicApp app
def setup() {
this.app = new OfftopicApp()
}
def "getName()"() {
expect: "should return the String 'Offtopic'"
app.name == 'Offtopic'
}
}

View File

@ -0,0 +1,8 @@
package offtopic
import spock.lang.Specification
/**
*/
class OfftopicConfigSpec extends Specification {
}