我试图避免在服务器的配置文件中使用纯文本密码。在这种情况下,我想使用gradle-credentials(https://github.com/etiennestuder/gradle-credentials-plugin)插件来模糊它们的价值。
我已经导入了必要的依赖关系,现在能够使用加密的密码创建“ gradle.encrypted.properties”文件。我当前的问题是,当我尝试运行gradle wrapper命令并应用 com.marklogic.ml-data-hub 插件时,DHF连接到Application Server并失败,然后我才能使用加密的凭据。
我认为我缺少一些细节,因为Marklogic文档指出我们可以从gradle.properties文件中删除password属性。
我的build.gradle文件包含以下内容:
buildscript {
dependencies {
classpath fileTree(dir: "ml-gradle-dependencies", include: "*.jar")
}
}
apply plugin: "com.marklogic.ml-data-hub"
apply plugin: "nu.studer.credentials"
apply plugin: "net.saliman.properties"
apply plugin: "java"
apply plugin: "idea"
apply plugin: "eclipse"
repositories {
mavenLocal()
}
ext {
mlManageConfig.password = credentials.mlPassword
mlManageConfig.securityPassword = credentials.mlPassword // only needed if setting mlSecurityUsername
mlAdminConfig.password = credentials.mlPassword
println mlAdminConfig.password
mlAppConfig.restAdminPassword = credentials.mlPassword
mlAppConfig.appServicesPassword = credentials.mlPassword
// Re-initialize the connections to the Admin and Manage servers
mlManageClient.manageConfig=mlManageConfig
mlAdminManager.adminConfig=mlAdminConfig
}
dependencies {
// this allows you to write custom java code that depends
// on the Data Hub Framework library
compile 'com.marklogic:marklogic-data-hub:4.1.1'
compile 'com.marklogic:marklogic-xcc:9.0.7'
}
然后我从gradle.properties文件中删除了 mlPassword 后,我收到了以下错误消息
其中: 构建文件'C:\ workspaces \ CAPL \ tmp \ marklogic \ dhf \ build.gradle'行:7
出了什么问题: 评估根项目“ dhf”时出现问题。
无法应用插件[id'com.marklogic.ml-data-hub'] 没有提供密码
答案 0 :(得分:0)
在marklogic-gradle Wiki中有一个关于此的页面:
https://github.com/marklogic-community/ml-gradle/wiki/Encrypting-passwords
简短的回答是,gradle生态系统中已有一些插件可以管理密码,而marklogic-gradle也可以使用这些插件。