在Gradle中,是否可以使用远程构建文件构建项目
例如:
我寻找这个的主要原因是,我们可以共享一个通用的gradle文件,该文件包含gradle模板插件,并让团队快速为web应用程序或java库构建一个gradle项目
根据收到的少量评论进行更新:
再加上一些背景,今天我们为加入我们团队的新工程师(实习生、jr开发人员、横向招聘等)做这件事
我正在寻找解决方案,将上述两行合并为一行。应用模式不能解决这个问题
同时,将其合并为一个对Windows用户也有一定帮助。否则,他们需要在运行此操作之前安
我有一个特定的任务,当在--parallel中运行时,可能会导致构建中断。是否存在防止在特定任务上并行执行的方法?我在考虑Java方法中的synchronized关键字。目前不存在此类功能。不过,您可以尝试使用synchronized
我使用gradle多项目构建,我使用所有项目和子项目对任务进行分组,但我遇到的情况是,只有一组子项目需要一组任务
ex::project1有任务a、b、c
项目2有b、c、d
项目3有d、e、f
我想试试像这样的东西
projects(':project1',':project2'){
task b{}
task c{}
}
projects(':project2',':project3'){
task d{}
}
但似乎没有办法完成,因为gradle中
我正试着用我现有的gradle项目来安装Sonar Runner。我使用的是Sonar Runner 2.4 Gradle 2.2.1,我们的Sonar服务器是4.3.1。当我运行gradle Sonar Runner时,我得到以下错误:
无法解析配置“”的所有依赖项。
无法解析外部依赖项org.codehaus.sonar.runner:sonar runner dist:2.4,因为未定义存储库
我确实在我的nexus服务器中有一个工件“org.codehaus.sonar.runner:s
情景:
Root project
|- Project1
根项目和项目1都有一个名为b的任务。
根项目有一个名为a的任务,该任务依赖于b。
当我调用gradlea时,任务b仅在根项目中执行。它不在project1中执行
这是一个问题还是设计成这样?这不是问题。虽然这些任务具有相同的名称,但它们是不同的。这就像两个变量在不同的类中同名一样。如果您将任务依赖性设置为:
taskA.dependsOn taskB
它在同一项目的任务之间建立依赖关系。如果需要提供对子项目任务的依赖关系,
标签: Gradle
android-gradle-pluginbuild.gradle
我试图在build.gradle中调用自定义方法时出错
在build.gradle文件中:
def func() {
String str = "hello world!"
str
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
String str = func()
println "$str"
......
好的,下面3个错误我“认为”,但如果他们没有让我知道。(我非常喜欢gradle的可定制性,这些都是角落里的bug,但仍然是不一致的行为)
渐变版本2.14.1
Eclipse Neon 4.6.0构建id 20160613-1800
用于gradle 1.0.20v20160901-0734的Eclipse插件
我喜欢让事情变得无缝,所以我真的很想把eclipse和这个项目一起作为测试运行,让事情变得无缝
BUG 1:相反,我在eclipse buildship gradle插件中发现了一个
是否可以通过GIT存储库与其他项目共享build.gradle(需要凭据)
简化的Build.gradle:
apply plugin: 'checkstyle'
checkstyle {
toolVersion = "7.4";
reportsDir = file("$project.buildDir/reports/checkstyle/")
}
您可以使用,或者获取文件
apply from: 'path/to/file.gradle'
我正在构建一个Java项目,称之为a。a的源代码位于a/src/main/Java。还有其他项目B、C、D(实际上更多),它们有B/src/main/java,C/src/main/java,D/src/main/java。当我接管这个项目A时,我注意到旧的JBuilder构建脚本在并行目录中引用了B、C和D的源代码。我不喜欢这样,因为其他目录中的源文件可能会更改。我想使用Gradle修改构建,以便从本地Maven repo中提取其他项目的版本化源,并且从a的角度来看,在编译期间,我引用其他项目
标签: Gradle
android-gradle-plugin
我正在开发一款android应用程序,具有多种风格,如:
sourceSets {
main {
res.srcDirs += ["headend/ott/res"]
}
flavor1 {
res.srcDirs += ["src/module1/res-splash"]
}
flavor2 {
java.srcDirs += ["src/module1/java"]
res.srcDi
以前,使用Gradle构建多平台项目依赖于每个目标平台的单独Gradle插件:kotlin platform common、kotlin platform js、以及kotlin platform jvm
,现在使用一个kotlin multiplatform插件将其统一
然而,在我的项目中,我有多个多平台项目,它们之间有一些依赖关系。使用旧的多平台配置,每个不同的平台都是一个单独的模块,需要在项目之间添加依赖项,将每个平台特定模块中的项目引用添加到其他项目中的相应模块:例如,project(“
我的目录结构如下:
dir -|
|
- sub_dir1 -|
| |
| - file1
|
- sub_dir2 -|
| |
| - file2
|
- sub_dir3 -|
|
- file3
dir -|
|
- s
我有一个特殊的构建脚本,它输出一个Alpine APK,我需要上传到一个通用的Artifactory存储库。如何将apk输出标记为需要获取和发布的工件?如果您使用的是CloudRepo存储库,您可以使用curl发布。您可以使用Artifactory来实现这一点。是的,我可能会退回到使用Artifactory插件的DSL版本。
我正在使用avast的docker compose插件。下面是相关章节。如何判断在配置阶段是否调用mandatoryDockerWebTag()?检查插件代码以确定何时调用闭包的唯一方法是什么
很多时候,我只想在任务图中包含任务时提供信息,但获取这些信息可能成本高昂、不可用,或者在获取项目参数时需要验证项目参数。例如,我不希望有人带着“latest”标记打开堆栈的prepod docker image实例,因此如果mandatoryDockerWebTag()是“latest”,它将抛出一个异常
这是设置。我有一个Gradle插件,可以根据您的配置向项目中添加一些任务。此任务执行许多操作,然后在项目中构建可执行jar并运行jar。这在运行任务时工作正常
但是,如果我在Intellij运行配置中选择Gradle任务并点击debug,它显然不会连接到从任务运行的jar的代理库
有没有什么方法可以让intellij不连接到Gradle任务进程,而是连接到我运行的jar
我需要从插件运行jar,因为要启动jar的配置在Gradle配置中。您可以使用jar应用程序运行/调试配置。要直接从Gradl
我们在main中有一些测试(因此它们可以内置到服务中并从服务中运行)。最新的渐变默认为不将main中的源识别为测试代码
我想我可以使用Nebula Facets插件,但以下内容也不能解决这个问题:
facets {
functionalTest {
parentSourceSet = 'main'
includeInCheckLifecycle = false
}
}
以下是如何覆盖srcDirs:
facets {
functionalTest {
inc
我没有ConsumeFilesTaskType的源代码,它需要列表文件列表,该列表由task1生成
现在,由于这些文件在配置阶段不存在,gradle在配置阶段失败,出现错误无法调用null对象上的toList()方法,因为没有文件
我也许能做到
task task1(type: ProduceFilesTaskType) {
outDir = file("$projectDir/some/files")
}
task task2(type: ConsumeFilesT
下面两段代码之间有什么区别吗
任务的快速初始化可能有一些不同吗
tasks.bootJar {
archiveFileName = "some-name"
}
及
它们实际上是相同的,只是语法不同。两者都会导致任务实现或初始化。您可以通过简单地运行调试输出来确认这一点:/gradlew-d
您将看到以下记录行:
[DEBUG][org.gradle.internal.operations.DefaultBuildOperationRunner]生成操作“实现任务:b
我的项目有一个远程依赖项,它实际上只是某些文件的压缩,需要在某个地方解压缩,以便构建可以从这些文件生成新的java源代码。(我说的是一般性问题,而不是具体问题)
我没想到这会这么难,但我一直无法让它工作。以下是我创建的内容:
我定义了一个新配置:
configurations {
newConf
}
稍后,我为这个确认定义了一个依赖项。它解析为我需要分解的zip文件:
dependencies {
newConf "group:name:version@zip"
}
到目前为
我们已经使用gradle大约一年了,在这方面取得了一些成功。许多功能仍然有点不透明,但我们正在实现这一点。我不确定我是否正确地解决了问题,因此我将继续提问:
我看到的gradle的所有示例都有一个根项目和一个级别的子项目。出于多种原因,我们希望整合我们的git项目。所有这些都是gradle项目,其中一些有gradle子项目。我们最终想要的是一个多层次的梯度结构。我们不想改变所有这些项目的gradle设置,而是希望有一个顶级gradle来管理所有项目和相应的子项目。我的第一次尝试表明,我无法拥有一
ScalaTest具有不同测试的特性。在执行testtask(正如scalatest-maven插件中所述)时,以某种方式指导gradle应该运行哪种类型的测试是非常好的。如何实现这一点?由于Gradle没有任何特定的ScalaTest支持,问题是ScalaTest是否以JUnit兼容的方式公开此功能。或者,您可以利用Gradle对JUnit类别的支持(请参阅中的“23.12.5.测试分组”)
标签: Gradle
transitive-dependency
在我们的复合项目中,有人过渡地依赖于asm-4和asm-3
我想知道是谁将这些可传递的依赖项带到了项目中
有没有办法画一张依赖关系图,或者以某种方式找出谁依赖asm-3/asm-4
注意:asm依赖项是buildSrc/buildScript依赖项,而不是构建过程本身。键入gradle dependencies查看整个图表。也可以排除依赖项。在buildSrc中搜索.cd,然后运行gradle dependencyInsight--configuration runtime--dependenc
我在我的项目中与selenium一起使用Gradle 1.7和Test ING,我面临的问题是,我已经为我想要进行的测试序列定义了一个xml文件。build.gradle中定义的测试行如下-
test {
useTestNG(){
options.suites("src/test/resources/sample.xml")
}
}
Gradle无法识别sample.xml文件,并且没有执行任何测试,只是在跳过。
谁能帮我一下吗。我希望测试按照sample.xml中定义的相同顺序执
我想知道是否有可能以某种方式获得关于测试执行顺序的信息
我在maven有一个项目,所有的测试都通过了。在我将项目迁移到Gradle之后,其中一个测试开始失败。测试本身正在工作,当我执行'gradle Test-Dtest.single=…'时,它通过了。然而,当我为整个项目运行测试时,它失败了
在测试失败之前的一些测试可能没有正确地释放资源,因此测试失败。但我需要找出是哪些测试导致了这个问题
谢谢
Matthew告诉Gradle记录更多关于测试处理的事件。有一个文档说明了如何做到这一点更具体一些
我正在尝试使用Gradle创建一个LibGDX项目。我已经使用Gradle安装应用程序“创建”了该项目,但是当我尝试在Eclipse上导入它时,我收到以下错误:
org.eclipse.osgi.internal.framework.EquinoxConfiguration$1
我提示我查看错误日志,但是(我知道这很尴尬)我找不到错误日志
所以我被困在最后一关。导致错误的一个原因可能是我没有下载Android组件(我对创建应用程序不感兴趣,只对桌面应用程序感兴趣)。不过,我已经在Gradle设置
我将JAVA_OPTS与disableassertions一起使用,但是当运行gradletest时,仍然有JAVA.lang.AssertionError的输出。为什么?
构建.渐变:
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: "groovy"
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.3.6' // for compile gr
如何有效地使用Gradle--debug
默认情况下,只需设置标志即可输出大量信息,因此变得毫无用处
我只想输出我想查看调试信息的记录器。您能详细说明“我想只输出我想查看调试信息的记录器”的含义吗?另外,您尝试过使用--info标志吗?假设我有一个自定义任务,我执行getProject.getLogger,然后将大量内容记录到info和debug中。但是如果我使用debug,那么“垃圾”会有太多的输出,我不想输出,所以我无法使用该级别。无意冒犯,但也许你应该重新考虑你的日志策略,大部分时间使用信
我有一个kotlin库项目,并使用Spek进行测试。在我的测试中,我尝试使用以下功能:
inline fun JsonElement?.cast<reified T>(gson: Gson): T {
return if (this != null)
gson.fromJson<T>(this, javaClass<T>())
else null
}
但是,此代码编译正确:
这是正确的行为吗?您得到的异常是编译器中的错误
您得到的警告是正确
Gradle似乎声称,在构建war文件时,它不包括providedCompile和providedRuntime作用域
但是,当我使用下面的war配置进行构建时,一个名为“lib provided”的文件夹似乎包含所有提供的作用域JAR。如何将此功能限制为不包括提供的作用域JAR
configure(rootProject) {
apply plugin: 'idea'
apply plugin: 'spring-boot'
apply plugin: 'io.s
我想使用SonarQube gradle插件来分析我的多模块项目。我的项目基于spring boot,它为spring boot依赖项设置了默认版本,例如,我可以这样定义我的依赖项:
dependencies {
compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile("com.h2database:h2")
}
spring boot gradle插件将为gradle构建插入合适的版本
标签: Gradle
build.gradlegradlewgradle-eclipse
我是格拉德尔的新手。我把我的一个maven项目改成了gradle。我安装了EclipseGradle插件。之后,我像下面那样配置gradle
这是我的身材,格雷德尔
apply plugin: 'application' // implicitly apply java and distribution plugin
apply plugin: 'eclipse'
sourceCompatibility = 1.8
targetCompatibility = sourceCompatibil
我想使用gradle3.1和Gradle播放插件。我必须添加一个任务
你能帮我把下面的代码片段从版本4.0解析到3.1?
我在Gradle 3.1中找不到类似的属性testClassesDirs
task doesNotWorkIn3_1(type: Test) {
dependsOn { tasks.compilePlayBinaryTests }
testClassesDirs = project.files { [tasks.compilePlayBinaryTests.
标签: Gradle
Ant
build.gradlegradle-plugingradle-eclipse
我是gradle新手,正在将ant build.xml脚本迁移到gradle。通常情况下,复制任务非常简单,但是我遇到了这个小而复杂的复制任务(可能也很简单),它启用了详细信息和文件集。我能知道如何将这个ant代码转换成gradle任务吗
<copy todir="client" verbose="true">
<fileset dir="${build.classes}">
<include name="com/corp/domai
sonarqube与Java项目的合作给我们留下了深刻的印象,我们计划通过分析Android项目进入下一个层次。我们有sonaqube版本-5.6.6和gradle-2.8。下面是我为android项目build.gradle添加的配置
依赖项{
classpath“org.sonarsource.scanner.gradle:sonarqube-gradle插件:2.1”
}
声纳{
服务器{
url=“http:sonar url.com”
}
}
应用插件:“sonar”嗨,我很好奇,当
我想将gradle多项目迁移到Java9。我想一步一步地走,而不是尝试大爆炸。我的想法是从顶部(主模块)开始,然后向下工作。这意味着,我将在Java9中拥有一个主模块,而其他模块仍在Java8中。
如果我的信息是正确的,一个好方法是将Java8中的模块集成为自动模块。它可以与第三方libs作为jar一起工作,但我不知道如何教gradle使用我自己的java8模块。
假设我有一个主java9模块“java9”和一个java8库模块“java8”
到目前为止我所做的:
“java8”build.gr
标签: Gradle
android-support-library
当我尝试重建firebase登录应用程序时,android studio 3.1.3中出现以下错误。请帮助
support-compat-27.1.1.aar\76a2bb1ead9b3a164321ee3d23767645\res\values
\values.xml:50:4: Error: The content of elements must consist of well-formed
character data or markup.
您需要检查values文件夹中的value
标签: Gradle
Junit
junit5java-platform-module-systemjava-11
我尝试在Gradle项目中使用JUnit5compileJava和compileTestJava都成功,但test失败,出现奇怪消息无法执行测试类“模块信息”。(来自stacktrace的消息):
测试结果文件提示我“未能执行测试”,但堆栈跟踪看起来很奇怪。JUnit似乎正在尝试运行与我的module info.java文件对应的类:
org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not exec
每次我进行gradle构建或./gradlew构建时,我都会得到一个ArrayIndexOutOfBoundsException
这是stacktrace:
Exception is:
org.gradle.process.internal.ExecException: A problem occurred waiting for process 'Gradle build daemon' to complete.
at org.gradle.process.internal.D
我在lint-gradle-api.jar中有一个错误,我在论坛上查看了其他类似的问题,但我仍然有这个问题。
有人有主意吗
运行Gradle时出错:
退出代码1:C:\Users\bgbra\Documents\flatter\u apps\flatter\u app\android\gradlew.bat app:属性:
项目评估失败,包括afterEvaluate{}中的错误。使用--stacktrace运行以获取afterEvaluate{}错误的详细信息
失败:生成失败,出现异常
我在本地网络上有一个托管的Sonatype Nexus存储库。它有一个Maven组,其中包含公共存储库的代理存储库。在过去,这种配置非常出色,我很少遇到问题
我最近在Nexus存储库上配置了https和ssl,因为Docker在CI/CD过程中不会轻易登录到不安全的Nexus Docker注册表。在这一点上,我确实重新配置了Maven存储库
然后我更新了build.gradle:
使用~/.gradle/gradle.properties中定义的nexus*变量:
nexus=
我还使用k
我已经将我用Kotlin编写的基于Gradle的pancakes库拆分为多个模块:pancakes core,pancakes-addon1,…,pancakes-addonN。插件包括核心插件
现在,大多数用户不应该在意,只需要包含所有依赖项的默认配置。但他们必须编写样板文件:
dependencies {
implementation("pancakes:pancakes-core")
implementation("pancakes:pancakes-addon1")
在我的Gradle项目中,我可以用实现条目声明一个依赖项块,没有问题。但是,当我尝试声明类似的内容时,我会得到一个错误:
allprojects {
dependencies {
implementation("...")
}
}
我得到的错误是:
Could not find method implementation() for arguments [org.mockito:mockito-core:2.25.0]
on object o
我希望使我的build.gradle依赖项保持最新。使用Node.js,我运行(以及稍后的npm更新)
格拉德尔最近的路线是什么
);我的意思是在任何项目的控制台中运行它。Gradle不提供这种开箱即用的功能
您可以按照链接的问题中的建议,查看。请注意,此插件不会更新依赖项,但会生成一个描述可能更新的报告
相应的Github页面还显示了指向的链接,该链接提供了一个名为useLatestVersions的任务,该任务具有您请求的功能。Gradle不提供这种功能现成的
您可以按照链接的问题中的建议,
我正在开发一个新闻应用程序,但我从gradle控制台收到以下错误
(androidx.core:core:1.0.1) and classes.jar (com.android.support:support-compat:28.0.0)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules classes.jar (androidx.core:core:1.0.1) and c
我使用的是Flink连接器Kafka 1.8.0。(取决于卡夫卡客户端2.0.1)
使用gradle:
// https://mvnrepository.com/artifact/org.apache.flink/flink-connector-kafka
compile group: 'org.apache.flink', name: 'flink-connector-kafka_2.12', version: '1.8.0'
我想知道我是否可以强制它使用卡夫卡客户端2.4.0
我想知道f
我正在尝试解析gradle项目中的依赖项,当我打开该项目并尝试同步gradle时,出现以下错误:
错误:连接超时:连接。如果您在HTTP代理之后,
请在IDE或Gradle中配置代理设置
然后我意识到我需要在gradle配置公司网络的代理,
我在gradle.properties文件中设置了代理:
systemProp.http.proxyHost=someIP
systemProp.http.proxyPort=somePort
systemProp.http.proxyUser=user
s
标签: Gradle
gradle-plugingradle-tooling-api
我正在使用Gradle工具API来获得关于Gradle项目的不同见解,例如项目任务、Gradle版本等等
这个分析的一部分要求我知道项目应用了哪些插件(直接的和传递的)。
我找不到从工具API获取项目插件的方法。
有办法吗?工具API仅限于查询构建的方式,没有列出构建插件的API,但工具API允许您添加自己的插件和模型,您可以使用这些插件和模型来查询构建
这有点复杂,但您需要向构建中添加一个(例如通过init.gradle)来提供自定义模型和插件来查询构建
这是一个很好的回购协议,展示了如何做到
如果我有10-15个第三方依赖项需要包含在X数量的Gradle项目中,那么什么是最好和最有效的方法
备选方案1)
复制/粘贴每个项目的build.gradle中的每个依赖项。大量代码重复
备选方案2)
创建一个包含所有这些第三方依赖项的新项目,并将每个项目的build.gradle中的第三方依赖项声明替换为新项目的依赖项声明。代码仍然重复,但比选项1少得多
备选方案3)
更聪明的东西,如果它存在的话???选项(2)就是你想要的
这就是Spring启动程序的本质。例如,springbootstar
标签: Gradle
gradle-dependencies
我认为在Gradle构建脚本中通过通配符模式进行某种模式匹配来构造一组依赖排除是很好的。基本上,我认为应该支持的是
someConfiguration('someGroup:someArtifact:someVersion') {
exclude group: 'org.opensaml', module: 'opensaml*' // <-- Note the wildcard.
}
someConfiguration('someGroup:someArtifact:someVe
我正在使用Windows。在我的C:\Users\csaba.gradle\init.gradle文件中,我有以下内容:
allprojects {
repositories {
mavenLocal()
maven {
url "http://localhost:8082/artifactory/repo"
}
}
}
这应该将gradle配置为使用本地.m2存储库以及运行在本地主机(基本
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 167 页