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

Migrating to Gradle

parent 5e12a011
Loading
Loading
Loading
Loading
Loading
+100 −6
Original line number Diff line number Diff line
### Eclipse ###
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# PyDev specific (Python IDE for Eclipse)
*.pydevproject

# CDT-specific (C/C++ Development Tooling)
.cproject

# CDT- autotools
.autotools

# Java annotation processor (APT)
.factorypath

# PDT-specific (PHP Development Tools)
.buildpath

# sbteclipse plugin
.target

# Tern plugin
.tern-project

# TeXlipse plugin
.texlipse

# STS (Spring Tool Suite)
.springBeans

# Code Recommenders
.recommenders/

# Annotation Processing
.apt_generated/

# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet

### Eclipse Patch ###
# Eclipse Core
.project

# JDT-specific (Eclipse Java Development Tools)
.classpath

# Annotation Processing
.apt_generated

.sts4-cache/

### Java ###
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
**/target/

.project
.settings
.classpath
### Java-Web ###
## ignoring target file
target/

### Gradle ###
.gradle
build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Cache of project
.gradletasknamecache

# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
# gradle/wrapper/gradle-wrapper.properties

docs/_build
docs/venv
### Gradle Patch ###
**/build/
+17 −21
Original line number Diff line number Diff line
image: maven:latest
image: java:8-jdk

variables:
  MAVEN_CLI_OPTS: "--batch-mode"
  GIT_SUBMODULE_STRATEGY: recursive
  GRADLE_OPTS: "-Dorg.gradle.daemon=false"
  NEXUS_CREDENTIALS: "-Pnexususer=$NEXUS_REPO_USER -Pnexuspass=$NEXUS_REPO_PASS"

before_script:
  - VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
  - ARTIFACT=$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout)
  - export GRADLE_USER_HOME=`pwd`/.gradle
  - ./gradlew wrapper --gradle-version=5.6.4 --distribution-type=bin

cache:
  paths:
    - .gradle/wrapper
    - .gradle/caches

stages:
  - build
  - deploy
  
build:
  stage: build
  script:
    - mvn $MAVEN_CLI_OPTS compile

test:
  stage: test
  script:
    - mvn $MAVEN_CLI_OPTS test
  script: ./gradlew assemble
   
deploy:
  stage: deploy
  script: 
    - |
      if [[ $VERSION = *"SNAPSHOT" || $VERSION = *"RELEASE" ]]; then
        echo "Building Debian package for $VERSION"
        mvn $MAVEN_CLI_OPTS -U -Pdariah.deb -Dmaven.test.failure.ignore package

        ~/scripts/push_deb_packages.sh ./target/

      fi
    - ./gradlew publish -x test $NEXUS_CREDENTIALS
  only:
    - master

build.gradle

0 → 100644
+159 −0
Original line number Diff line number Diff line
/*buildscript {
    repositories {
        maven { url 'https://repo.spring.io/plugins-snapshot' }
    }
    dependencies {
        classpath 'io.spring.gradle:dependency-management-plugin:1.0.8.RELEASE'
    }
}*/

plugins {
    //id 'java'
    id 'war'
    //id "io.spring.dependency-management" version "1.0.6.RELEASE"
    id 'maven-publish'
}

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

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

ext {
    coreVersion = "5.3.0-SNAPSHOT"
    gtfVersion = "1.6.0-SNAPSHOT"
    processingVersion = "3.8.0-SNAPSHOT"
}

dependencies {
    compile "de.unibamberg.minf.core:core-metamodel:$coreVersion"
    compile "de.unibamberg.minf.core:core-web:$coreVersion"
    compile "de.unibamberg.minf.core:core-util:$coreVersion"
    compile "de.unibamberg.minf.gtf:gtf-base:$gtfVersion"
    compile "de.unibamberg.minf.gtf:gtf-core:$gtfVersion"
    compile "de.unibamberg.minf.gtf:gtf-extension-file:$gtfVersion"
    compile "de.unibamberg.minf.gtf:gtf-extension-wiki:$gtfVersion"
    compile "de.unibamberg.minf.gtf:gtf-extension-geo:$gtfVersion"
    compile "de.unibamberg.minf.gtf:gtf-extension-nlp:$gtfVersion"
    compile "de.unibamberg.minf.gtf:gtf-extension-vocabulary:$gtfVersion"
    compile "de.unibamberg.minf.gtf:gtf-extension-dai:$gtfVersion"
    compile "de.unibamberg.minf.processing:processing:$processingVersion"
    compile "eu.dariah.de.minfba.core-legacy:core-metamodel:3.3.1"
    compile "org.springframework:spring-context:4.3.6.RELEASE"
    compile "org.springframework:spring-core:4.3.6.RELEASE"
    compile "org.springframework:spring-beans:4.3.6.RELEASE"
    compile "org.springframework:spring-webmvc:4.3.6.RELEASE"
    compile "org.springframework:spring-web:4.3.6.RELEASE"
    compile "org.apache.httpcomponents:httpclient:4.3.3"
    compile "org.apache.httpcomponents:httpcore:4.3.2"
    compile "org.springframework.security:spring-security-core:4.2.1.RELEASE"
    compile "org.springframework.security:spring-security-web:4.2.1.RELEASE"
    compile "org.springframework.security:spring-security-config:4.2.1.RELEASE"
    compile "eu.dariah.de:dariahsp-core:1.3.0-SNAPSHOT"
    compile "org.springframework.data:spring-data-mongodb:1.10.6.RELEASE"
    compile "org.mongodb:mongo-java-driver:3.4.2"
    compile "org.hibernate:hibernate-validator:5.2.2.Final"
    compile "xerces:xercesImpl:2.12.0"
    compile "org.apache.tiles:tiles-core:3.0.7"
    compile "org.apache.tiles:tiles-jsp:3.0.7"
    compile "org.apache.tiles:tiles-api:3.0.7"
    compile "org.slf4j:slf4j-api:1.7.22"
    compile "ch.qos.logback:logback-core:1.1.3"
    compile "ch.qos.logback:logback-classic:1.1.3"
    compile "javax.servlet:jstl:1.2"
    compile "com.fasterxml.jackson.core:jackson-databind:2.9.6"
    compile "com.fasterxml.jackson.datatype:jackson-datatype-joda:2.9.6"
    compile "com.fasterxml.jackson.core:jackson-annotations:2.9.6"
    compile "commons-fileupload:commons-fileupload:1.3.1"
    compile "joda-time:joda-time:2.8.2"
    compile "joda-time:joda-time-jsptags:1.1.1"
    runtime "org.slf4j:jcl-over-slf4j:1.7.22"
    runtime "org.slf4j:log4j-over-slf4j:1.7.22"
    testCompile "org.springframework:spring-test:4.3.6.RELEASE"
    testCompile "junit:junit:4.12"
    testCompile "org.mockito:mockito-all:1.10.19"
    compileOnly "javax.servlet:javax.servlet-api:3.1.0"
    compileOnly "javax.servlet.jsp:jsp-api:2.2"
}

java {
    sourceCompatibility = JavaVersion.VERSION_1_8
}

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

task sourcesJar(type: Jar, dependsOn: classes) {
    classifier = 'sources'
    from sourceSets.main.allSource
}

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

artifacts {
    archives sourcesJar
    //archives javadocJar
}

publishing {
    publications {
        maven(MavenPublication) {
            from(components.web)
            //artifact(sourcesJar) {}
            //artifact(javadocJar) {}
            pom {
                name = 'DARIAH-DE Data Modeling Environment'
                url = 'https://gitlab.rz.uni-bamberg.de/dariah/dme'
                licenses {
                    license {
                        name = 'The Apache License, Version 2.0'
                        url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    }
                }
                developers {
                    developer {
                        id = 'tgradl'
                        name = 'Tobias Gradl'
                        email = 'tobias.gradl@uni-bamberg.de'
                    }
                }
                scm {
                    connection = 'scm:git:git://gitlab.rz.uni-bamberg.de/dariah/dme.git'
                    developerConnection = 'scm:git:ssh://gitlab.rz.uni-bamberg.de/dariah/dme.git'
                    url = 'https://gitlab.rz.uni-bamberg.de/dariah/dme'
                }
                issueManagement {
                    system = 'GitLab'
                    url = 'https://gitlab.rz.uni-bamberg.de/dariah/dme/issues'
                }
            }
        }
    }
    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') : ''
                }
                url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
            } 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/"
            }
        }
    }
}
 No newline at end of file
+54.3 KiB

File added.

No diff preview for this file type.

+5 −0
Original line number Diff line number Diff line
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading