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