Revision: 19097
          http://sourceforge.net/p/gate/code/19097
Author:   ian_roberts
Date:     2016-02-02 17:52:17 +0000 (Tue, 02 Feb 2016)
Log Message:
-----------
Upgraded to Grails 2.5.3, as Grails 2.2.x will not start up when run on Java 8. 
 I still intend to build Mimir on Java 7 for the moment, but at least it will 
now be possible to run it on 8.

Note that this changes the build process a bit, as Grails 2.5 dependency 
resolver didn't want to play nicely with dumping JAR files in mimir-web/lib, so 
I've made Ivy create POM files for mimir-core and mimir-client and install the 
built JAR files into ~/.m2/repository.  This tidies up the Grails-side 
BuildConfig considerably as we don't need to duplicate the Ivy dependencies in 
there - it picks them all up automatically as transitive deps of mimir-core.

Modified Paths:
--------------
    mimir/trunk/mimir-client/build.xml
    mimir/trunk/mimir-cloud/application.properties
    mimir/trunk/mimir-cloud/grails-app/conf/BootStrap.groovy
    mimir/trunk/mimir-cloud/grails-app/conf/BuildConfig.groovy.template
    mimir/trunk/mimir-cloud/grails-app/conf/Config.groovy
    
mimir/trunk/mimir-cloud/grails-app/controllers/gate/mimir/cloud/IndexDownloadController.groovy
    
mimir/trunk/mimir-cloud/grails-app/services/gate/mimir/cloud/IndexArchiveService.groovy
    mimir/trunk/mimir-cloud/grails-app/views/login/auth.gsp
    mimir/trunk/mimir-cloud/grails-app/views/login/denied.gsp
    mimir/trunk/mimir-cloud/web-app/WEB-INF/applicationContext.xml
    mimir/trunk/mimir-cloud/web-app/WEB-INF/tld/spring.tld
    mimir/trunk/mimir-core/build/ivy.xml
    mimir/trunk/mimir-core/build/ivysettings.xml
    mimir/trunk/mimir-core/build.xml
    mimir/trunk/mimir-web/application.properties
    mimir/trunk/mimir-web/grails-app/conf/BuildConfig.groovy.template
    mimir/trunk/mimir-web/grails-app/views/search/index.gsp

Added Paths:
-----------
    mimir/trunk/mimir-client/build/
    mimir/trunk/mimir-client/build/ivy.xml
    mimir/trunk/mimir-client/build/ivysettings.xml

Removed Paths:
-------------
    mimir/trunk/mimir-cloud/grails-app/controllers/gate/mimir/security/

Property Changed:
----------------
    mimir/trunk/mimir-client/
    mimir/trunk/mimir-core/

Index: mimir/trunk/mimir-client
===================================================================
--- mimir/trunk/mimir-client    2016-02-02 02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-client    2016-02-02 17:52:17 UTC (rev 19097)

Property changes on: mimir/trunk/mimir-client
___________________________________________________________________
Modified: svn:ignore
## -1,4 +1,5 ##
 mimir-client-*.jar
+mimir-client-*.pom
 classes
 creole.xml
 .settings
Added: mimir/trunk/mimir-client/build/ivy.xml
===================================================================
--- mimir/trunk/mimir-client/build/ivy.xml                              (rev 0)
+++ mimir/trunk/mimir-client/build/ivy.xml      2016-02-02 17:52:17 UTC (rev 
19097)
@@ -0,0 +1,22 @@
+<ivy-module version="2.0">
+
+  <info
+    organisation="uk.ac.gate"
+    module="mimir-client"
+    revision="5.2-SNAPSHOT">
+    <description homepage="http://gate.ac.uk/mimir"; />
+  </info>
+
+  <configurations>
+    <conf name="default" />
+  </configurations>
+
+  <publications>
+    <artifact type="pom" ext="pom" conf="default" />
+    <artifact type="jar" ext="jar" conf="default" />
+  </publications>
+
+  <dependencies defaultconf="*->master(default),runtime(default)" >
+    <dependency name="mimir-core" org="uk.ac.gate" rev="5.2-SNAPSHOT" />
+  </dependencies>
+</ivy-module>

Added: mimir/trunk/mimir-client/build/ivysettings.xml
===================================================================
--- mimir/trunk/mimir-client/build/ivysettings.xml                              
(rev 0)
+++ mimir/trunk/mimir-client/build/ivysettings.xml      2016-02-02 17:52:17 UTC 
(rev 19097)
@@ -0,0 +1,18 @@
+<ivysettings>
+  <settings defaultResolver="default"/>
+  <resolvers>
+    <!-- publish-only resolver for pushing built JAR to ~/.m2 -->
+    <filesystem name="local-m2-publish" m2compatible="true">
+      <artifact 
pattern="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
+    </filesystem>
+
+    <!-- Resolver that will actually be used to retrieve things -->
+    <chain name="default" returnFirst="true">
+      <ibiblio name="maven-central" m2compatible="true" />
+      <ibiblio name="gate.ac.uk" m2compatible="true" 
+        root="http://repo.gate.ac.uk/content/groups/public/"; />
+      <ibiblio name="local-m2-resolve" m2compatible="true"
+        root="file://${user.home}/.m2/repository" changingPattern=".*SNAPSHOT" 
/>
+    </chain>
+  </resolvers>
+</ivysettings>

Modified: mimir/trunk/mimir-client/build.xml
===================================================================
--- mimir/trunk/mimir-client/build.xml  2016-02-02 02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-client/build.xml  2016-02-02 17:52:17 UTC (rev 19097)
@@ -9,14 +9,16 @@
        
   <property name="core-home" location="../${mimir-core.dirname}"/>
   <!-- Load Ivy support -->
-  <property name="build.dir" location="${core-home}/build" />
+  <property name="core.build.dir" location="${core-home}/build" />
   <path id="ivy.lib.path">
-      <fileset dir="${build.dir}" includes="*.jar"/>
+      <fileset dir="${core.build.dir}" includes="*.jar"/>
   </path>
   
   <taskdef resource="org/apache/ivy/ant/antlib.xml"
            uri="antlib:org.apache.ivy.ant"
            classpathref="ivy.lib.path"/>  
