Skip to content
Snippets Groups Projects
Select Git revision
  • b8cfca720aaf1cf22e7423b362d5ec4666d311aa
  • master default protected
  • ci
3 results

build.gradle

Blame
  • build.gradle 1.68 KiB
    plugins {
      id 'java'
      id 'maven'
      id 'groovy'
      id 'org.jastadd' version '1.13.3'
    }
    
    if (!file('extendj/jastadd_modules').exists()) {
      throw new GradleException('ExtendJ seems to be missing. '
          + 'Please run "git submodule init", then "git submodule update".')
    }
    
    version = '1.3.0'
    group = 'org.extendj'
    archivesBaseName = 'rd-builder'
    
    sourceSets {
      main {
        java {
          srcDir 'extendj/src/frontend'
          srcDir 'extendj/java8/src'
          // This exclude rule needed if the submodule is built.
          exclude 'gen/**' // Exclude from extendj/java8/src
        }
      }
    }
    
    jastadd {
      configureModuleBuild()
    
      modules {
        include("extendj/jastadd_modules")
    
        module "rd-builder", {
          imports "java8 frontend"
    
          jastadd {
            basedir "src/main/jastadd"
            include "**/*.jrag"
          }
        }
      }
    
      module = 'rd-builder'
    
      astPackage = 'org.extendj.ast'
      parser.name = 'JavaParser'
    }
    
    sourceCompatibility = targetCompatibility = '1.7'
    
    repositories {
      mavenLocal()
      mavenCentral()
    }
    
    dependencies {
      compile 'se.llbit:jo-json:1.3.1'
      compile 'org.extendj:trace:0.1'
    
      testCompile 'org.spockframework:spock-core:1.1-groovy-2.4'
    }
    
    def mainClassName = 'org.extendj.ragdoc.RagDocBuilder'
    jar.manifest.attributes 'Main-Class': mainClassName
    
    // Builds a runnable Jar including dependencies to the project root directory.
    // https://www.mkyong.com/gradle/gradle-create-a-jar-file-with-dependencies/
    task fatJar(type: Jar) {
      manifest.attributes 'Main-Class': mainClassName
      archiveName = "${project.name}.jar"
      destinationDir = projectDir
      from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
      with jar
    }
    
    task wrapper(type: Wrapper) {
      gradleVersion = '4.4.1'
    }