Skip to content

Commit

Permalink
Release 2.0.255
Browse files Browse the repository at this point in the history
  • Loading branch information
predix-adoption-bot committed Oct 10, 2018
1 parent d4d04f6 commit 8318ffc
Show file tree
Hide file tree
Showing 51 changed files with 1,403 additions and 0 deletions.
18 changes: 18 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[submodule "predix-sdks"]
path = predix-sdks
url = https://github.com/PredixDev/predix-sdks.git
[submodule "data-exchange"]
path = data-exchange
url = https://github.com/PredixDev/data-exchange.git
[submodule "data-exchange-simulator"]
path = data-exchange-simulator
url = https://github.com/PredixDev/data-exchange-simulator.git
[submodule "rmd-datasource"]
path = rmd-datasource
url = https://github.com/PredixDev/rmd-datasource.git
[submodule "predix-webapp-starter"]
path = predix-webapp-starter
url = https://github.com/PredixDev/predix-webapp-starter.git
[submodule "predix-websocket-server"]
path = predix-websocket-server
url = https://github.com/PredixDev/predix-websocket-server.git
1 change: 1 addition & 0 deletions COPYRIGHT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The dependencies in this project are resolved by Maven pom.xml. Copyrights from those projects are included [here](http://predixdev.github.io/rmd-ref-app-copyright/). This list may be a superset of projects actually referenced by this project.
204 changes: 204 additions & 0 deletions Jenkinsfile_example
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
#!/usr/bin/env groovy
@Library('devrel') _
def complianceEnabled = true;
def pullRequest = env.CHANGE_ID
def pullTarget = env.CHANGE_TARGET
def org = "adoption"
def repoName = "predix-rmd-ref-app"
def branchName = env.BRANCH_NAME
def jobName = "app-predix-rmd-ref-app"
def devMvnSettings = "mvn_settings_snapshot_with_external.xml"
def buildDependencyJobs = ""
def dependencyRepos = "local-setup, predix-scripts, data-exchange-simulator, predix-webapp-starter, rmd-datasource, predix-websocket-server"
def dependencyJobs = "util-local-setup, util-predix-scripts, MS-data-exchange-simulator, app-predix-webapp-starter, MS-rmd-datasource, MS-predix-websocket-server"
def quickstartScript = "quickstart-rmd-ref-app.sh"
def uiAppName = ""
def uiTestJobName = ""

pipeline {
agent {
docker {
image 'predixadoption/devrelprediximage:latest'
label 'dind'
}
}
environment {
COMPLIANCEENABLED = true
CF_AWS_CREDS = credentials('cf_aws_creds')
DEVCLOUD_ARTIFACTORY_CREDS = credentials('devcloud_artifactory_creds')
EXT_GITHUB_CREDS = credentials('external_git_creds')
EXT_ARTIFACTORY_USER_CREDS = credentials('external_artifactory_user_creds')
}
parameters {
string(name: 'BUILD', defaultValue: 'true', description: 'checkout, build, test and/or deploy')
string(name: 'INCREMENT', defaultValue: 'none', description: 'increment version - patch | major | minor')
string(name: 'INCREMENT_DEPENDENCIES', defaultValue: 'false', description: 'point at latest dependencies in develop')
string(name: 'MERGE_MASTER', defaultValue: 'false', description: 'merge to master')
string(name: 'RELEASE', defaultValue: 'false', description: 'release master to production')
string(name: 'SMOKE_TEST', defaultValue: 'false', description: 'run smoketests in production')
string(name: 'MORE_SWITCHES', defaultValue: '', description: 'more things for quickstart to do')
string(name: 'INSTANCE_PREFIX', defaultValue: 'rmd-ref-app', description: 'this is a prefix added to app names and service names to make them unique')
string(name: 'POPS', defaultValue: 'uswest,useast,frankfurt,japan', description: 'one or more of these: uswest,useast,frankfurt,japan')
string(name: 'LIVE_PUSH', defaultValue: 'false', description: 'deploy live app to uswest')
}
stages {
stage("Checkout" ) {
steps {
echo "The workspace is ${env.WORKSPACE}"
script {
echo 'Stage Checkout'
internalrelease.checkoutPropelSharedLibrary()
}
}
post {
success {
echo "Checkout stage completed successfully"
}
failure {
echo "Checkout stage failed"
}
}
}
stage("Build, Test, Deploy" ) {
when {
allOf { environment name: 'BUILD', value: 'true'; environment name: 'MERGE_MASTER', value: 'false'; environment name: 'INCREMENT', value: 'none'; environment name: 'INCREMENT_DEPENDENCIES', value: 'false'; environment name: 'RELEASE', value: 'false'; environment name: 'SMOKE_TEST', value: 'false'; }
}
steps {
script {
echo 'Stage Build, Test, Deploy'
internalrelease.build(org, repoName, branchName, jobName, buildDependencyJobs.split(','), devMvnSettings, quickstartScript)
}
}
post {
success {
echo "Build, Test, Deploy stage completed successfully"
}
failure {
script {
echo "Build, Test, Deploy stage failed"
internalrelease.buildFailed(repoName)
}
}
}
}
stage('MergeToDevelop') {
when {
environment name: 'CHANGE_TARGET', value: 'develop'
}
steps {
script {
echo 'Stage MergeToDevelop'
internalrelease.mergeToDevelop()
}
}
}
stage('IncrementVersion') {
when {
branch 'develop'
environment name: 'INCREMENT', value: 'patch'
}
steps {
script {
echo 'Stage Increment - run this stage to increment version on develop'
internalrelease.incrementVersion(org, repoName, env.INCREMENT, "mvn_settings_snapshot_with_external.xml")
}
}
post {
success {
echo "IncrementVersion stage completed, time to trigger increment dependencies on dependent projects to point at my new version"
}
failure {
echo "Increment stage failed"
}
}
}
stage('IncrementVersionInDependencies') {
when {
branch 'develop'
environment name: 'INCREMENT_DEPENDENCIES', value: 'true'
}
steps {
script {
echo 'Stage IncrementVersionInDependencies - run this stage - when versions of dependencies have changed, to point at latest versio of that dependency'
internalrelease.incrementDependencies(org, repoName)
}
}
post {
success {
echo "incrementDependencies stage completed successfully"
}
failure {
echo "incrementDependencies stage failed"
}
}
}
stage('MergeMaster') {
when {
branch 'develop'
anyOf { environment name: 'MERGE_MASTER', value: 'true'; }
}
steps {
script {
internalrelease.mergeToMaster(org, repoName, dependencyRepos, dependencyJobs)
build job: "app-predix-rmd-ref-app/develop",parameters: [[$class: 'StringParameterValue', name: 'INCREMENT', value: 'patch'], [$class: 'StringParameterValue', name: 'BUILD', value: 'false']] ,propagate: false, wait: false
}
}
post {
success {
echo "MergeMaster completed successfully"
}
failure {
echo "MergeMaster failed"
}
}
}
stage("Release, SmokeTest" ) {
when {
environment name: 'RELEASE', value: 'true'
}
steps {
script {
echo 'Stage Release, SmokeTest'
externalrelease.release(org, repoName, branchName, jobName, dependencyRepos, dependencyJobs)
}
}
post {
success {
echo "Release completed successfully"
}
failure {
echo "Release failed"
}
}
}
stage("Live push - USWest") {
when {
// branch 'master'
environment name: 'LIVE_PUSH', value: 'true'
}
steps {
script {
lock ("${repoName}-Live-Push") {
externalrelease.livePushRefApp("${params.INSTANCE_PREFIX}")
}
}
}
post {
success {
echo "Live push completed successfully"
}
failure {
echo "Live push failed"
}
}
}
}
post {
always {
script {
internalrelease.cleanupAfterJob()
notifications.sendFlowdockMsg()
}
}
}
}
69 changes: 69 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
### GE Software Development License Agreement – General Release

THIS SOFTWARE LICENSE AGREEMENT (the “License”) describes the rights granted by the General Electric Company, operating through GE Digital (also referred to as “GE Software”), located at 2623 Camino Ramon, San Ramon, CA 94583 (herein referred to as “Licensor”) to any entity (the “Licensee”) receiving a copy of any of the following GE Digital development materials: Predix DevBox; Predix Reference Application (“RefApp”); Predix Dashboard Seed; Predix Px, Predix Security Service redistributable .jar files; Predix Machine redistributable .jar files; and Predix Machine SDK . These materials may include scripts, compiled code, supporting components, and documentation and are collectively referred to as the “Licensed Programs”. Both Licensor and Licensee are referred to hereinafter as a “Party” and collectively as the “Parties” to this License

### Section 1 – Conditional Grant.

No Licensee is required to accept this License for use of the Licensed Programs. In the absence of a signed license agreement between Licensor and Licensee specifying alternate terms, any use of the Licensed Programs by the Licensee shall be considered acceptance of these terms. The Licensed Programs are copyrighted and are licensed, not sold, to you. If you are not willing to be bound by the terms of this License, do not install, copy or use the Licensed Programs. If you received this software from any source other than the Licensor, your access to the Licensed Programs is NOT permitted under this License, and you must delete the software and any copies from your systems.

### Section 2 – Warranty Disclaimer.

NO WARRANTIES. LICENSOR AND OUR AFFILIATES, RESELLERS, DISTRIBUTORS, AND VENDORS, MAKE NO WARRANTIES, EXPRESS OR IMPLIED, GUARANTEES OR CONDITIONS WITH RESPECT TO USE OF THE LICENSED PROGRAMS. LICENSEE’S USE OF ALL SUCH PROGRAMS ARE AT LICENSEE’S AND CUSTOMERS’ OWN RISK. LICENSOR PROVIDES THE LICENSED PROGRAMS ON AN “AS IS” BASIS “WITH ALL FAULTS” AND “AS AVAILABLE.” LICENSOR DOES NOT GUARANTEE THE ACCURACY OR TIMELINESS OF INFORMATION AVAILABLE FROM, OR PROCESSED BY, THE LICENSED PROGRAMS. TO THE EXTENT PERMITTED UNDER LAW, LICENSOR EXCLUDES ANY IMPLIED WARRANTIES, INCLUDING FOR MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, WORKMANLIKE EFFORT, AND NON-INFRINGEMENT. NO GUARANTEE OF UNINTERRUPTED, TIMELY, SECURE, OR ERROR-FREE OPERATION IS MADE.

THESE LICENSED PROGRAMS MAY BE USED AS PART OF A DEVELOPMENT ENVIRONMENT, AND MAY BE COMBINED WITH OTHER CODE BY END-USERS. LICENSOR IS NOT ABLE TO GUARANTEE THAT THE LICENSED PROGRAMS WILL OPERATE WITHOUT DEFECTS WHEN USED IN COMBINATION WITH END-USER SOFTWARE. LICENSEE IS ADVISED TO SAFEGUARD IMPORTANT DATA, TO USE CAUTION, AND NOT TO RELY IN ANY WAY ON THE CORRECT FUNCTIONING OR PERFORMANCE OF ANY COMBINATION OF END-USER SOFTWARE AND THE LICENSED PROGRAMS AND/OR ACCOMPANYING MATERIALS. LICENSEE IS ADVISED NOT TO USE ANY COMBINATION OF LICENSED PROGRAMS AND END-USER PROVIDED SOFTWARE IN A PRODUCTION ENVIRONMENT WITHOUT PRIOR SUITABILITY AND DEFECT TESTING.

### Section 3 – Feedback.

It is expressly understood, acknowledged and agreed that you may provide GE reasonable suggestions, comments and feedback regarding the Software, including but not limited to usability, bug reports and test results, with respect to Software testing (collectively, "Feedback"). If you provide such Feedback to GE, you shall grant GE the following worldwide, non-exclusive, perpetual, irrevocable, royalty free, fully paid up rights:

A). to make, use, copy, modify, sell, distribute, sub-license, and create derivative works of, the Feedback as part of any product, technology, service, specification or other documentation developed or offered by GE or any of its affiliates (individually and collectively, "GE Products");

