
org.gradle.cf.InfoCloudFoundryTask.groovy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gradle-cf-plugin Show documentation
Show all versions of gradle-cf-plugin Show documentation
A plugin for Gradle that allows various operations on the CloudFoundry platform, like deploying, managing services, ...
The newest version!
/*
* Copyright 2012 the original author or authors.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.gradle.cf
import org.gradle.api.tasks.TaskAction
import org.cloudfoundry.client.lib.CloudInfo
import org.cloudfoundry.client.lib.ServiceConfiguration
/**
* A basic task which can be used to get info from CloudFoundry platform.
*/
class InfoCloudFoundryTask extends AbstractCloudFoundryTask {
InfoCloudFoundryTask() {
super()
description = 'Displays information about the target CloudFoundry platform'
}
@TaskAction
void info() {
connectToCloudFoundry()
CloudInfo info = client?.cloudInfo
List configurations = client?.serviceConfigurations
log """Platform name: $info.name
Platform version: $info.version build $info.build
Debug ${info.allowDebug?'on':'off'}
Support: $info.support
Platform description: $info.description
Available runtimes:
${ info.runtimes.collect { CloudInfo.Runtime f-> "$f.name $f.version"}.join('\n ') }
Available services:
${ info.frameworks.collect { CloudInfo.Framework f->
"${f.name} (${f.runtimes.collect { CloudInfo.Runtime rt -> rt.version}.join(", ")})"}.join('\n ')
}
Service configurations:
${configurations.collect { ServiceConfiguration it ->
" Vendor: ${it.vendor.padRight(16)} Type: ${it.type.padRight(16)} Version: ${it.version.padRight(6)} Desc.: $it.description"
}.join('\n ')}
Usage:
Applications : $info.usage.apps/$info.limits.maxApps
Services : $info.usage.services/$info.limits.maxServices
Memory : $info.usage.totalMemory MB/$info.limits.maxTotalMemory MB
URIs per application: $info.usage.urisPerApp/$info.limits.maxUrisPerApp
"""
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy