Skip to content
Snippets Groups Projects
Select Git revision
  • b4a9f28a45bd7722943d1de94c03ced0d9cb3694
  • master default protected
2 results

Makefile

Blame
    • dgelessus's avatar
      c3a010a9
      Replace the Gradle/AsciidoctorJ build with plain Asciidoctor · c3a010a9
      dgelessus authored
      The Gradle-based build had multiple problems and quirks: insufficient
      Java heap space when generating PDFs, bugs in the version selection for
      Ruby gems, and now a JCenter outage that made the build fail completely
      for a short time because some plugin dependencies couldn't be resolved.
      
      The build is now simple enough that a plain Makefile does the job as
      well, using the regular command-line version of Asciidoctor. This is
      noticeably faster than the Gradle build and hopefully should be simpler
      to maintain as well.
      c3a010a9
      History
      Replace the Gradle/AsciidoctorJ build with plain Asciidoctor
      dgelessus authored
      The Gradle-based build had multiple problems and quirks: insufficient
      Java heap space when generating PDFs, bugs in the version selection for
      Ruby gems, and now a JCenter outage that made the build fail completely
      for a short time because some plugin dependencies couldn't be resolved.
      
      The build is now simple enough that a plain Makefile does the job as
      well, using the regular command-line version of Asciidoctor. This is
      noticeably faster than the Gradle build and hopefully should be simpler
      to maintain as well.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    build.gradle 1.87 KiB
    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'maven'
    
    project.version = '1.0.0-SNAPSHOT'
    project.group = 'de.prob'
    
    sourceCompatibility = 1.5
    
    repositories {
    	mavenCentral()
    	mavenRepo name: 'cobra_ext', url: "http://cobra.cs.uni-duesseldorf.de/artifactory/repo"
    }
    
    configurations { // configuration that holds jars to copy into lib
    	releaseJars }
    
    def parser_version = '2.4.20-SNAPSHOT'
    
    dependencies {
    	compile (group: 'com.microsoft', name: 'tla2tools', version: '1.4.6')
    	compile (group: 'de.prob', name: 'prologlib', version: parser_version)
    	compile (group: 'de.prob', name: 'parserbase', version: parser_version)
    	compile (group: 'de.prob', name: 'bparser', version: parser_version)
    	compile (group: 'de.prob', name: 'ltlparser', version: parser_version)
    
    	testCompile (group: 'junit', name: 'junit', version: '4.+')
    	testCompile (group: 'de.prob', name: 'tla2b', version: '1.0.3-SNAPSHOT')
    
    	releaseJars (group: 'de.prob', name: 'prologlib', version: parser_version)
    	releaseJars (group: 'de.prob', name: 'parserbase', version: parser_version)
    	releaseJars (group: 'de.prob', name: 'bparser', version: parser_version)
    	releaseJars (group: 'de.prob', name: 'ltlparser', version: parser_version)
    }
    
    
    test { 
    	exclude('de/b2tla/tlc/integration/**')
    }
    
    
    task integrationtests(type: Test){
    	doFirst{ println("Running integration tests") }
    	scanForTestClasses = true
    	include('de/b2tla/tlc/integration/**')
    }
    
    jar { from sourceSets.main.allJava }
    jar	{
    	from configurations.releaseJars.collect { it.isDirectory() ? it : zipTree(it) }
    }
    manifest.mainAttributes("Main-Class" : 'de.b2tla.B2TLA')
    manifest.mainAttributes("Class-Path": './tla/ tla2tools.jar')
    
    
    task b2tla(dependsOn: build) << {
    	copy {
    		from('build/libs/')
    		into('build/b2tla')
    		include('b2tla-'+project.version+'.jar')
    		rename('(b2tla)-(.+)', 'B2TLA.jar')
    	}
    }