B). to publicly perform or display, import, broadcast, transmit, distribute, license, offer to sell, and sell, rent, lease or lend copies of the Feedback (and derivative works thereof) as part of any GE Product;

C). solely with respect to Licensee's copyright and trade secret rights, to sublicense to third parties the foregoing rights, including the right to sublicense to further third parties; and d. to sublicense to third parties any claims of any patents owned or licensable by Licensee that are necessarily infringed by a third party product, technology or service that uses, interfaces, interoperates or communicates with the Feedback or portion thereof incorporated into a GE Product, technology or service. Further, you represent and warrant that your Feedback is not subject to any license terms that would purport to require GE to comply with any additional obligations with respect to any GE Products that incorporate any Feedback.

### Section 4 – Reserved

### Section 5 – Limitation of Liability.

LIABILITY ARISING UNDER THIS LICENSE, WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), SHALL BE LIMITED TO DIRECT, OBJECTIVELY MEASURABLE DAMAGES. LICENSOR SHALL HAVE NO LIABILITY TO THE OTHER PARTY OR TO ANY THIRD PARTY, FOR ANY INCIDENTAL, PUNITIVE, INDIRECT, OR CONSEQUENTIAL DAMAGES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. LIABILITY FOR ANY SOFTWARE LICENSED FROM THIRD PARTIES FOR USE WITH THE SERVICES IS EXPLICILTLY DISCLAIMED AND LIMITED TO THE MAXIMUM EXTENT PERMITTED BY LAW.

