mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-01-14 07:43:40 +01:00
implement the nested configuration for proxy settings
This commit is contained in:
@@ -19,10 +19,7 @@
|
||||
package com.tools.security.extension
|
||||
|
||||
class DependencyCheckExtension {
|
||||
String proxyServer
|
||||
Integer proxyPort
|
||||
String proxyUsername
|
||||
String proxyPassword
|
||||
ProxyExtension proxyExtension;
|
||||
|
||||
String cveUrl20Modified
|
||||
String cveUrl12Modified
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
/*
|
||||
* This file is part of dependency-check-gradle.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Copyright (c) 2015 Wei Ma. All Rights Reserved.
|
||||
*/
|
||||
|
||||
package com.tools.security.extension
|
||||
|
||||
class ProxyExtension {
|
||||
String server
|
||||
Integer port
|
||||
String username
|
||||
String password
|
||||
}
|
||||
@@ -19,13 +19,15 @@
|
||||
package com.tools.security.plugin
|
||||
|
||||
import com.tools.security.extension.DependencyCheckExtension
|
||||
import com.tools.security.extension.ProxyExtension
|
||||
import com.tools.security.tasks.DependencyCheckTask
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
|
||||
class DependencyCheckGradlePlugin implements Plugin<Project> {
|
||||
private static final String EXTENSION_NAME = 'dependencyCheck'
|
||||
private static final String ROOT_EXTENSION_NAME = 'dependencyCheck'
|
||||
private static final String TASK_NAME = 'dependencyCheck'
|
||||
private static final String PROXY_EXTENSION_NAME = "proxy"
|
||||
|
||||
@Override
|
||||
void apply(Project project) {
|
||||
@@ -34,7 +36,8 @@ class DependencyCheckGradlePlugin implements Plugin<Project> {
|
||||
}
|
||||
|
||||
def initializeConfigurations(Project project) {
|
||||
project.extensions.create(EXTENSION_NAME, DependencyCheckExtension)
|
||||
project.extensions.create(ROOT_EXTENSION_NAME, DependencyCheckExtension)
|
||||
project.dependencyCheck.extensions.create(PROXY_EXTENSION_NAME, ProxyExtension)
|
||||
}
|
||||
|
||||
def registerTasks(Project project) {
|
||||
|
||||
@@ -112,17 +112,17 @@ class DependencyCheckTask extends DefaultTask {
|
||||
|
||||
def overrideProxySetting() {
|
||||
if (isProxySettingExist()) {
|
||||
logger.lifecycle("Using proxy ${config.proxyServer}:${config.proxyPort}")
|
||||
logger.lifecycle("Using proxy ${config.proxy.server}:${config.proxy.port}")
|
||||
|
||||
overrideStringBasedSettingWhenProvided(PROXY_SERVER, config.proxyServer)
|
||||
overrideStringBasedSettingWhenProvided(PROXY_PORT, "${config.proxyPort}")
|
||||
overrideStringBasedSettingWhenProvided(PROXY_USERNAME, config.proxyUsername)
|
||||
overrideStringBasedSettingWhenProvided(PROXY_PASSWORD, config.proxyPassword)
|
||||
overrideStringBasedSettingWhenProvided(PROXY_SERVER, config.proxy.server)
|
||||
overrideStringBasedSettingWhenProvided(PROXY_PORT, "${config.proxy.port}")
|
||||
overrideStringBasedSettingWhenProvided(PROXY_USERNAME, config.proxy.username)
|
||||
overrideStringBasedSettingWhenProvided(PROXY_PASSWORD, config.proxy.password)
|
||||
}
|
||||
}
|
||||
|
||||
def isProxySettingExist() {
|
||||
config.proxyServer != null && config.proxyPort != null
|
||||
config.proxy.server != null && config.proxy.port != null
|
||||
}
|
||||
|
||||
def getAllDependencies(project) {
|
||||
|
||||
@@ -48,10 +48,10 @@ class DependencyCheckGradlePluginSpec extends PluginProjectSpec {
|
||||
expect:
|
||||
task.group == 'Dependency Check'
|
||||
task.description == 'Produce dependency security report.'
|
||||
project.dependencyCheck.proxyServer == null
|
||||
project.dependencyCheck.proxyPort == null
|
||||
project.dependencyCheck.proxyUsername == null
|
||||
project.dependencyCheck.proxyPassword == null
|
||||
project.dependencyCheck.proxy.server == null
|
||||
project.dependencyCheck.proxy.port == null
|
||||
project.dependencyCheck.proxy.username == null
|
||||
project.dependencyCheck.proxy.password == null
|
||||
project.dependencyCheck.cveUrl12Modified == null
|
||||
project.dependencyCheck.cveUrl20Modified == null
|
||||
project.dependencyCheck.cveStartYear == null
|
||||
@@ -64,10 +64,12 @@ class DependencyCheckGradlePluginSpec extends PluginProjectSpec {
|
||||
def 'tasks use correct values when extension is used'() {
|
||||
when:
|
||||
project.dependencyCheck {
|
||||
proxyServer = '127.0.0.1'
|
||||
proxyPort = 3128
|
||||
proxyUsername = 'proxyUsername'
|
||||
proxyPassword = 'proxyPassword'
|
||||
proxy {
|
||||
server = '127.0.0.1'
|
||||
port = 3128
|
||||
username = 'proxyUsername'
|
||||
password = 'proxyPassword'
|
||||
}
|
||||
cveUrl12Modified = 'cveUrl12Modified'
|
||||
cveUrl20Modified = 'cveUrl20Modified'
|
||||
cveStartYear = 2002
|
||||
@@ -78,10 +80,10 @@ class DependencyCheckGradlePluginSpec extends PluginProjectSpec {
|
||||
}
|
||||
|
||||
then:
|
||||
project.dependencyCheck.proxyServer == '127.0.0.1'
|
||||
project.dependencyCheck.proxyPort == 3128
|
||||
project.dependencyCheck.proxyUsername == 'proxyUsername'
|
||||
project.dependencyCheck.proxyPassword == 'proxyPassword'
|
||||
project.dependencyCheck.proxy.server == '127.0.0.1'
|
||||
project.dependencyCheck.proxy.port == 3128
|
||||
project.dependencyCheck.proxy.username == 'proxyUsername'
|
||||
project.dependencyCheck.proxy.password == 'proxyPassword'
|
||||
project.dependencyCheck.cveUrl12Modified == 'cveUrl12Modified'
|
||||
project.dependencyCheck.cveUrl20Modified == 'cveUrl20Modified'
|
||||
project.dependencyCheck.cveStartYear == 2002
|
||||
|
||||
Reference in New Issue
Block a user