Commit dc206e1a authored by Gradl, Tobias's avatar Gradl, Tobias
Browse files

Minor finalizing steps for Gradle migration

parent c80902a9
Loading
Loading
Loading
Loading
Loading
+69 −47
Original line number Diff line number Diff line
buildscript {
    repositories {
        //maven { url 'https://repo.spring.io/plugins-snapshot' }
        maven { url "https://plugins.gradle.org/m2/" }
        maven { url 'https://plugins.gradle.org/m2/' }
    }
    dependencies {
        //classpath 'io.spring.gradle:dependency-management-plugin:1.0.8.RELEASE'
        classpath "com.netflix.nebula:gradle-ospackage-plugin:8.0.3"
        //classpath 'io.spring.gradle:dependency-management-plugin'
        classpath 'com.netflix.nebula:gradle-ospackage-plugin'
    }
}

plugins {
    //id 'java'
    id 'war'
    //id "io.spring.dependency-management" version "1.0.6.RELEASE"
    //id 'io.spring.dependency-management' version '1.0.8.RELEASE'
    id 'maven-publish'
    id "org.gretty" version "3.0.1"
    id 'nebula.ospackage' version '8.0.3'
}

apply plugin: "nebula.ospackage"

group = 'de.unibamberg.minf'
version = '3.6.0'
version = '3.6.0-SNAPSHOT'
description = 'DARIAH-DE Data Modeling Environment'

def mavenRepo     = 'https://minfba.de.dariah.eu/nexus/repository/minfba-central/'
def releasesRepo  = "https://minfba.de.dariah.eu/nexus/repository/minfba-releases/"
def snapshotsRepo = "https://minfba.de.dariah.eu/nexus/repository/minfba-snapshots/"
def aptRepo       = 'https://minfba.de.dariah.eu/nexus/repository/minfba-apt/'
def yumRepo       = 'https://minfba.de.dariah.eu/nexus/repository/minfba-yum/'

def repoUser = project.hasProperty('nexususer') ? project.getProperty('nexususer') : '?';
def repoPass = project.hasProperty('nexuspass') ? project.getProperty('nexuspass') : ''

repositories {
    mavenLocal()
    maven {
        url = 'https://minfba.de.dariah.eu/nexus/repository/minfba-central/'
        url = mavenRepo
    }
}

@@ -100,6 +106,17 @@ task sourcesJar(type: Jar, dependsOn: classes) {
    from sourceSets.main.allSource
}

task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives sourcesJar
    archives javadocJar
}


tasks.withType(Deb) {
    dependsOn(classes)
}
@@ -109,7 +126,6 @@ tasks.withType(Rpm) {
}

ospackage {
    //release '1'
    os = LINUX
    arch = 'noarch'
    packageName "dariah-$project.name"
@@ -149,38 +165,12 @@ ospackage {
    }
}


/*task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}*/

artifacts {
    archives sourcesJar
    //archives javadocJar
}

task publishDebPackage {
    def repo = "https://minfba.de.dariah.eu/nexus/repository/minfba-apt/"
    def user = project.hasProperty('nexususer') ? project.getProperty('nexususer') : '?';
    def password = project.hasProperty('nexuspass') ? project.getProperty('nexuspass') : ''
    
    def debPackage = "$buildDir/distributions/java/main"

    println "Publishing Debian package for $project.name-$project.version as user $user";
    exec {
        executable "curl"
        //args "-u \"$user:$password\"", "-H \"Content-Type: multipart/form-data\"", "--data-binary 12", "$repo";
        args "-u \"$user:$password\"", "www.google.de";
    }
}

