Repository: incubator-edgent Updated Branches: refs/heads/master fca73b059 -> 9edd8fa6d
Edgent-265 Fix source/binary release README Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-edgent/commit/9edd8fa6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-edgent/tree/9edd8fa6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-edgent/diff/9edd8fa6 Branch: refs/heads/master Commit: 9edd8fa6dd69d9ef56679576787f40e4075dc1aa Parents: fca73b0 Author: Dale LaBossiere <dlab...@us.ibm.com> Authored: Fri Oct 7 15:54:29 2016 -0400 Committer: Dale LaBossiere <dlab...@us.ibm.com> Committed: Fri Oct 7 16:28:14 2016 -0400 ---------------------------------------------------------------------- DEVELOPMENT.md | 14 +++++++++- README.md | 6 +++-- build.gradle | 58 +++++++++++++++++++--------------------- legal/binary-release-readme | 10 +++++++ legal/source-release-readme | 25 +++++++++++++++++ 5 files changed, 79 insertions(+), 34 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/9edd8fa6/DEVELOPMENT.md ---------------------------------------------------------------------- diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index db3cf7f..b8c0c97 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -70,8 +70,20 @@ These are optional * Android SDK - Allows building of Android specific modules. Set the environment variable `ANDROID_SDK_PLATFORM` to the location of the Android platform so that ${ANDROID_SDK_PLATFORM}/android.jar points to a valid jar. +### Building a Binary Release Bundle -### Building +Building an Edgent binary release bundle: +``` sh +$ ./gradlew release +``` + +The build reports the location of the binary distribution bundle that can then +be unpacked and used in building applications. + +See [Getting Started](https://edgent.apache.org/docs/edgent-getting-started) +for information on using the binary release bundle. + +### Building for Edgent Runtime Development The primary build process is using [Gradle](https://gradle.org/), any pull request is expected to maintain the build success of `clean, assemble, test`. http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/9edd8fa6/README.md ---------------------------------------------------------------------- diff --git a/README.md b/README.md index 0b29614..ae05f8e 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,9 @@ Your back-end systems can also use analytics to interact with and control edge d * A traffic alert system can send an alert to vehicles that are heading towards an area where an accident occurred * A vehicle monitoring system can reduce the maximum engine revs to reduce the chance of failure before the next scheduled service if it detects patterns that indicate a potential problem -See http://edgent.incubator.apache.org/ for more information on all aspects of Edgent! +See [Edgent](http://edgent.incubator.apache.org/) for more information on all +aspects of Edgent including Getting Started. -Additional information for how to contribute to the development of Edgent can also be found [here](DEVELOPMENT.md) +For details about the Edgent sources and contributing to +Edgent runtime development see [DEVELOPMENT.md](DEVELOPMENT.md) http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/9edd8fa6/build.gradle ---------------------------------------------------------------------- diff --git a/build.gradle b/build.gradle index e0ff26c..b3efe7e 100644 --- a/build.gradle +++ b/build.gradle @@ -670,23 +670,21 @@ task addVersionDotTxt { 'edgent.version': "$build_version", ] def f = new File("$target_dir/version.txt"); + def d = new File(target_dir); + if( !d.exists() ) { d.mkdirs() } f.createNewFile() map.forEach { k,v -> f.append "$k=$v\n" } } } -task mkTargetDir << { - def d = new File(target_dir); - if( !d.exists() ) { d.mkdirs() } -} - -task addMiscDistFiles(type: Copy) { - description = 'Add misc things to target_dir' - dependsOn mkTargetDir, addVersionDotTxt - addVersionDotTxt.mustRunAfter mkTargetDir - - into target_dir - from 'README.md', 'DISCLAIMER', 'KEYS' +task releaseTarGz(type: Tar) { + description = 'Create binary release tgz in target_dir' + archiveName = "${build_name}-v${build_version}-${DSTAMP}-${TSTAMP}.tgz" + compression = Compression.GZIP + destinationDir = new File("${target_dir}/../release-edgent") + duplicatesStrategy 'exclude' + into "${build_name}" + // make some things first in the tgz with copySpec { rename { 'LICENSE' } from rootProject.file('legal/binary-release-license') @@ -699,19 +697,11 @@ task addMiscDistFiles(type: Copy) { rename { 'binary-release-bundled-dependencies' } from rootProject.file('legal/binary-release-bundled-dependencies') } -} - -task releaseTarGz(type: Tar) { - description = 'Create tgz in target_dir' - archiveName = "${build_name}-v${build_version}-${DSTAMP}-${TSTAMP}.tgz" - compression = Compression.GZIP - destinationDir = new File("${target_dir}/../release-edgent") - duplicatesStrategy 'exclude' - into "${build_name}" - // make some things first in the tgz - from "$target_dir/LICENSE", "$target_dir/NOTICE", "$target_dir/DISCLAIMER", "$target_dir/KEYS" - from "$target_dir/binary-release-bundled-dependencies" - from "$target_dir/README.md" + from 'DISCLAIMER', 'KEYS', 'JAVA_SUPPORT.md' + with copySpec { + rename { 'README' } + from rootProject.file('legal/binary-release-readme') + } from "$target_dir/version.txt" from target_dir exclude '**/test/svt/' @@ -724,15 +714,21 @@ task releaseTarGz(type: Tar) { } task srcReleaseTarGz(type: Tar) { - description = 'Create source tgz in target_dir' + description = 'Create source release tgz in target_dir' archiveName = "${build_name}-source-v${build_version}-${DSTAMP}-${TSTAMP}.tgz" compression = Compression.GZIP destinationDir = new File("${target_dir}/../release-edgent") duplicatesStrategy 'exclude' into "${build_name}" // make some things first in the tgz - from "LICENSE", "NOTICE", "DISCLAIMER", "KEYS" - from "DEVELOPMENT.md", "README.md" + from 'LICENSE', 'NOTICE' + from 'DISCLAIMER', 'KEYS', 'JAVA_SUPPORT.md' + with copySpec { + rename { 'README' } + from rootProject.file('legal/source-release-readme') + } + exclude 'README.md' + from 'DEVELOPMENT.md' from '.' exclude '.git', '.gradle', '.settings' exclude '**/build/' // gradle generated artifacts @@ -763,11 +759,11 @@ task cleanAll { task release { description = 'Assemble distribution artifacts, populate target_dir, and create a release tgz' - dependsOn cleanAll, addMiscDistFiles, assemble, + dependsOn cleanAll, addVersionDotTxt, assemble, ':platform:java7:addJava7TargetDir', ':platform:android:addAndroidTargetDir', srcReleaseTarGz, releaseTarGz - addMiscDistFiles.mustRunAfter cleanAll - assemble.mustRunAfter addMiscDistFiles + addVersionDotTxt.mustRunAfter cleanAll + assemble.mustRunAfter addVersionDotTxt releaseTarGz.mustRunAfter assemble,':platform:java7:addJava7TargetDir',':platform:android:addAndroidTargetDir' } http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/9edd8fa6/legal/binary-release-readme ---------------------------------------------------------------------- diff --git a/legal/binary-release-readme b/legal/binary-release-readme new file mode 100644 index 0000000..850fe1b --- /dev/null +++ b/legal/binary-release-readme @@ -0,0 +1,10 @@ + +Apache Edgent is an effort undergoing incubation at The Apache Software Foundation (ASF), +sponsored by the Incubator PMC. Incubation is required of all newly accepted +projects until a further review indicates that the infrastructure, communications, +and decision making process have stabilized in a manner consistent with other +successful ASF projects. While incubation status is not necessarily a reflection +of the completeness or stability of the code, it does indicate that the project +has yet to be fully endorsed by the ASF. + +See Getting Started https://edgent.apache.org/docs/edgent-getting-started http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/9edd8fa6/legal/source-release-readme ---------------------------------------------------------------------- diff --git a/legal/source-release-readme b/legal/source-release-readme new file mode 100644 index 0000000..2991db5 --- /dev/null +++ b/legal/source-release-readme @@ -0,0 +1,25 @@ +Building Edgent from a Source Distribution + +Apache Edgent is an effort undergoing incubation at The Apache Software Foundation (ASF), +sponsored by the Incubator PMC. Incubation is required of all newly accepted +projects until a further review indicates that the infrastructure, communications, +and decision making process have stabilized in a manner consistent with other +successful ASF projects. While incubation status is not necessarily a reflection +of the completeness or stability of the code, it does indicate that the project +has yet to be fully endorsed by the ASF. + +Pre-requisites: +- Java 8 is required to build an Edgent binary distribution + +Build an Edgent binary distribution: +$ cd edgent # the root of your Edgent source tree +$ ./gradlew release # .\gradlew.bat on Windows + +The build reports the location of the binary distribution bundle that can then +be unpacked and used in building applications. +See Getting Started https://edgent.apache.org/docs/edgent-getting-started + +For more information about the Edgent sources, testing, and +contributing to Edgent runtime development see DEVELOPMENT.md in the source tree +or in the github repository http://www.apache.org/dist/incubator/edgent +