Notwithstanding anything to the contrary, the aggregate liability of Licensor and its suppliers under this License shall not exceed the total amounts paid by Licensee to Licensor hereunder during the one-year period immediately preceding the event which gave rise to the claims.

### Section 6 – License.

A). License Grant. Subject to the terms and conditions of this License, Licensor hereby grants Licensee a worldwide, perpetual, royalty-free, non-exclusive license to:

i) install the Licensed Programs on Licensee’s premises, and permit Licensee’s users to use the Licensed Programs so installed, solely for Licensee’s own development, testing, demonstration, staging, and production of Licensee’s own software that makes use of the Licensed Programs in a way that adds substantial functionality not present in the Licensed Programs (the result, a “Licensee Application”);

ii) permit Licensee to permit third-party hosts (“Hosts”) to install the Licensee Application on such Hosts’ respective premises on Licensee’s behalf, and permit Licensee’s users to access and use the Licensed Programs so installed, solely for Licensee’s own development, testing, demonstration, staging and production purposes

iii) install the Licensee Application on Licensee’s own premises and permit its own users to use the Licensee Application so installed on the same terms as sub-sections (i) and (ii) above.

B). For the purposes of this License, the right to “use” the Licensed Programs shall include the right to utilize, run, access, store, copy, test or display the Licensed Programs. No right or license is granted or agreed to be granted to disassemble or decompile any Licensed Programs furnished in object code form, and Licensee agrees not to engage in any such conduct unless permitted by law. Reverse engineering of Licensed Programs provided in object code form is prohibited, unless such a right is explicitly granted by any explicit license subject to sub-section (d) below or as a matter of law, and then only to the extent explicitly permitted. Licensor shall have no obligation to support any such reverse engineering, any product or derivative of such reverse engineering, or any use of the Licensed Programs with any modified versions of any of their components under this License.