+
+  <property name="build.dir" location="build" />
   
   <target name="depend">
     <ivy:configure file="${build.dir}/ivysettings.xml"/>
@@ -24,13 +26,6 @@
     <ivy:cachepath pathid="ivylibs"/>
   </target>
     
-  
-  <path id="corelibs">
-    <fileset dir="${core-home}/lib" includes="**/*.jar" />
-    <fileset dir="${core-home}" includes="mimir-core-${app.version}.jar" />
-    <path refid="ivylibs" />
-  </path>
-  
   <property name="classes.dir" location="classes" />
   <property name="src.dir" location="src" />
   <property name="doc.dir" location="doc" />
@@ -39,9 +34,10 @@
        
   <property name="jar.name" value="${app.name}-${app.version}.jar" />
   <property name="jar.file" location="${jar.name}" />  
+  <property name="pom.file" location="${app.name}-${app.version}.pom" />
        
   <path id="compile.classpath">
-    <path refid="corelibs" />
+    <path refid="ivylibs" />
   </path>
 
   <target name="clean">
@@ -101,8 +97,13 @@
   </target>
 
   <target name="publish" depends="jar, creole.xml">
-    <copy todir="${grails-plugin.dir}/lib" flatten="true">
+    <ivy:makepom ivyfile="${build.dir}/ivy.xml" pomfile="${pom.file}">
+      <mapping conf="*" scope="compile"/>
+    </ivy:makepom>
+    <ivy:publish resolver="local-m2-publish" forcedeliver="true" 
overwrite="true" publishivy="false"
+          artifactspattern="[artifact]-[revision].[ext]"/>
+    <!--<copy todir="${grails-plugin.dir}/lib" flatten="true">
       <fileset file="${jar.file}" />
-    </copy>
+    </copy>-->
   </target>
 </project>

Modified: mimir/trunk/mimir-cloud/application.properties
===================================================================
--- mimir/trunk/mimir-cloud/application.properties      2016-02-02 02:22:07 UTC 
(rev 19096)
+++ mimir/trunk/mimir-cloud/application.properties      2016-02-02 17:52:17 UTC 
(rev 19097)
@@ -1,5 +1,5 @@
 #Grails Metadata file
 #Tue Jun 10 18:19:37 BST 2014
-app.grails.version=2.2.3
+app.grails.version=2.5.3
 app.name=mimir-cloud
 app.version=5.2-SNAPSHOT

Modified: mimir/trunk/mimir-cloud/grails-app/conf/BootStrap.groovy
===================================================================
--- mimir/trunk/mimir-cloud/grails-app/conf/BootStrap.groovy    2016-02-02 
02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-cloud/grails-app/conf/BootStrap.groovy    2016-02-02 
17:52:17 UTC (rev 19097)
@@ -10,7 +10,6 @@
  *
  *  $Id$
  */
-import org.codehaus.groovy.grails.commons.ConfigurationHolder;
 
 import gate.mimir.security.Requestmap;
 import gate.mimir.security.Role;
