mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-01-14 15:53:36 +01:00
add ability for user to customize proxy setting
Former-commit-id: 8b5093ccc75751bbea1415334bd5f4335bc5bbc6
This commit is contained in:
@@ -33,18 +33,18 @@ dependencies {
|
||||
}
|
||||
|
||||
group = 'com.tools.security'
|
||||
version = '0.0.2'
|
||||
version = '0.0.3'
|
||||
|
||||
//-------------------------------
|
||||
// Local debug use only
|
||||
//
|
||||
//uploadArchives {
|
||||
// repositories {
|
||||
// mavenDeployer {
|
||||
// repository(url: uri('../../../repo'))
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
uploadArchives {
|
||||
repositories {
|
||||
mavenDeployer {
|
||||
repository(url: uri('../../../repo'))
|
||||
}
|
||||
}
|
||||
}
|
||||
//-------------------------------
|
||||
|
||||
// publish to Bintray
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.tools.security.extension
|
||||
|
||||
class DependencyCheckConfigurationExtension {
|
||||
String proxyServer
|
||||
Integer proxyPort
|
||||
String proxyUsername = ""
|
||||
String proxyPassword = ""
|
||||
}
|
||||
@@ -1,15 +1,23 @@
|
||||
package com.tools.security.plugin
|
||||
|
||||
import com.tools.security.tasks.DependencyCheckTask;
|
||||
import com.tools.security.extension.DependencyCheckConfigurationExtension
|
||||
import com.tools.security.tasks.DependencyCheckTask
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.LoggerFactory
|
||||
|
||||
class DependencyCheckGradlePlugin implements Plugin<Project> {
|
||||
|
||||
@Override
|
||||
void apply(Project project) {
|
||||
initializeConfigurations(project)
|
||||
registerTasks(project)
|
||||
}
|
||||
|
||||
def initializeConfigurations(Project project) {
|
||||
project.extensions.create("dependencyCheck", DependencyCheckConfigurationExtension)
|
||||
}
|
||||
|
||||
def registerTasks(Project project) {
|
||||
project.tasks.create("dependencyCheck", DependencyCheckTask)
|
||||
}
|
||||
}
|
||||
@@ -10,14 +10,16 @@ import org.owasp.dependencycheck.dependency.Dependency
|
||||
import org.owasp.dependencycheck.reporting.ReportGenerator
|
||||
import org.owasp.dependencycheck.utils.Settings
|
||||
|
||||
import static org.owasp.dependencycheck.utils.Settings.setString
|
||||
|
||||
class DependencyCheckTask extends DefaultTask {
|
||||
|
||||
def currentProjectName = project.getName()
|
||||
|
||||
@TaskAction
|
||||
def check() {
|
||||
Settings.initialize()
|
||||
def engine = new Engine()
|
||||
initializeSettings()
|
||||
def engine = initializeEngine()
|
||||
|
||||
verifyDependencies(engine)
|
||||
analyzeDependencies(engine)
|
||||
@@ -25,6 +27,15 @@ class DependencyCheckTask extends DefaultTask {
|
||||
generateReport(engine)
|
||||
}
|
||||
|
||||
private Engine initializeEngine() {
|
||||
new Engine()
|
||||
}
|
||||
|
||||
def initializeSettings() {
|
||||
Settings.initialize()
|
||||
overrideProxySetting()
|
||||
}
|
||||
|
||||
def verifyDependencies(engine) {
|
||||
logger.lifecycle("Verifying dependencies for project ${currentProjectName}")
|
||||
getAllDependencies(project).each { engine.scan(it) }
|
||||
@@ -50,6 +61,21 @@ class DependencyCheckTask extends DefaultTask {
|
||||
reportGenerator.generateReports("./reports/${currentProjectName}", ReportGenerator.Format.ALL)
|
||||
}
|
||||
|
||||
def overrideProxySetting() {
|
||||
if (isProxySettingExist()) {
|
||||
logger.lifecycle("Using proxy ${project.dependencyCheck.proxyServer}:${project.dependencyCheck.proxyPort}")
|
||||
|
||||
setString(Settings.KEYS.PROXY_SERVER, project.dependencyCheck.proxyServer)
|
||||
setString(Settings.KEYS.PROXY_PORT, "${project.dependencyCheck.proxyPort}")
|
||||
setString(Settings.KEYS.PROXY_USERNAME, project.dependencyCheck.proxyUsername)
|
||||
setString(Settings.KEYS.PROXY_PASSWORD, project.dependencyCheck.proxyPassword)
|
||||
}
|
||||
}
|
||||
|
||||
def isProxySettingExist() {
|
||||
project.dependencyCheck.proxyServer != null && project.dependencyCheck.proxyPort != null
|
||||
}
|
||||
|
||||
def getAllDependencies(project) {
|
||||
return project.getConfigurations().collect { Configuration configuration ->
|
||||
configuration.getResolvedConfiguration().getResolvedArtifacts().collect { ResolvedArtifact artifact ->
|
||||
|
||||
Reference in New Issue
Block a user