Skip to content

Commit

Permalink
Setup project skeleton (Closes #8) (PR #13)
Browse files Browse the repository at this point in the history
* Initial setup

* TravisCI config

* Added missing linebreak at EOF

* Trying to trigger Travis build

* added awesome gitignore

* Update build.gradle

Co-Authored-By: Andreas <[email protected]>

* Update build.gradle

Co-Authored-By: Andreas <[email protected]>

* Update build.gradle

Co-Authored-By: Andreas <[email protected]>

* Update build.gradle

Co-Authored-By: Andreas <[email protected]>

* Update build.gradle

Co-Authored-By: Andreas <[email protected]>

* Update build.gradle

Co-Authored-By: Andreas <[email protected]>

* Apply suggestions from code review

Co-Authored-By: Andreas <[email protected]>

* Code review feedback
  • Loading branch information
stefan-grafberger authored Jun 10, 2019
1 parent 0be633a commit 640d1a3
Show file tree
Hide file tree
Showing 11 changed files with 653 additions and 1 deletion.
190 changes: 189 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,190 @@
#################
# Java / Kotlin #
#################

# 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*


#################
# 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


#################
# Misc #
#################

.DS_Store
.idea


#################
# JetBrains #
#################

# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser


#################
# 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

11 changes: 11 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
matrix:
include:
- language: java
jdk: openjdk8
env:
- TERM=dumb

notifications:
slack: s-e-13:s-e-13:4f8DodGExfbSm7ZGVSwOneOn
on_success: always
on_failure: never
105 changes: 105 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
buildscript {
ext.kotlin_version = '1.3.21' // Required for Kotlin integration
repositories {
mavenCentral()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // Required for Kotlin integration
classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version" // See https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-compiler-plugin
classpath "gradle.plugin.com.palantir:jacoco-coverage:0.4.0"
classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
classpath "net.ltgt.gradle:gradle-apt-plugin:0.19"
}
}

apply plugin: "kotlin" // Required for Kotlin integration
apply plugin: "com.palantir.jacoco-coverage"
apply plugin: "idea"
apply plugin: "application"
mainClassName = "de.unia.se.mdd.Main"

group = "de.unia.se"
version = "${version}"
sourceCompatibility = 1.8

compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}

jar {
baseName = "se13-mdd-team"
version = "0.1.0"
manifest {
attributes "Main-Class": "de.unia.se.mdd.MainKt"
}
}

sourceSets{
main.java.srcDirs += "src/main/kotlin/"
test.java.srcDirs += "src/test/kotlin/"
}

repositories {
jcenter()
google()
mavenCentral()
}

configurations {
ktlint
}

test {
useJUnitPlatform()

afterTest { desc, result ->
logger.quiet "Executing test ${desc.name} [${desc.className}] with result: ${result.resultType}"
}
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
compile 'org.eclipse.emf:org.eclipse.emf.ecore.xmi:2.15.0'

testCompile 'io.kotlintest:kotlintest-runner-junit5:3.1.7'
testCompile "io.mockk:mockk:1.8.9"

ktlint "com.github.shyiko:ktlint:0.29.0"
}

task ktlint(type: JavaExec, group: "verification") {
description = "Check Kotlin code style."
classpath = configurations.ktlint
main = "com.github.shyiko.ktlint.Main"
// To generate report in checkstyle format prepend following args:
// "--reporter=plain", "--reporter=checkstyle,output=${buildDir}/ktlint.xml"
// see https://github.com/shyiko/ktlint#usage for more
}

task ktlintFormat(type: JavaExec, group: "formatting") {
description = "Fix Kotlin code style deviations."
classpath = configurations.ktlint
main = "com.github.shyiko.ktlint.Main"
}

jacocoTestCoverageVerification {
violationRules {
rule {
limit {
minimum = 0.9
}
}
}
}

// To run coverage verification during the build (and fail when appropriate)
check.dependsOn jacocoTestCoverageVerification
// To run ktlint during the build (and fail when appropriate)
check.dependsOn ktlint
1 change: 1 addition & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
kotlin.code.style=official
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
6 changes: 6 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#Thu Jun 06 14:10:48 CEST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-all.zip
Loading

0 comments on commit 640d1a3

Please sign in to comment.