@@ -31,7 +30,7 @@
         passwordExpired:false).save(failOnError:true, flush:true)
     if(adminUser.password == 'not set') {
       // admin user has no password set
-      String defaultPass = 
ConfigurationHolder.config.gate.mimir.defaultAdminPassword
+      String defaultPass = Holders.config.gate.mimir.defaultAdminPassword
       if(defaultPass != 'not set') {
         // a default admin password was provided via external config
         adminUser.password = springSecurityService.encodePassword(defaultPass)

Modified: mimir/trunk/mimir-cloud/grails-app/conf/BuildConfig.groovy.template
===================================================================
--- mimir/trunk/mimir-cloud/grails-app/conf/BuildConfig.groovy.template 
2016-02-02 02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-cloud/grails-app/conf/BuildConfig.groovy.template 
2016-02-02 17:52:17 UTC (rev 19097)
@@ -2,10 +2,11 @@
 grails.project.class.dir = "target/classes"
 grails.project.test.class.dir = "target/test-classes"
 grails.project.test.reports.dir = "target/test-reports"
-grails.project.target.level = 1.6
-grails.project.source.level = 1.6
+grails.project.target.level = 1.7
+grails.project.source.level = 1.7
 //grails.project.war.file = "target/${appName}-${appVersion}.war"
 
+grails.project.dependency.resolver = "maven"
 grails.project.dependency.resolution = {
     // inherit Grails' default dependencies
     inherits("global") {
@@ -22,9 +23,10 @@
         grailsHome()
         grailsCentral()
 
+        mavenRepo 'http://repo.gate.ac.uk/content/groups/public/'
         mavenLocal()
         mavenCentral()
-        mavenRepo('https://repo.grails.org/grails/plugins')
+        //mavenRepo('https://repo.grails.org/grails/plugins')
 
         // uncomment these (or add new ones) to enable remote dependency 
resolution from public Maven repositories
         //mavenRepo "http://snapshots.repository.codehaus.org";
@@ -37,21 +39,15 @@
         // runtime 'mysql:mysql-connector-java:5.1.20'
       compile 'org.apache.commons:commons-compress:1.1'
       runtime 'org.hsqldb:hsqldb:2.2.9'
-      // bring the correct library version for groovy 2
-      test "org.spockframework:spock-grails-support:0.7-groovy-2.0"
     }
 
     plugins {
-        runtime ":hibernate:$grailsVersion"
-        runtime ":jquery:1.8.0"
-        runtime ":resources:1.2.RC2"
-        build ":tomcat:$grailsVersion"
-        compile ":background-thread:1.6"
-        compile ":spring-security-core:1.2.7.3"
-        test(":spock:0.7") {
-          // exclude default dependency, as that's unsuitable for groovy 2
-          exclude "spock-grails-support"
-        }
+        runtime ":hibernate:3.6.10.18"
+        runtime ":jquery:1.11.1"
+        runtime ":resources:1.2.14"
+        build ":tomcat:7.0.55.3"
+        compile ":spring-security-core:2.0.0"
+        compile ":executor:0.3"
     }
 }
 

Modified: mimir/trunk/mimir-cloud/grails-app/conf/Config.groovy
===================================================================
--- mimir/trunk/mimir-cloud/grails-app/conf/Config.groovy       2016-02-02 
02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-cloud/grails-app/conf/Config.groovy       2016-02-02 
17:52:17 UTC (rev 19097)
@@ -1,4 +1,4 @@
-import grails.plugins.springsecurity.SecurityConfigType;
+import grails.plugin.springsecurity.SecurityConfigType;
 
 // locations to search for config files that get merged into the main config
 // config files can either be Java properties files or ConfigSlurper scripts
@@ -25,12 +25,14 @@
   /**
    * Grails Security config
    */
-  plugins{
+  plugin{
     springsecurity {
       userLookup.userDomainClassName = 'gate.mimir.security.User'
       userLookup.authorityJoinClassName = 'gate.mimir.security.UserRole'
       authority.className = 'gate.mimir.security.Role'
+      // backwards compatibility with existing databases
       password.algorithm='SHA-256'
+      password.hash.iterations = 1
       requestMap.className = 'gate.mimir.security.Requestmap'
       requestMap.urlField = 'url'
       requestMap.configAttributeField = 'configAttribute'

Modified: 
mimir/trunk/mimir-cloud/grails-app/controllers/gate/mimir/cloud/IndexDownloadController.groovy
===================================================================
--- 
mimir/trunk/mimir-cloud/grails-app/controllers/gate/mimir/cloud/IndexDownloadController.groovy
      2016-02-02 02:22:07 UTC (rev 19096)
+++ 
mimir/trunk/mimir-cloud/grails-app/controllers/gate/mimir/cloud/IndexDownloadController.groovy
      2016-02-02 17:52:17 UTC (rev 19097)
@@ -14,8 +14,6 @@
 
 import javax.servlet.http.HttpServletResponse;
 
-import org.codehaus.groovy.grails.commons.ConfigurationHolder;
-
 import gate.mimir.util.IndexArchiveState;
 import gate.mimir.web.LocalIndex;
 

Modified: 
mimir/trunk/mimir-cloud/grails-app/services/gate/mimir/cloud/IndexArchiveService.groovy
===================================================================
--- 
mimir/trunk/mimir-cloud/grails-app/services/gate/mimir/cloud/IndexArchiveService.groovy
     2016-02-02 02:22:07 UTC (rev 19096)
+++ 
mimir/trunk/mimir-cloud/grails-app/services/gate/mimir/cloud/IndexArchiveService.groovy
     2016-02-02 17:52:17 UTC (rev 19097)
@@ -20,8 +20,7 @@
 import java.util.zip.ZipOutputStream;
 
 import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
-import org.codehaus.groovy.grails.commons.ApplicationHolder;
-import org.codehaus.groovy.grails.commons.ConfigurationHolder;
+import grails.util.Holders;
 
 import gate.mimir.util.IndexArchiveState;
 import gate.mimir.util.MultiFileOutputStream;
@@ -30,15 +29,15 @@
 
 class IndexArchiveService {
 
-  def servletContext = 
ApplicationHolder.application.parentContext.servletContext
+  def servletContext = Holders.grailsApplication.parentContext.servletContext
   
-  def backgroundService
+  def executorService
 
   def localIndexService
   
   static transactional = true
 
-  def config = ConfigurationHolder.config
+  def config = Holders.config
   
   public IndexArchive getIndexArchive(LocalIndex theIndex) {
     IndexArchive indexArchive = IndexArchive.findByTheIndex(theIndex)
@@ -69,9 +68,9 @@
     }
     if(indexArchive.state != IndexArchiveState.AVAILABLE) {
       // we need to re create the index archive
-      backgroundService.execute("Building local index archive") {
+      executorService.execute({
         packageIndex(indexArchive)
-      }
+      } as Runnable)
     }
     return indexArchive
   }
@@ -82,11 +81,11 @@
       // delete the old files
       if(indexArchive.localDownloadDir) {
         File arcDir = new File(indexArchive.localDownloadDir)
-        backgroundService.execute("Delete old archive files") {
+        executorService.execute({
           if(arcDir.exists() && arcDir.isDirectory() && arcDir.canWrite()) {
             arcDir.deleteDir()
           }
-        }
+        } as Runnable)
       }
       indexArchive.delete(flush:true, failOnError:true)
     }

Modified: mimir/trunk/mimir-cloud/grails-app/views/login/auth.gsp
===================================================================
--- mimir/trunk/mimir-cloud/grails-app/views/login/auth.gsp     2016-02-02 
02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-cloud/grails-app/views/login/auth.gsp     2016-02-02 
17:52:17 UTC (rev 19097)
@@ -1,79 +1,124 @@
+<html>
 <head>
-<meta name='layout' content='mimir' />
-<title>Login</title>
-<style type='text/css' media='screen'>
-#login {
-       margin:15px 0px; padding:0px;
-       text-align:center;
-}
-#login .inner {
-       width:260px;
-       margin:0px auto;
-       text-align:left;
-       padding:10px;
-       border-top:1px dashed #499ede;
-       border-bottom:1px dashed #499ede;
-       background-color:#EEF;
-}
-#login .inner .fheader {
-       padding:4px;margin:3px 0px 3px 
0;color:#2e3741;font-size:14px;font-weight:bold;
-}
-#login .inner .cssform p {
-       clear: left;
-       margin: 0;
-       padding: 5px 0 8px 0;
-       padding-left: 105px;
-       border-top: 1px dashed gray;
-       margin-bottom: 10px;
-       height: 1%;
-}
-#login .inner .cssform input[type='text'] {
-       width: 120px;
-}
-#login .inner .cssform label {
-       font-weight: bold;
-       float: left;
-       margin-left: -105px;
-       width: 100px;
-}
-#login .inner .login_message {color:red;}
-#login .inner .text_ {width:120px;}
-#login .inner .chk {height:12px;}
-</style>
+       <meta name='layout' content='mimir'/>
+       <title><g:message code="springSecurity.login.title"/></title>
+       <style type='text/css' media='screen'>
+       #login {
+               margin: 15px 0px;
+               padding: 0px;
+               text-align: center;
+       }
+
+       #login .inner {
+               width: 340px;
+               padding-bottom: 6px;
+               margin: 60px auto;
+               text-align: left;
+               border: 1px solid #aab;
+               background-color: #f0f0fa;
+               -moz-box-shadow: 2px 2px 2px #eee;
+               -webkit-box-shadow: 2px 2px 2px #eee;
+               -khtml-box-shadow: 2px 2px 2px #eee;
+               box-shadow: 2px 2px 2px #eee;
+       }
+
+       #login .inner .fheader {
+               padding: 18px 26px 14px 26px;
+               background-color: #f7f7ff;
+               margin: 0px 0 14px 0;
+               color: #2e3741;
+               font-size: 18px;
+               font-weight: bold;
+       }
+
+       #login .inner .cssform p {
+               clear: left;
+               margin: 0;
+               padding: 4px 0 3px 0;
+               padding-left: 105px;
+               margin-bottom: 20px;
+               height: 1%;
+       }
+
+       #login .inner .cssform input[type='text'] {
+               width: 120px;
+       }
+
+       #login .inner .cssform label {
+               font-weight: bold;
+               float: left;
+               text-align: right;
+               margin-left: -105px;
+               width: 110px;
+               padding-top: 3px;
+               padding-right: 10px;
+       }
+
+       #login #remember_me_holder {
+               padding-left: 120px;
+       }
+
+       #login #submit {
+               margin-left: 15px;
+       }
+
+       #login #remember_me_holder label {
+               float: none;
+               margin-left: 0;
+               text-align: left;
+               width: 200px
+       }
+
+       #login .inner .login_message {
+               padding: 6px 25px 20px 25px;
+               color: #c33;
+       }
+
+       #login .inner .text_ {
+               width: 120px;
+       }
+
+       #login .inner .chk {
+               height: 12px;
+       }
+       </style>
 </head>
 
 <body>
-       <div id='login'>
-               <div class='inner'>
-                       <g:if test='${flash.message}'>
+<div id='login'>
+       <div class='inner'>
+               <div class='fheader'><g:message 
code="springSecurity.login.header"/></div>
+
+               <g:if test='${flash.message}'>
                        <div class='login_message'>${flash.message}</div>
-                       </g:if>
-                       <div class='fheader'>Please Login..</div>
-                       <form action='${postUrl}' method='POST' id='loginForm' 
class='cssform'>
-                               <p>
-                                       <label for='username'>Login ID</label>
-                                       <input type='text' class='text_' 
name='j_username' id='username' />
-                               </p>
-                               <p>
-                                       <label for='password'>Password</label>
-                                       <input type='password' class='text_' 
name='j_password' id='password' />
-                               </p>
-                               <p>
-                                       <label for='remember_me'>Remember 
me</label>
-                                       <input type='checkbox' class='chk' 
name='${rememberMeParameter}' id='remember_me'
-                                       <g:if 
test='${hasCookie}'>checked='checked'</g:if> />
-                               </p>
-                               <p>
-                                       <input type='submit' value='Login' />
-                               </p>
-                       </form>
-               </div>
+               </g:if>
+
+               <form action='${postUrl}' method='POST' id='loginForm' 
class='cssform' autocomplete='off'>
+                       <p>
+                               <label for='username'><g:message 
code="springSecurity.login.username.label"/>:</label>
+                               <input type='text' class='text_' 
name='j_username' id='username'/>
+                       </p>
+
+                       <p>
+                               <label for='password'><g:message 
code="springSecurity.login.password.label"/>:</label>
+                               <input type='password' class='text_' 
name='j_password' id='password'/>
+                       </p>
+
+                       <p id="remember_me_holder">
+                               <input type='checkbox' class='chk' 
name='${rememberMeParameter}' id='remember_me' <g:if 
test='${hasCookie}'>checked='checked'</g:if>/>
+                               <label for='remember_me'><g:message 
code="springSecurity.login.remember.me.label"/></label>
+                       </p>
+
+                       <p>
+                               <input type='submit' id="submit" 
value='${message(code: "springSecurity.login.button")}'/>
+                       </p>
+               </form>
        </div>
+</div>
 <script type='text/javascript'>