publishing {
    publications {
        maven(MavenPublication) {
            from(components.web)
            //artifact(sourcesJar) {}
            //artifact(javadocJar) {}
            artifact(sourcesJar) {}
            artifact(javadocJar) {}
            pom {
                name = 'DARIAH-DE Data Modeling Environment'
                url = 'https://gitlab.rz.uni-bamberg.de/dariah/dme'
@@ -211,15 +201,12 @@ publishing {
    }
    repositories {
        maven {            
            def releasesRepoUrl = "https://minfba.de.dariah.eu/nexus/repository/minfba-releases/"
            def snapshotsRepoUrl = "https://minfba.de.dariah.eu/nexus/repository/minfba-snapshots/"
            
            if (version.endsWith('SNAPSHOT') || version.endsWith('RELEASE')) {
                credentials {
                    username project.hasProperty('nexususer') ? project.getProperty('nexususer') : ''
                    password project.hasProperty('nexuspass') ? project.getProperty('nexuspass') : ''
                    username repoUser
                    password repoPass
                }
                url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
                url = version.endsWith('SNAPSHOT') ? snapshotsRepo : releasesRepo
            } else {
                // Have a local test repo under buildDir to be able to test publish but only actually do publish when the version ending matches
                url = "$buildDir/repo/"
@@ -227,3 +214,38 @@ publishing {
        }
    }
}

task publishDebPackage {
    dependsOn buildDeb
    def distroPath = "$buildDir/distributions/"
    def debPackage = "dariah-${project.name}_${project.version}_noarch.deb"

    doLast {
        if (version.endsWith('SNAPSHOT') || version.endsWith('RELEASE')) {
            println "Publishing Debian package $debPackage as user $repoUser";
            exec {
                executable "curl"
                args "-f", "-u", "$repoUser:$repoPass", "-H", "Content-Type: multipart/form-data", "--data-binary", "@$distroPath$debPackage", "$aptRepo";
            }
        }
    }
}

task publishRpmPackage {
    dependsOn buildRpm
    def distroPath = "$buildDir/distributions/"
    def rpmPackage = "dariah-${project.name}-${project.version}.noarch.rpm"

    doLast {
        if (version.endsWith('SNAPSHOT') || version.endsWith('RELEASE')) {
            println "Publishing Rpm package $rpmPackage as user $repoUser";
            exec {
                executable "curl"
                args "-f", "-u", "$repoUser:$repoPass", "--upload-file", "$distroPath$rpmPackage", "$yumRepo/dariah/${project.name}/${project.version}/$rpmPackage";
            }
        }
    }
}

publish.finalizedBy publishDebPackage
publish.finalizedBy publishRpmPackage
 No newline at end of file

pom.xml

deleted100644 → 0
+0 −475
Original line number Diff line number Diff line
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>de.unibamberg.minf</groupId>
	<artifactId>dme</artifactId>
	<version>3.5.11-RELEASE</version>
	<packaging>war</packaging>
	<name>DARIAH-DE Data Modeling Environment</name>
	<description>DARIAH-DE Data Modeling Environment</description>
	<properties>
		<java-version>1.8</java-version>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	
   		<de.unibamberg.minf.core-version>5.1.2-RELEASE</de.unibamberg.minf.core-version>
		<de.unibamberg.minf.gtf-version>1.5.6-RELEASE</de.unibamberg.minf.gtf-version>
		<eu.dariah.de.minfba.processing.version>3.7.5-RELEASE</eu.dariah.de.minfba.processing.version>

		<eu.dariah.de.dariahsp-version>1.2.4-SNAPSHOT</eu.dariah.de.dariahsp-version>

		<com.fasterxml.jackson-version>2.9.6</com.fasterxml.jackson-version>

		<org.springframework-version>4.3.6.RELEASE</org.springframework-version>
		<org.springsecurity-version>4.2.1.RELEASE</org.springsecurity-version>
		<org.apache.tiles-version>3.0.7</org.apache.tiles-version>
		<org.slf4j-version>1.7.22</org.slf4j-version>
		<ch.qos.logback.version>1.1.3</ch.qos.logback.version>
		<org.antlr4-version>4.7.2</org.antlr4-version>
	</properties>

	<dependencies>
	
		<!-- DARIAH -->
		<dependency>
			<groupId>de.unibamberg.minf.core</groupId>
			<artifactId>core-metamodel</artifactId>
			<version>${de.unibamberg.minf.core-version}</version>
		</dependency>
		
		<!-- To import old schemas for migration -->
		<dependency>
			<groupId>eu.dariah.de.minfba.core-legacy</groupId>
			<artifactId>core-metamodel</artifactId>
			<version>3.3.1</version>
		</dependency>
		
		<dependency>
			<groupId>de.unibamberg.minf.core</groupId>
			<artifactId>core-web</artifactId>
			<version>${de.unibamberg.minf.core-version}</version>
		</dependency>
		<dependency>
			<groupId>de.unibamberg.minf.core</groupId>
			<artifactId>core-util</artifactId>
			<version>${de.unibamberg.minf.core-version}</version>
		</dependency>
				
		<dependency>
			<groupId>de.unibamberg.minf.gtf</groupId>
			<artifactId>gtf-base</artifactId>
			<version>${de.unibamberg.minf.gtf-version}</version>
		</dependency>
		<dependency>
			<groupId>de.unibamberg.minf.gtf</groupId>
			<artifactId>gtf-core</artifactId>
			<version>${de.unibamberg.minf.gtf-version}</version>
		</dependency>
		<dependency>
			<groupId>de.unibamberg.minf.gtf</groupId>
			<artifactId>gtf-extension-file</artifactId>
			<version>${de.unibamberg.minf.gtf-version}</version>
		</dependency>
		<dependency>
			<groupId>de.unibamberg.minf.gtf</groupId>
			<artifactId>gtf-extension-wiki</artifactId>
			<version>${de.unibamberg.minf.gtf-version}</version>
		</dependency>
		<dependency>
			<groupId>de.unibamberg.minf.gtf</groupId>
			<artifactId>gtf-extension-geo</artifactId>
			<version>${de.unibamberg.minf.gtf-version}</version>
		</dependency>
		<dependency>
			<groupId>de.unibamberg.minf.gtf</groupId>
			<artifactId>gtf-extension-nlp</artifactId>
			<version>${de.unibamberg.minf.gtf-version}</version>
		</dependency>
		<dependency>
			<groupId>de.unibamberg.minf.gtf</groupId>
			<artifactId>gtf-extension-vocabulary</artifactId>
			<version>${de.unibamberg.minf.gtf-version}</version>
		</dependency>
		<dependency>
			<groupId>de.unibamberg.minf.gtf</groupId>
			<artifactId>gtf-extension-dai</artifactId>
			<version>${de.unibamberg.minf.gtf-version}</version>
		</dependency>
		
		<dependency>
			<groupId>de.unibamberg.minf.processing</groupId>
			<artifactId>processing</artifactId>
			<version>${eu.dariah.de.minfba.processing.version}</version>
		</dependency>

		<!-- Spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${org.springframework-version}</version>
			<exclusions>
				<!-- Exclude Commons Logging in favor of SLF4j -->
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.3.3</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpcore</artifactId>
			<version>4.3.2</version>
		</dependency>
		
		<!-- Security -->
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-core</artifactId>
			<version>${org.springsecurity-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-web</artifactId>
			<version>${org.springsecurity-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-config</artifactId>
			<version>${org.springsecurity-version}</version>
		</dependency>
		
		<dependency>
			<groupId>eu.dariah.de</groupId>
			<artifactId>dariahsp-core</artifactId>
			<version>${eu.dariah.de.dariahsp-version}</version>
		</dependency>
		
		<!-- <dependency>
			<groupId>de.dariah</groupId>
			<artifactId>dariah-javasp-core</artifactId>
			<version>0.0.3-SNAPSHOT</version>
		</dependency>
		<dependency>
			<groupId>de.dariah</groupId>
			<artifactId>dariah-javasp-web</artifactId>
			<version>0.0.3-SNAPSHOT</version>
		</dependency>
		<dependency>
			<groupId>de.dariah</groupId>
			<artifactId>spring-security-saml2-core</artifactId>
			<version>0.0.3-SNAPSHOT</version>
		</dependency> -->
		
		<!-- Persistence -->
		<dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-mongodb</artifactId>
			<version>1.10.6.RELEASE</version>
		</dependency>
		<dependency>
		    <groupId>org.mongodb</groupId>
		    <artifactId>mongo-java-driver</artifactId>
		    <version>3.4.2</version>
		</dependency>
		
		<!-- Model validation -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
			<version>5.2.2.Final</version>
		</dependency>

		<!-- XML Schema processing -->
		<dependency>
			<groupId>xerces</groupId>
			<artifactId>xercesImpl</artifactId>
			<version>2.12.0</version>
		</dependency>

		<!-- Tiles -->
		<dependency>
			<groupId>org.apache.tiles</groupId>
			<artifactId>tiles-core</artifactId>
			<version>${org.apache.tiles-version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.tiles</groupId>
			<artifactId>tiles-jsp</artifactId>
			<version>${org.apache.tiles-version}</version>
		</dependency>
		<dependency>
			<groupId>org.apache.tiles</groupId>
			<artifactId>tiles-api</artifactId>
			<version>${org.apache.tiles-version}</version>
		</dependency>
		

		<!-- Logging -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${org.slf4j-version}</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
			<version>${org.slf4j-version}</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>log4j-over-slf4j</artifactId>
			<version>${org.slf4j-version}</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-core</artifactId>
			<version>${ch.qos.logback.version}</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>${ch.qos.logback.version}</version>
		</dependency>
			

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
		<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.2</version>
			<scope>provided</scope>
		</dependency>
		
		<dependency>
		    <groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-databind</artifactId>
		    <version>${com.fasterxml.jackson-version}</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.datatype</groupId>
			<artifactId>jackson-datatype-joda</artifactId>
			<version>${com.fasterxml.jackson-version}</version>
		</dependency>  
		<dependency>
		    <groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-annotations</artifactId>
		    <version>${com.fasterxml.jackson-version}</version>
		</dependency>

		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.1</version>
		</dependency>
		
		<!-- Joda Time -->
		<dependency>
			<groupId>joda-time</groupId>
			<artifactId>joda-time</artifactId>
			<version>2.8.2</version>
		</dependency>
		<dependency>
			<groupId>joda-time</groupId>
			<artifactId>joda-time-jsptags</artifactId>
			<version>1.1.1</version>
		</dependency>

		
		<!-- Test -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${org.springframework-version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<version>1.10.19</version>
			<scope>test</scope>
		</dependency>
		<!-- <dependency>
			<groupId>com.lordofthejars</groupId>
			<artifactId>nosqlunit-mongodb</artifactId>
			<version>0.8.1</version>
		</dependency> -->
		
	</dependencies>

  <repositories>
	<repository>
		<id>central</id>
		<url>https://nexus.winseda.de/repository/winseda-maven-central//</url>
	</repository>
  </repositories>

<dependencyManagement>
  	<dependencies>
  		<dependency>
  			<groupId>org.opensaml</groupId>
  			<artifactId>xmltooling</artifactId>
  			<version>1.4.4</version>
  		</dependency>
  	</dependencies>
  </dependencyManagement>

  <distributionManagement>
	<repository>
		<id>winseda-maven-releases</id>
		<url>https://nexus.winseda.de/repository/winseda-maven-releases/</url>
	</repository>
	<snapshotRepository>
		<id>winseda-maven-snapshots</id>
		<url>https://nexus.winseda.de/repository/winseda-maven-snapshots/</url>
	</snapshotRepository>
  </distributionManagement>
  
	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>net.alchim31.maven</groupId>
										<artifactId>yuicompressor-maven-plugin</artifactId>
										<versionRange>[1.0.0,)</versionRange>
										<goals>
											<goal>compress</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute>
											<runOnIncremental>false</runOnIncremental>
										</execute>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>net.alchim31.maven</groupId>
				<artifactId>yuicompressor-maven-plugin</artifactId>
				<version>1.5.1</version>
				<executions>
					<execution>
						<goals>
							<goal>compress</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<nosuffix>true</nosuffix>
					<webappDirectory>${project.build.directory}/min</webappDirectory>
					<excludes>
			            <exclude>**/*.min.js</exclude>
			        </excludes>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<configuration>
					<webResources>
						<resource>
							<directory>${project.build.directory}/min</directory>
						</resource>
					</webResources>
				</configuration>
			</plugin>
		</plugins>
	</build>
	
	<profiles>
		<profile>
			<id>dariah.deb</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>jdeb</artifactId>
						<groupId>org.vafer</groupId>
						<version>1.7</version>
						<executions>
							<execution>
								<phase>package</phase>
								<goals>
									<goal>jdeb</goal>
								</goals>
								<configuration>
									<snapshotExpand>true</snapshotExpand>
									<dataSet>
									  <data>
									    <type>directory</type>
									    <includes/>
									    <src>${project.build.directory}/${project.build.finalName}</src>
									    <mapper>
									      <type>perm</type>
									      <prefix>/var/dfa/webapps/${project.artifactId}</prefix>
									      <user>root</user>
									      <group>tomcat</group>
									      <filemode>755</filemode>
									    </mapper>
									  </data>
									</dataSet>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
+3 −3
Original line number Diff line number Diff line
@@ -24,9 +24,9 @@ import de.unibamberg.minf.core.web.pojo.ModelActionPojo;
 * @author tobias
 * 
 * Requires web.xml adaption:
 *	<error-page>
 *		<location>/errors</location>
 *	</error-page>
 *	&lt;error-page&gt;
 *		&lt;location&gt;/errors&lt;/location&gt;
 *	&lt;/error-page&gt;
 *
 */
@Controller
+2 −0
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@ public interface ReferenceDao extends BaseDao<Reference> {
	 * the values contain the removable IDs.
	 * 
	 * @param referenceMap - A map with class names as keys and reference arrays as values
	 * @param userId - Identifier of the user
	 * @param sessionId - Identifier of the user's current session
	 * @throws IllegalArgumentException Thrown if any of the specified references has an invalid ID
	 * @throws ClassNotFoundException Thrown if a key specifies a class name that cannot be found by the current classloader 
	 */
+1 −2
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@ import de.unibamberg.minf.processing.model.base.Resource;
/**
 * Persisted session
 *  
 * @todo sampleInput, sampleOutput and selectedValueMap are specific for schema modeling; validate specialize for mappings 
 * 
 * @author tobias
 */
Loading