首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输出build.Gradle文件依赖项的Python脚本

输出build.Gradle文件依赖项的Python脚本
EN

Stack Overflow用户
提问于 2019-02-01 01:18:48
回答 1查看 1.7K关注 0票数 1
代码语言:javascript
复制
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格式,这样我就可以填充数据库。理想情况下就像

代码语言:javascript
复制
org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}
org.springframework.boot:spring-boot-starter-web
org.springframework.boot:spring-boot-starter-test

我尝试了许多方法,但似乎无法获得所需的输出。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-06-18 13:05:55

build.gradle文件是一个脚本,我建议你不要解析脚本文件,因为它没有稳定的数据结构。

例如:你必须使用正则表达式来替换字符串中的数据,有时用户定义了一个与正则表达式模式相同的变量。

我认为通过执行gradle命令添加依赖项的最好方法如下:

代码语言:javascript
复制
import os
os.system('./gradlew app:dependencies --configuration implementation')

你可以找到gradle插件,它们可以帮助我们将依赖项检索到项目中。然后通过python脚本执行gradle命令。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54465981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档