-<!--
-(function(){
+(function() {
        document.forms['loginForm'].elements['j_username'].focus();
 })();
-// -->
 </script>
 </body>
+</html>

Modified: mimir/trunk/mimir-cloud/grails-app/views/login/denied.gsp
===================================================================
--- mimir/trunk/mimir-cloud/grails-app/views/login/denied.gsp   2016-02-02 
02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-cloud/grails-app/views/login/denied.gsp   2016-02-02 
17:52:17 UTC (rev 19097)
@@ -1,10 +1,10 @@
 <head>
 <meta name='layout' content='mimir' />
-<title>Denied</title>
+<title><g:message code="springSecurity.denied.title" /></title>
 </head>
 
 <body>
 <div class='body'>
-       <div class='errors'>Sorry, you're not authorized to view this 
page.</div>
+       <div class='errors'><g:message code="springSecurity.denied.message" 
/></div>
 </div>
 </body>

Modified: mimir/trunk/mimir-cloud/web-app/WEB-INF/applicationContext.xml
===================================================================
--- mimir/trunk/mimir-cloud/web-app/WEB-INF/applicationContext.xml      
2016-02-02 02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-cloud/web-app/WEB-INF/applicationContext.xml      
2016-02-02 17:52:17 UTC (rev 19097)
@@ -1,13 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans";
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-       xsi:schemaLocation="
-http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd";>
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd";>
 
        <bean id="grailsApplication" 
class="org.codehaus.groovy.grails.commons.GrailsApplicationFactoryBean">
                <description>Grails application factory bean</description>
                <property name="grailsDescriptor" value="/WEB-INF/grails.xml" />
-               <property name="grailsResourceLoader" 
ref="grailsResourceLoader" />
        </bean>
 
        <bean id="pluginManager" 
class="org.codehaus.groovy.grails.plugins.GrailsPluginManagerFactoryBean">
@@ -23,11 +21,11 @@
                <property name="pluginManager" ref="pluginManager" />
        </bean>
 
-       <bean id="grailsResourceLoader" 
class="org.codehaus.groovy.grails.commons.GrailsResourceLoaderFactoryBean" />
-
        <bean id="characterEncodingFilter" 
class="org.springframework.web.filter.CharacterEncodingFilter">
                <property name="encoding">
                        <value>utf-8</value>
                </property>
        </bean>
+
+       <bean id="conversionService" 
class="org.springframework.context.support.ConversionServiceFactoryBean" />
 </beans>
\ No newline at end of file

Modified: mimir/trunk/mimir-cloud/web-app/WEB-INF/tld/spring.tld
===================================================================
--- mimir/trunk/mimir-cloud/web-app/WEB-INF/tld/spring.tld      2016-02-02 
02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-cloud/web-app/WEB-INF/tld/spring.tld      2016-02-02 
17:52:17 UTC (rev 19097)
@@ -1,311 +1,457 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 
1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd";>
+<?xml version="1.0" encoding="UTF-8"?>
+<taglib xmlns="http://java.sun.com/xml/ns/j2ee";
+               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+               xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd";
+               version="2.0">
 
-<taglib>
-
-       <tlib-version>1.1.1</tlib-version>
-
-       <jsp-version>1.2</jsp-version>
-
-       <short-name>Spring</short-name>
-
+       <description>Spring Framework JSP Tag Library</description>
+       <tlib-version>3.0</tlib-version>
+       <short-name>spring</short-name>
        <uri>http://www.springframework.org/tags</uri>
 
-       <description>Spring Framework JSP Tag Library. Authors: Rod Johnson, 
Juergen Hoeller</description>
-
-
        <tag>
-
-               <name>htmlEscape</name>
-               
<tag-class>org.springframework.web.servlet.tags.HtmlEscapeTag</tag-class>
-               <body-content>JSP</body-content>
-
                <description>
                        Sets default HTML escape value for the current page.
                        Overrides a "defaultHtmlEscape" context-param in 
web.xml, if any.
                </description>
-
+               <name>htmlEscape</name>
+               
<tag-class>org.springframework.web.servlet.tags.HtmlEscapeTag</tag-class>
+               <body-content>JSP</body-content>
                <attribute>
+                       <description>Set the default value for HTML escaping, 
to be put
+                               into the current PageContext.</description>
                        <name>defaultHtmlEscape</name>
                        <required>true</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
        </tag>
 
-
        <tag>
-
-               <name>escapeBody</name>
-               
<tag-class>org.springframework.web.servlet.tags.EscapeBodyTag</tag-class>
-               <body-content>JSP</body-content>
-
                <description>
                        Escapes its enclosed body content, applying HTML 
escaping and/or JavaScript escaping.
                        The HTML escaping flag participates in a page-wide or 
application-wide setting
                        (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" 
context-param in web.xml).
                </description>
-
+               <name>escapeBody</name>
+               
<tag-class>org.springframework.web.servlet.tags.EscapeBodyTag</tag-class>
+               <body-content>JSP</body-content>
                <attribute>
+                       <description>Set HTML escaping for this tag, as boolean 
value. Overrides the
+                       default HTML escaping setting for the current 
page.</description>
                        <name>htmlEscape</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>Set JavaScript escaping for this tag, as 
boolean value.
+                       Default is false.</description>
                        <name>javaScriptEscape</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
        </tag>
 
-
        <tag>
-
-               <name>message</name>
-               
<tag-class>org.springframework.web.servlet.tags.MessageTag</tag-class>
-               <body-content>JSP</body-content>
-
                <description>
                        Retrieves the message with the given code, or text if 
code isn't resolvable.
                        The HTML escaping flag participates in a page-wide or 
application-wide setting
                        (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" 
context-param in web.xml).
                </description>
-
+               <name>message</name>
+               
<tag-class>org.springframework.web.servlet.tags.MessageTag</tag-class>
+               <body-content>JSP</body-content>
                <attribute>
+                       <description>A MessageSourceResolvable argument (direct 
or through JSP EL).
+                               Fits nicely when used in conjunction with 
Spring's own validation error
+                               classes which all implement the 
MessageSourceResolvable interface. For
+                               example, this allows you to iterate over all of 
the errors in a form,
+                               passing each error (using a runtime expression) 
as the value of this
+                               'message' attribute, thus effecting the easy 
display of such error
+                               messages.</description>
+                       <name>message</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>The code (key) to use when looking up the 
message.
+                       If code is not provided, the text attribute will be 
used.</description>
                        <name>code</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>Set optional message arguments for this 
tag, as a
+                       (comma-)delimited String (each String argument can 
contain JSP EL),
+                       an Object array (used as argument array), or a single 
Object (used
+                       as single argument).</description>
                        <name>arguments</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>The separator character to be used for 
splitting the
+                       arguments string value; defaults to a 'comma' 
(',').</description>
+                       <name>argumentSeparator</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>Default text to output when a message for 
the given code
+                       could not be found. If both text and code are not set, 
the tag will
+                       output null.</description>
                        <name>text</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>The string to use when binding the result 
to the page,
+                       request, session or application scope. If not 
specified, the result
+                       gets outputted to the writer (i.e. typically directly 
to the JSP).</description>
                        <name>var</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>The scope to use when exporting the result 
to a variable.
+                       This attribute is only used when var is also set. 
Possible values are
+                       page, request, session and application.</description>
                        <name>scope</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>Set HTML escaping for this tag, as boolean 
value.
+                       Overrides the default HTML escaping setting for the 
current page.</description>
                        <name>htmlEscape</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>Set JavaScript escaping for this tag, as 
boolean value. Default is false.</description>
                        <name>javaScriptEscape</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
        </tag>
 
-
        <tag>
-
-               <name>theme</name>
-               
<tag-class>org.springframework.web.servlet.tags.ThemeTag</tag-class>
-               <body-content>JSP</body-content>
-
                <description>
                        Retrieves the theme message with the given code, or 
text if code isn't resolvable.
                        The HTML escaping flag participates in a page-wide or 
application-wide setting
                        (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" 
context-param in web.xml).
                </description>
-
+               <name>theme</name>
+               
<tag-class>org.springframework.web.servlet.tags.ThemeTag</tag-class>
+               <body-content>JSP</body-content>
                <attribute>
+                       <description>A MessageSourceResolvable argument (direct 
or through JSP EL).</description>
+                       <name>message</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>The code (key) to use when looking up the 
message.
+                       If code is not provided, the text attribute will be 
used.</description>
                        <name>code</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>Set optional message arguments for this 
tag, as a
+                       (comma-)delimited String (each String argument can 
contain JSP EL),
+                       an Object array (used as argument array), or a single 
Object (used
+                       as single argument).</description>
                        <name>arguments</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>The separator character to be used for 
splitting the
+                       arguments string value; defaults to a 'comma' 
(',').</description>
+                       <name>argumentSeparator</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>Default text to output when a message for 
the given code
+                       could not be found. If both text and code are not set, 
the tag will
+                       output null.</description>
                        <name>text</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>The string to use when binding the result 
to the page,
+                       request, session or application scope. If not 
specified, the result
+                       gets outputted to the writer (i.e. typically directly 
to the JSP).</description>
                        <name>var</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>The scope to use when exporting the result 
to a variable.
+                       This attribute is only used when var is also set. 
Possible values are
+                       page, request, session and application.</description>
                        <name>scope</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>Set HTML escaping for this tag, as boolean 
value.
+                       Overrides the default HTML escaping setting for the 
current page.</description>
                        <name>htmlEscape</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>Set JavaScript escaping for this tag, as 
boolean value. Default is false.</description>
                        <name>javaScriptEscape</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
        </tag>
 
-
        <tag>
-
-               <name>hasBindErrors</name>
-               
<tag-class>org.springframework.web.servlet.tags.BindErrorsTag</tag-class>
-               <body-content>JSP</body-content>
-
                <description>
                        Provides Errors instance in case of bind errors.
                        The HTML escaping flag participates in a page-wide or 
application-wide setting
                        (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" 
context-param in web.xml).
                </description>
-
+               <name>hasBindErrors</name>
+               
<tag-class>org.springframework.web.servlet.tags.BindErrorsTag</tag-class>
+               <body-content>JSP</body-content>
                <variable>
                        <name-given>errors</name-given>
                        
<variable-class>org.springframework.validation.Errors</variable-class>
                </variable>
-
                <attribute>
+                       <description>The name of the bean in the request, that 
needs to be
+                       inspected for errors. If errors are available for this 
bean, they
+                       will be bound under the 'errors' key.</description>
                        <name>name</name>
                        <required>true</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>Set HTML escaping for this tag, as boolean 
value.
+                       Overrides the default HTML escaping setting for the 
current page.</description>
                        <name>htmlEscape</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
        </tag>
 
-
        <tag>
-
+               <description>
+                       Sets a nested path to be used by the bind tag's path.
+               </description>
                <name>nestedPath</name>
                
<tag-class>org.springframework.web.servlet.tags.NestedPathTag</tag-class>
                <body-content>JSP</body-content>
-
-               <description>
-                       Sets a nested path to be used by the bind tag's path.
-               </description>
-
                <variable>
                        <name-given>nestedPath</name-given>
                        <variable-class>java.lang.String</variable-class>
                </variable>
-
                <attribute>
+                       <description>Set the path that this tag should apply. 
E.g. 'customer'
+                       to allow bind paths like 'address.street' rather than
+                       'customer.address.street'.</description>
                        <name>path</name>
                        <required>true</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
        </tag>
 
-
        <tag>
-
-               <name>bind</name>
-               
<tag-class>org.springframework.web.servlet.tags.BindTag</tag-class>
-               <body-content>JSP</body-content>
-
                <description>
                        Provides BindStatus object for the given bind path.
                        The HTML escaping flag participates in a page-wide or 
application-wide setting
                        (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" 
context-param in web.xml).
                </description>
-
+               <name>bind</name>
+               
<tag-class>org.springframework.web.servlet.tags.BindTag</tag-class>
+               <body-content>JSP</body-content>
                <variable>
                        <name-given>status</name-given>
                        
<variable-class>org.springframework.web.servlet.support.BindStatus</variable-class>
                </variable>
-
                <attribute>
+                       <description>The path to the bean or bean property to 
bind status
+                       information for. For instance account.name, 
company.address.zipCode
+                       or just employee. The status object will exported to 
the page scope,
+                       specifically for this bean or bean 
property</description>
                        <name>path</name>
                        <required>true</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>Set whether to ignore a nested path, if 
any. Default is to not ignore.</description>
                        <name>ignoreNestedPath</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>Set HTML escaping for this tag, as boolean 
value. Overrides
+                       the default HTML escaping setting for the current 
page.</description>
                        <name>htmlEscape</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
        </tag>
 
-
        <tag>
-
-               <name>transform</name>
-               
<tag-class>org.springframework.web.servlet.tags.TransformTag</tag-class>
-               <body-content>JSP</body-content>
-
                <description>
                        Provides transformation of variables to Strings, using 
an appropriate
                        custom PropertyEditor from BindTag (can only be used 
inside BindTag).
                        The HTML escaping flag participates in a page-wide or 
application-wide setting
-                       (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" 
context-param in web.xml).
+                       (i.e. by HtmlEscapeTag or a 'defaultHtmlEscape' 
context-param in web.xml).
                </description>
-
+               <name>transform</name>
+               
<tag-class>org.springframework.web.servlet.tags.TransformTag</tag-class>
+               <body-content>JSP</body-content>
                <attribute>
+                       <description>The value to transform. This is the actual 
object you want
+                       to have transformed (for instance a Date). Using the 
PropertyEditor that
+                       is currently in use by the 'spring:bind' 
tag.</description>
                        <name>value</name>
                        <required>true</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>The string to use when binding the result 
to the page,
+                       request, session or application scope. If not 
specified, the result gets
+                       outputted to the writer (i.e. typically directly to the 
JSP).</description>
                        <name>var</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
-
                <attribute>
+                       <description>The scope to use when exported the result 
to a variable.
+                       This attribute is only used when var is also set. 
Possible values are
+                       page, request, session and application.</description>
                        <name>scope</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
+               <attribute>
+                       <description>Set HTML escaping for this tag, as boolean 
value. Overrides
+                       the default HTML escaping setting for the current 
page.</description>
+                       <name>htmlEscape</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+       </tag>
 
+       <tag>
+               <description>URL tag based on the JSTL c:url tag.  This variant 
is fully 
+               backwards compatible with the standard tag.  Enhancements 
include support 
+               for URL template parameters.</description>
+               <name>url</name>
+               
<tag-class>org.springframework.web.servlet.tags.UrlTag</tag-class>
+               <body-content>JSP</body-content>
                <attribute>
+                       <description>The URL to build.  This value can include 
template place holders 
+                       that are replaced with the URL encoded value of the 
named parameter.  Parameters 
+                       must be defined using the param tag inside the body of 
this tag.</description>
+                       <name>value</name>
+                       <required>true</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>Specifies a remote application context 
path.  The default is the 
+                       current application context path.</description>
+                       <name>context</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>The name of the variable to export the URL 
value to.</description>
+                       <name>var</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>The scope for the var.  'application', 
'session', 'request' and 
+                       'page' scopes are supported.  Defaults to page scope.  
This attribute has no 
+                       effect unless the var attribute is also 
defined.</description>
+                       <name>scope</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>Set HTML escaping for this tag, as a 
boolean value. Overrides the
+                       default HTML escaping setting for the current 
page.</description>
                        <name>htmlEscape</name>
                        <required>false</required>
                        <rtexprvalue>true</rtexprvalue>
                </attribute>
+               <attribute>
+                       <description>Set JavaScript escaping for this tag, as a 
boolean value.
+                       Default is false.</description>
+                       <name>javaScriptEscape</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+       </tag>
 
+       <tag>
+               <description>Parameter tag based on the JSTL c:param tag.  The 
sole purpose is to 
+               support params inside the spring:url tag.</description>
+               <name>param</name>
+               
<tag-class>org.springframework.web.servlet.tags.ParamTag</tag-class>
+               <body-content>JSP</body-content>
+               <attribute>
+                       <description>The name of the parameter.</description>
+                       <name>name</name>
+                       <required>true</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>The value of the parameter.</description>
+                       <name>value</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
        </tag>
 
+       <tag>
+               <description>Evaluates a Spring expression (SpEL) and either 
prints the result or assigns it to a variable.</description>
+               <name>eval</name>
+               
<tag-class>org.springframework.web.servlet.tags.EvalTag</tag-class>
+               <body-content>JSP</body-content>
+               <attribute>
+                       <description>The expression to evaluate.</description>
+                       <name>expression</name>
+                       <required>true</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>The name of the variable to export the 
evaluation result to.</description>
+                       <name>var</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>The scope for the var.  'application', 
'session', 'request' and 
+                       'page' scopes are supported.  Defaults to page scope.  
This attribute has no 
+                       effect unless the var attribute is also 
defined.</description>
+                       <name>scope</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>Set HTML escaping for this tag, as a 
boolean value. Overrides the
+                       default HTML escaping setting for the current 
page.</description>
+                       <name>htmlEscape</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+               <attribute>
+                       <description>Set JavaScript escaping for this tag, as a 
boolean value.  Default is false.</description>
+                       <name>javaScriptEscape</name>
+                       <required>false</required>
+                       <rtexprvalue>true</rtexprvalue>
+               </attribute>
+       </tag>
+
 </taglib>

Index: mimir/trunk/mimir-core
===================================================================
--- mimir/trunk/mimir-core      2016-02-02 02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-core      2016-02-02 17:52:17 UTC (rev 19097)

Property changes on: mimir/trunk/mimir-core
___________________________________________________________________
Modified: svn:ignore
## -1,5 +1,5 ##
 mimir-core-*-javadocs.zip
 mimir-core-*.jar
+mimir-core-*.pom
 classes
-
 .settings
Modified: mimir/trunk/mimir-core/build/ivy.xml
===================================================================
--- mimir/trunk/mimir-core/build/ivy.xml        2016-02-02 02:22:07 UTC (rev 
19096)
+++ mimir/trunk/mimir-core/build/ivy.xml        2016-02-02 17:52:17 UTC (rev 
19097)
@@ -11,6 +11,11 @@
     <conf name="default" />
   </configurations>
 
+  <publications>
+    <artifact type="pom" ext="pom" conf="default" />
+    <artifact type="jar" ext="jar" conf="default" />
+  </publications>
+
   <dependencies defaultconf="*->master(default),runtime(default)" >
     <!-- GATE (minus unused deps) -->
     <dependency name="gate-core" org="uk.ac.gate" rev="8.1">

Modified: mimir/trunk/mimir-core/build/ivysettings.xml
===================================================================
--- mimir/trunk/mimir-core/build/ivysettings.xml        2016-02-02 02:22:07 UTC 
(rev 19096)
+++ mimir/trunk/mimir-core/build/ivysettings.xml        2016-02-02 17:52:17 UTC 
(rev 19097)
@@ -1,10 +1,16 @@
 <ivysettings>
   <settings defaultResolver="default"/>
   <resolvers>
+    <!-- publish-only resolver for pushing built JAR to ~/.m2 -->
+    <filesystem name="local-m2-publish" m2compatible="true">
+      <artifact 
pattern="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
+    </filesystem>
+
+    <!-- Resolver that will actually be used to retrieve things -->
     <chain name="default" returnFirst="true">
       <ibiblio name="maven-central" m2compatible="true" />
       <ibiblio name="gate.ac.uk" m2compatible="true" 
         root="http://repo.gate.ac.uk/content/groups/public/"; />
     </chain>
   </resolvers>
-</ivysettings>
\ No newline at end of file
+</ivysettings>

Modified: mimir/trunk/mimir-core/build.xml
===================================================================
--- mimir/trunk/mimir-core/build.xml    2016-02-02 02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-core/build.xml    2016-02-02 17:52:17 UTC (rev 19097)
@@ -22,6 +22,7 @@
   <property name="doc.dir" location="doc" />
        <property name="grails-plugin.dir" 
location="../${grails-plugin.dirname}" />
   <property name="jar.file" location="${app.name}-${app.version}.jar" />
+  <property name="pom.file" location="${app.name}-${app.version}.pom" />
 
   
 
@@ -99,10 +100,15 @@
   </target>
 
   <target name="publish" depends="jar">
-    <copy todir="${grails-plugin.dir}/lib" flatten="true">
+    <ivy:makepom ivyfile="${build.dir}/ivy.xml" pomfile="${pom.file}">
+      <mapping conf="*" scope="compile"/>
+    </ivy:makepom>
+    <ivy:publish resolver="local-m2-publish" forcedeliver="true" 
overwrite="true" publishivy="false"
+          artifactspattern="[artifact]-[revision].[ext]"/>
+    <!--<copy todir="${grails-plugin.dir}/lib" flatten="true">
       <fileset refid="libs.fileset" />
       <fileset file="${jar.file}" />
-    </copy>
+    </copy>-->
   </target>
   
 

Modified: mimir/trunk/mimir-web/application.properties
===================================================================
--- mimir/trunk/mimir-web/application.properties        2016-02-02 02:22:07 UTC 
(rev 19096)
+++ mimir/trunk/mimir-web/application.properties        2016-02-02 17:52:17 UTC 
(rev 19097)
@@ -1,4 +1,4 @@
 #Grails Metadata file
 #Mon Apr 29 14:56:56 BST 2013
-app.grails.version=2.2.3
+app.grails.version=2.5.3
 app.name=mimir-web

Modified: mimir/trunk/mimir-web/grails-app/conf/BuildConfig.groovy.template
===================================================================
--- mimir/trunk/mimir-web/grails-app/conf/BuildConfig.groovy.template   
2016-02-02 02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-web/grails-app/conf/BuildConfig.groovy.template   
2016-02-02 17:52:17 UTC (rev 19097)
@@ -2,6 +2,7 @@
 grails.project.test.class.dir = "target/test-classes"
 grails.project.test.reports.dir = "target/test-reports"
 
+grails.project.dependency.resolver = "maven"
 grails.project.dependency.resolution = {
     // inherit Grails' default dependencies
     inherits("global") {
@@ -14,9 +15,10 @@
         mavenRepo 'http://repo.gate.ac.uk/content/groups/public/'
         // uncomment the below to enable remote dependency resolution
         // from public Maven repositories
-        //mavenLocal()
+        mavenLocal()
         mavenCentral()
-        mavenRepo('https://repo.grails.org/grails/plugins')
+        grailsPlugins()
+        //mavenRepo('https://repo.grails.org/grails/plugins')
         //mavenRepo "http://snapshots.repository.codehaus.org";
         //mavenRepo "http://repository.codehaus.org";
         //mavenRepo "http://download.java.net/maven/2/";
@@ -24,56 +26,39 @@
     }
     dependencies {
       
-      // GATE(-core), minus unused deps
-      compile ('uk.ac.gate:gate-core:8.1') {
-        excludes 'tika-core', 'tika-parsers', 'lucene-core', 
-            'woodstox-core-lgpl', 'spring-aop', 'xmlunit', 'xpp3'
-      }
-      // bring in some of the excluded dependencies, but non-transitively
-      compile('org.apache.tika:tika-core:1.0', 
-              'org.apache.tika:tika-parsers:1.0') {
-        transitive = false
-      }
-      
-      // MG4J, minus unused deps
-      compile ('it.unimi.di:mg4j-big:5.2.1') {
-        excludes 'hadoop-common', 'logback-classic' , 'tika-core', 
-            'tika-parsers', 'mysql-connector-java', 'velocity', 
-            'velocity-tools', 'jetty'
-      }
-      
-      compile ('com.google.guava:guava:14.0',
-              "org.grails:grails-webflow:$grailsVersion") {
-        // Exclude dependencies that conflict with Grails      
-        excludes 'xml-apis', 'xmlbeans', 'ant'
-      }
+      // bring in mimir-core and mimir-client from local m2 repository - this 
will
+      // bring GATE and MG4J as transitive dependencies
+      compile("uk.ac.gate:mimir-core:5.2-SNAPSHOT",
+              "uk.ac.gate:mimir-client:5.2-SNAPSHOT")
     
       // We must use the same version of Ant as the one provided by Grails
-      // For Grails 2.1.1, this is Ant 1.8.2
-      runtime 'org.apache.ant:ant:1.8.2'
+      // For Grails 2.5, this is Ant 1.9.4
+      runtime 'org.apache.ant:ant:1.9.4'
       
       // bring the correct library version for groovy 2
-      test "org.spockframework:spock-grails-support:0.7-groovy-2.0"
+      //test "org.spockframework:spock-grails-support:0.7-groovy-2.0"
     }
 
     plugins {
-      runtime ":resources:1.2.RC2"
-      build(":tomcat:$grailsVersion",
+      runtime ":resources:1.2.14"
+
+      build(":tomcat:7.0.55.3",
             ":release:2.0.3",
             ":rest-client-builder:1.0.2") {
           export = false
       }
-      compile(":hibernate:$grailsVersion")
-      compile(':webflow:2.0.0'){
-        exclude 'grails-webflow'
+      compile(":hibernate:3.6.10.18")
+      compile(':webflow:2.1.0'){
+        //exclude 'grails-webflow'
       }
-      compile(':gwt:0.8') {
-        excludes 'resources', 'release'
+      build ":extended-dependency-manager:0.5.5"
+      compile(':gwt:1.0.3') {
+        transitive = false
       }
-      test(":spock:0.7") {
-          // exclude default dependency, as that's unsuitable for groovy 2
-          exclude "spock-grails-support"
-      }      
+      //test(":spock:0.7") {
+      //    // exclude default dependency, as that's unsuitable for groovy 2
+      //    exclude "spock-grails-support"
+      //}      
     }
 }
 

Modified: mimir/trunk/mimir-web/grails-app/views/search/index.gsp
===================================================================
--- mimir/trunk/mimir-web/grails-app/views/search/index.gsp     2016-02-02 
02:22:07 UTC (rev 19096)
+++ mimir/trunk/mimir-web/grails-app/views/search/index.gsp     2016-02-02 
17:52:17 UTC (rev 19097)
@@ -16,7 +16,7 @@
   <%-- If you add any GWT meta tags, they must   --%>
   <%-- be added before this line.                --%>
   <%--                                           --%>
-  <script type="text/javascript" src="${resource(dir: 'gwt/gate.mimir.web.UI', 
file: 'gate.mimir.web.UI.nocache.js')}"></script>
+  <script type="text/javascript" src="${r.resource(plugin:'mimir-web', dir: 
'gwt/gate.mimir.web.UI', file: 'gate.mimir.web.UI.nocache.js')}"></script>
   
   <%-- Add any custom CSS from the current index --%>
   <g:if test="${index?.css}">

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to