diff build.gradle @ 2:91703efb1d29

update ssdt-forms and dockerize
author smith@nwoca.org
date Mon, 11 Apr 2016 11:53:50 -0400
parents f4f8570d1c56
children
line wrap: on
line diff
--- a/build.gradle	Mon Nov 12 11:30:44 2012 -0500
+++ b/build.gradle	Mon Apr 11 11:53:50 2016 -0400
@@ -1,4 +1,18 @@
-apply from: "${gradle.ext.has('ssdtDevelkitLocation') ? gradle.ssdtDevelkitLocation : 'http://hg.ssdt-ohio.org/browse/public/develkit'}/init.gradle"
+import java.time.Instant
+import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage
+import com.bmuschko.gradle.docker.tasks.image.Dockerfile
+
+apply from: "${gradle.ext.has('ssdtDevelkitLocation') ? gradle.ssdtDevelkitLocation : 'http://hg.ssdt-ohio.org/browse/public/develkit'}/init20.gradle"
+
+buildscript {
+    repositories {
+        maven { url 'http://repos.ssdt.nwoca.org/artifactory/gradle-plugins' }
+        maven { url 'http://repos.ssdt.nwoca.org/artifactory/repo' }
+    }
+    dependencies {
+        classpath 'com.bmuschko:gradle-docker-plugin:2.6.5'
+    }
+}
 
 description = "ssdt.forms application"
 
@@ -7,7 +21,7 @@
 apply plugin: "groovy"
 apply plugin: "jetty"
 apply plugin: "idea"
-
+apply plugin: 'com.bmuschko.docker-remote-api'
 
 sourceCompatibility = "1.5"
 targetCompatibility = "1.5"
@@ -15,27 +29,6 @@
 group = "org.ssdt_ohio"
 version = "1.0-SNAPSHOT"
 
-/*
-repositories {
-    mavenCentral()
-
-    // All things JBoss/Hibernate
-    mavenRepo name: "JBoss", url: "http://repository.jboss.org/nexus/content/groups/public/"
-
-    // For stable versions of the tapx libraries
-    mavenRepo name: "HLS", url: "http://howardlewisship.com/repository/"
-
-    // For non-stable versions of the tapx libraries
-    mavenRepo name: "HLS Snapshots", url: "http://howardlewisship.com/snapshot-repository/"
-
-    // For access to Apache Staging (Preview) packages
-    mavenRepo name: "Apache Staging", url: "https://repository.apache.org/content/groups/staging"
-}
-*/
-
-// This simulates Maven's "provided" scope, until it is officially supported by Gradle
-// See http://jira.codehaus.org/browse/GRADLE-784
-
 configurations {
     provided
 }
@@ -52,10 +45,10 @@
 
 dependencies {
 
-    groovy 'org.codehaus.groovy:groovy-all:2.0.1'
-    compile "org.apache.tapestry:tapestry-core:5.3.6"
+    compile 'org.codehaus.groovy:groovy-all:2.4.5'
+    compile "org.apache.tapestry:tapestry-core:5.3.8"
     compile(group: 'me.davesmith', name: 'tapestry-bootstrap', version: '2.1-SNAPSHOT')
-    compile group: 'org.got5', name: 'tapestry5-jquery', version: '3.2.0'
+    compile group: 'org.got5', name: 'tapestry5-jquery', version: '3.3.6'
     compile "org.apache.tapestry:tapestry-yuicompressor:5.3.6"
 
     // Uncomment this to add support for file uploads:
@@ -84,3 +77,53 @@
     webAppSourceDirectory = file("src/main/webapp")
     httpPort = 8086
 }
+
+
+docker {
+    if (System.env.DOCKER_HOST) {
+        url = "https:${System.env.DOCKER_HOST?.minus('tcp:')}"
+    }
+    if (System.env.DOCKER_CERT_PATH) {
+        certPath = new File("$System.env.DOCKER_CERT_PATH")
+    }
+}
+
+
+war {
+    archiveName 'ssdtforms.war'
+}
+
+task createDockerfile(type: Dockerfile) {
+    group = "Docker"
+    destFile = project.file('build/docker/Dockerfile')
+    from 'docker.ssdt.io/ssdt-tomcat:3'
+    maintainer 'Dave Smith <smith@nwoca.org>'
+    label {
+        [
+                'io.ssdt.version'     : version,
+                'io.ssdt.id'          : "${project.name}",
+                'io.ssdt.type'        : "webapp",
+                'io.ssdt.app'         : "ssdtforms",
+                'io.ssdt.build.date'  : Instant.now().toString(),
+        ]
+    }
+    copyFile("ssdtforms.war", '/usr/local/tomcat/webapps/ROOT.war')
+}
+
+
+task prepareDockerImage(type: Copy) {
+    group = "Docker"
+    dependsOn war
+    dependsOn createDockerfile
+    from war.getArchivePath()
+    into project.file('build/docker')
+}
+
+task buildDockerImage(type: DockerBuildImage) {
+    group = "Docker"
+    dependsOn prepareDockerImage
+    inputDir = createDockerfile.destFile.parentFile
+    tag = "ssdtforms:latest"
+}
+
+