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

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

GitHub user bjhargrave opened a pull request:

    https://github.com/apache/incubator-quarks/pull/131

    [QUARKS-139] Alternative gradle build

    Here is another go at a gradle build replacement for quarks.
    
    This build has minimal `build.gradle` files in each project and 
concentrates the build logic in the root project `build.gradle` file.
    
    This build tries to use the standard gradle way of doing things. Output is 
placed in the standard gradle places. e.g. `build/libs` for generated jar file. 
Inter-project dependencies are expressed using `project(':api:topology')` form. 
External jars are referenced using mavenCentral to avoid the need to place 
binaries in the build.
    
    The build completes and tests pass running `./gradlew build`.
    
    This only builds the projects with Java 8. More work is of course needed to 
complete the build in gradle such as the Java 7 and Android part as well as any 
packaging steps to package the generated jars into some distribution shape.
    
    Eventually, I want to apply the `biz.aQute.bnd.builder` plugin to generate 
OSGi metadata for each generated jar to allow the jars to be used in OSGi 
runtimes such as Eclipse Kura.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/bjhargrave/incubator-quarks gradle-build

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-quarks/pull/131.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #131
    
----
commit d5cc0cfb85343558b45c071a6ce5386c1466833b
Author: BJ Hargrave <[email protected]>
Date:   2016-06-06T19:53:55Z

    gradle: .gitignores for gradle build

commit 9574ab0891d452bf1c91b54048ae2e316edd7f6f
Author: BJ Hargrave <[email protected]>
Date:   2016-06-06T19:54:16Z

    gradle: Add gradle wrapper

commit b95599986437898255628aa811b4d23d8aa65cd5
Author: BJ Hargrave <[email protected]>
Date:   2016-06-08T18:16:21Z

    gradle: Initial Java 8 build

commit c52ecf7ca8ec1f31ed99c4e944f02185f56833c4
Author: BJ Hargrave <[email protected]>
Date:   2016-06-08T19:32:29Z

    gradle: Update ServerUtil to find webapps folder in gradle build

----


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

Reply via email to