C). Licensee shall ensure that any Licensee Applications incorporate the Licensed Programs in such a way as to prevent third parties (other than Hosts) from viewing the code of the Licensed Programs or gaining access to any programmatic interface or other hidden aspect of the Licensed Programs. Licensee shall also restrict distribution of the Licensed Programs, including as part of Licensee Applications, to only those parties who are notified of, and subject to, an enforceable obligation to refrain from any of the prohibited activities listed herein, such as reverse engineering or disassembling the Licensed Programs.

D). Use of some open source and third party software applications or components included in or accessed through the Licensed Programs may be subject to other terms and conditions found in a separate license agreement, terms of use or “Notice” file located at the download page. The Licensed Programs are accompanied by additional software components solely to enable the Licensed Programs to operate as designed. Licensee is not permitted to use such additional software independently of the Licensed Programs unless Licensee secures a separate license for use from the named vendor. Do not use any third party code unless you agree with the applicable license terms for that code.

E). Title. Title to and ownership of the Licensed Programs shall at all times remain with Licensor.

### Section 7 – Termination.

A). The Licensor reserves the right to cease distribution and grant of further licenses to any or all of the Licensed Programs at any time in its sole discretion.

B). The Licensor reserves the right to at any time and at its sole discretion provide updated versions of any or all of the Licensed Programs that supercede and replace the prior version of that Licensed Program.

C). Your license rights under Section 6 are effective until terminated as described below:

i). This license and all rights under it will terminate or cease to be effective without notice if Licensee breaches the terms of the License and does not correct or remedy such breach promptly.

ii). Notwithstanding the foregoing, Licensee may terminate this License at any time for any reason or no reason by providing the Licensor written notice thereof.

D). Upon any expiration or termination of this License, the rights and licenses granted to you under this License shall immediately terminate, and you shall immediately cease using and delete the Licensed Programs. Licensee Applications based upon the Licensed Programs (see Section 6(a) above) are not subject to this limitation.

In the event of any expiration or termination of this Licensee, any Confidentiality provision, disclaimers of GE’s representations and warranties, choice of applicable law and limitations of GE’s liability shall survive.

### Section 8 – Applicable Law.

The License shall be governed by and interpreted in accordance with the substantive law of the State of California, U.S.A., excluding its conflicts of law provisions, and by the courts of that state.
Loading

0 comments on commit 8318ffc

Please sign in to comment.