edgent-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QUARKS-139) Adopt a build system, such as gradle, that supports transitive dependency management
Date Wed, 08 Jun 2016 20:42:21 GMT

    [ https://issues.apache.org/jira/browse/QUARKS-139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15321411#comment-15321411
] 

ASF GitHub Bot commented on QUARKS-139:
---------------------------------------

Github user ddebrunner commented on a diff in the pull request:

    https://github.com/apache/incubator-quarks/pull/131#discussion_r66335673
  
    --- Diff: build.gradle ---
    @@ -0,0 +1,96 @@
    +/* Configure root project */
    +ext.commithash = {
    +  try {
    +    return "git rev-parse --short HEAD".execute().text.trim()
    +  } catch (Exception e) {
    +    return ''
    +  }
    +}()
    +def now = new Date()
    +ext.DSTAMP = String.format('%tY%<tm%<td', now)
    +ext.TSTAMP = String.format('%tH%<tM', now)
    +ext.ext_classpath = ['com.google.code.gson:gson:2.2.4', 
    +  'org.slf4j:slf4j-api:1.7.12', 
    +  'io.dropwizard.metrics:metrics-core:3.1.2']
    +
    +/* Configure subprojects */
    +subprojects {
    +  repositories {
    +    mavenCentral()
    +    maven {
    +      url 'https://repo.eclipse.org/content/repositories/paho-snapshots/'
    +    }
    +  }
    +
    +  plugins.apply 'java'
    +  plugins.apply 'jacoco'
    +
    +  archivesBaseName = "${rootProject.name}${project.path.replace(':','.')}"
    +  version = quarks_version
    +
    +  jacoco {
    +    toolVersion = '0.7.5.201505241946'
    +  }
    +
    +  dependencies {
    +    testCompile 'junit:junit:4.10'
    +    testRuntime 'org.slf4j:slf4j-jdk14:1.7.12'
    +  }
    +
    +  ext.addCompileTestDependencies = { String... deps ->
    +    deps.each { dep ->
    +      dependencies {
    +        testCompile project(dep).sourceSets.test.output
    +      }
    +      compileTestJava {
    +        dependsOn "${dep}:compileTestJava"
    +      }
    +    }
    +  }
    +
    +  sourceCompatibility = '1.8'
    +  targetCompatibility = '1.8'
    +  def compileOptions = {
    +    options.debugOptions.debugLevel = 'source,lines,vars'
    +    options.verbose = logger.isDebugEnabled()
    +    options.listFiles = logger.isInfoEnabled()
    +    options.deprecation = true
    +    options.encoding = 'UTF-8'
    +  }
    +  compileJava {
    +    configure compileOptions
    +  }
    +  compileTestJava {
    +    configure compileOptions
    +  }
    +
    +  test {
    +    include '**/*Test.class'
    +    systemProperty 'top.dir.file.path', rootProject.projectDir
    +    testLogging {
    +      exceptionFormat 'full'
    +    }
    +  }
    +
    +  ext.jarOptions = {
    +    manifest {
    +      attributes(
    +        'Implementation-Title': "${-> baseName}",
    +        'Implementation-Vendor': 'quarks-edge@github.com',
    --- End diff --
    
    Should be the Apache Software Foundation


> Adopt a build system, such as gradle, that supports transitive dependency management
> ------------------------------------------------------------------------------------
>
>                 Key: QUARKS-139
>                 URL: https://issues.apache.org/jira/browse/QUARKS-139
>             Project: Quarks
>          Issue Type: Improvement
>          Components: Analytics, API, Applications, Connectors, Console, Documentation,
Miscellaneous, Runtime, Samples, Test, Utils
>            Reporter: Lance Feagan
>              Labels: build
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> By moving to a build system that supports transitive dependency management, the repository
size can be decreased and users can more easily integrate quarks with their own applications
by allowing the version of a dependency to float within an acceptable range, assuming proper
semantic versioning of the dependencies.
> I have an initial set of work for this effort completed using gradle. Nearly all sub-projects
build at this time--the notable exception being the android-dependent sub-projects. The other
notable missing element is the integration of JaCoCo. In both cases, these should be simple
additions.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message