mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-03-18 07:14:09 +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'
|
group = 'com.tools.security'
|
||||||
version = '0.0.2'
|
version = '0.0.3'
|
||||||
|
|
||||||
//-------------------------------
|
//-------------------------------
|
||||||
// Local debug use only
|
// Local debug use only
|
||||||
//
|
//
|
||||||
//uploadArchives {
|
uploadArchives {
|
||||||
// repositories {
|
repositories {
|
||||||
// mavenDeployer {
|
mavenDeployer {
|
||||||
// repository(url: uri('../../../repo'))
|
repository(url: uri('../../../repo'))
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
//}
|
}
|
||||||
//-------------------------------
|
//-------------------------------
|
||||||
|
|
||||||
// publish to Bintray
|
// 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
|
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.Plugin
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.slf4j.Logger
|
|
||||||
import org.slf4j.LoggerFactory
|
|
||||||
|
|
||||||
class DependencyCheckGradlePlugin implements Plugin<Project> {
|
class DependencyCheckGradlePlugin implements Plugin<Project> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void apply(Project project) {
|
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)
|
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.reporting.ReportGenerator
|
||||||
import org.owasp.dependencycheck.utils.Settings
|
import org.owasp.dependencycheck.utils.Settings
|
||||||
|
|
||||||
|
import static org.owasp.dependencycheck.utils.Settings.setString
|
||||||
|
|
||||||
class DependencyCheckTask extends DefaultTask {
|
class DependencyCheckTask extends DefaultTask {
|
||||||
|
|
||||||
def currentProjectName = project.getName()
|
def currentProjectName = project.getName()
|
||||||
|
|
||||||
@TaskAction
|
@TaskAction
|
||||||
def check() {
|
def check() {
|
||||||
Settings.initialize()
|
initializeSettings()
|
||||||
def engine = new Engine()
|
def engine = initializeEngine()
|
||||||
|
|
||||||
verifyDependencies(engine)
|
verifyDependencies(engine)
|
||||||
analyzeDependencies(engine)
|
analyzeDependencies(engine)
|
||||||
@@ -25,6 +27,15 @@ class DependencyCheckTask extends DefaultTask {
|
|||||||
generateReport(engine)
|
generateReport(engine)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Engine initializeEngine() {
|
||||||
|
new Engine()
|
||||||
|
}
|
||||||
|
|
||||||
|
def initializeSettings() {
|
||||||
|
Settings.initialize()
|
||||||
|
overrideProxySetting()
|
||||||
|
}
|
||||||
|
|
||||||
def verifyDependencies(engine) {
|
def verifyDependencies(engine) {
|
||||||
logger.lifecycle("Verifying dependencies for project ${currentProjectName}")
|
logger.lifecycle("Verifying dependencies for project ${currentProjectName}")
|
||||||
getAllDependencies(project).each { engine.scan(it) }
|
getAllDependencies(project).each { engine.scan(it) }
|
||||||
@@ -50,6 +61,21 @@ class DependencyCheckTask extends DefaultTask {
|
|||||||
reportGenerator.generateReports("./reports/${currentProjectName}", ReportGenerator.Format.ALL)
|
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) {
|
def getAllDependencies(project) {
|
||||||
return project.getConfigurations().collect { Configuration configuration ->
|
return project.getConfigurations().collect { Configuration configuration ->
|
||||||
configuration.getResolvedConfiguration().getResolvedArtifacts().collect { ResolvedArtifact artifact ->
|
configuration.getResolvedConfiguration().getResolvedArtifacts().collect { ResolvedArtifact artifact ->
|
||||||
|
|||||||
Reference in New Issue
Block a user