My Python Script
import re
filename = "build.gradle"
pattern = re.compile(r"dependencies", re.IGNORECASE)
with open(filename, "rt") as in_file:
for line in in_file:
if pattern.search(line) != None:
#for line in in_file:
#print(line)
print(line, end='')
My Build.Gradle File
buildscript {
ext {
springBootVersion = '2.1.0.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-web')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
我正在尝试读取build.gradle文件,并且仅输出.gradle文件的依赖项。我需要输出为json格式,以便我可以填充数据库。理想情况下
org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}
org.springframework.boot:spring-boot-starter-web
org.springframework.boot:spring-boot-starter-test
我尝试了许多方法,但似乎无法获得我需要的输出。提前致谢。
答案 0 :(得分:0)
build.gradle
文件是一个脚本,我建议您不要解析脚本文件,因为它的数据结构不稳定。
例如:您必须使用正则表达式来替换字符串中的数据,有时用户定义一个与regex模式匹配的同名变量?
我认为通过执行gradle命令添加依赖项的最佳方法是:
import os
os.system('./gradlew app:dependencies --configuration implementation')
您可以找到gradle插件来帮助我们将依赖项检索到项目中。然后通过python脚本执行gradle命令。