我想在不执行单元测试的情况下执行gradlebuild。我试过:
$ gradle -Dskip.tests build
那似乎没什么用。还有其他命令可以使用吗?试试:
gradle assemble
要列出项目的所有可用任务,请尝试:
gradle tasks
更新:
起初,这似乎不是最正确的答案,但请仔细阅读gradletasksoutput或docs
Build tasks
-----------
assemble - Assembles the outputs of this pr
我试图强迫Gradle以我自己的方式创建jar。为此,我编写了自己的Gradle任务(单独的类),现在我想用它替换默认的jar任务,以便:
归档文件总是与我的新任务一起生成,而从不与旧的jar任务一起生成
我的新任务与其他任务的关系与默认的jar任务相同-它取决于类任务,构建任务使用它,等等
我希望我的任务在最新时不会被调用(就像默认的jar)
我正在努力做到这一点,我有很多困难来实现这一点。例如,我无法强制build任务始终使用我的新任务
如果有人能给我一个简短的介绍,我将不胜感激。这应该
具有以下提取物:
当我使用此方法在项目中创建自定义配置时,我发现:
isDevBuild === true
i、 这总是正确的,因为任务“developerBuild”在我的build.gradle项目中,因此在图中。他们有两个“不同”的配置(isCIBuild、isCommitBuild、isFinalReleaseBuild等等),所以我想我这里出了点问题
有人能解释一下如何根据一些外部参数使此配置有条件吗?taskGraph.hasTask()告诉我们任务是否在任务执行图中,即它是否会被
在gradle(1.9)中,我有多个子项目。每个插件都使用应用程序插件来创建tar和cli。我试图把所有这些焦油变成一个统一的焦油,但我有很多麻烦
以下是我正在寻找的tar格式:
${project.name}/${subproject.name}.tar
我已经尝试使用Tar任务和分发插件,但是对于每一个,我都无法找到一种干净的方法来获取生成的Tar(或任何Tar),并将它们放在顶层,排除所有其他内容
下面是一个使用DistiBution插件的示例,但它没有提供我喜欢的输出
apply pl
我有一个空的Android项目,我想给它添加一些库。
例如,毕加索
因此,我编辑了“app/build.gradle”,并在依赖项块中添加了以下行:
dependencies {
compile 'com.android.support:support-v4:19.0.0'
compile 'com.android.support:appcompat-v7:19.0.0'
compile 'com.squareup.picasso:picasso:2.2.0'
c
我想添加Robospice库时出错;这是我的build.gradle文件:
apply plugin: 'android'
android {
// Check on it to know witch Android API level is necessary:
// http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels
compileSdkVersion 19
b
从今天起,我的一个项目的构建在Travis CI上失败了,因为解压缩gradle 1.11时出现了问题。这适用于较新的版本以及前几天执行良好的旧版本gradlew Assembly在我的本地机器上运行良好,但在Travis CI上却失败了:
这个问题从何而来?访问http://services.gradle.org/distributions/gradle-1.11-bin.zip从我的机器上,我得到了一个合适的发行版,可以解压缩并运行。这可能与我使用JDK1.8有关吗 问题既不是由Travis
我有一个gradle多模块项目结构,如下所示:
项目--
测试套件--
TestSuite和proj并行的位置
此测试套件在构建期间需要module3依赖项,如何使用此结构实现,以及执行此测试套件的最佳方式是什么
我试过这个:
这是否意味着我需要在根级别创建一个settings.gradle和build.gradle,如下所示:
settings.gradle---includeFlat“proj”,“TESTSUIT”
build.gradle----项目:TestSuit'{dependen
我有几个版本,版本号如下
2.2.0.0、2.2.0.1、2.2.0.2和2.2.0
我想要2.2.0而不是2.2.0.1
我的意思是+只寻找次要版本,而不期待下一个数字。因此2.2+将只查找2.2.0,2.2.1,2.2.2..等。。。
不会去寻找2.2.0.1,2.2.0.2…等等
有没有可能使+符号像那样映射
我的意思是+符号只查找第三个数字,第四个数字将被忽略
dependencies {
prepare group: "com.abc.efg", name: "app1",ve
我想知道在使用动态版本时,是否可以只使用最终的非beta依赖项子集,例如
testCompile group: 'junit', name: 'junit', version: '4.+'
下载http://repo1.maven.org/maven2/junit/junit/4.12-beta-1/junit-4.12-beta-1.jar,但我想使用任何最终的JUnit4版本
这怎么可能呢?版本:“latest.release”给出了最新版本。目前无法获取最新的4.发布版本
我是安卓工作室的新人,
当我在studio中导入任何android gradle(例如github.com/k9mail/k-9)项目时,
它显示了大量错误:
Error:Unable to start the daemon process.
此问题可能是由于守护进程的配置不正确造成的。
例如,使用了无法识别的jvm选项。
请参阅《用户指南》中有关守护程序的章节,网址为
请阅读以下流程输出以了解更多信息:
错误:无法找到或加载主类Xmx512m
我还将文件>>设置>>下的“Gradle VM选
当我显式调用configurations.customConfig.resolve()时,会调用afterResolve,否则它永远不会发生。因为我告诉Gradle不要缓存更改的模块,所以我假设每次都会调用afterResolve。即使我手动清理Gradle的缓存afterResolve也不会被调用。为什么?
configurations {
customConfig
}
dependencies {
customConfig('org.foo:foo:1.0') {
我正在使用gradle构建我的项目,使用以下build.gradle文件:
project('a'){
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'application'
buildDir = 'build'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
repositories {
标签: Gradle
checkstylesevntu-checkstyle
我已将Gradle构建脚本配置为使用checkstyle和添加的sventu checkstyle检查,但是当我执行checkstyleMain任务时,构建失败,出现以下错误:
* What went wrong:
Execution failed for task ':checkstyleMain'.
> Unable to create a Checker: cannot initialize module TreeWalker - Unable to instantiate Avoi
在编写gradle插件时,是否可以为应用该插件的项目向compile和testCompile类路径添加依赖项
如果是这样,有没有一个简单的例子可以参考
例如,;比如说,我想写一个插件,其中包括将AWS Java API JAR添加到一个项目中,也就是说,我在项目的类路径上获得JAR,在那里我应用插件,允许我根据它们进行编译
谢谢我不确定我是否完全理解这个问题,但是你可以看看gradle war插件(),它定义了新任务提供的编译,它扩展了编译
编辑:使用依赖项制作插件
在您的示例中,插件完全可能像
正是标题所说的
我继承了一个使用gradle的遗留项目,模块之间的相互依赖性让我头疼。是否有插件/进程/黑魔法会在未使用的依赖项上使构建失败?我将对此进行一次重击
标签: Gradle
licensingmaven-central
如果交付使用gradle依赖关系管理和maven central提供的大量开源LIB的Java应用程序,检查一级依赖关系的许可证就足够了(因为它们的依赖关系也必须自动与其许可证兼容)或者我必须检查整个可传递依赖关系树,以查看是否有任何许可证问题 您应该检查整个树。由于您在运行时需要可传递的依赖项,您将以某种方式(war/zip/uber-jar)将它们打包在一起,因此您确实关心它们的许可证。谢谢,是的,我也这么认为。
我有这样一个场景
目前,我有一个用于一些部署相关任务的测试工件。此测试工件与testng类捆绑在一起以处理部署。我已经创建了一个gradle任务,它在gradle文件中调用testng类。由于这是一个可重用的组件,我要求所有想要部署该产品的工程师将任务复制到他们的测试梯度文件中。现在我想对这个任务有更多的控制,我想把它打包成插件的一部分,让工程师应用插件并导入任务。另外,我们还计划用插件打包上述测试工件
在谷歌上搜索时,我没有看到任何关于这个场景的工作示例。有人能给我举一个这样的例子吗。Grad
我正在编写一个转换,向已经有特定注释的字段添加一些额外的注释
我向编译器提供了以下配置
import groovy.transform.CompileStatic
import groovy.transform.PackageScope
import org.codehaus.groovy.ast.ASTNode
import org.codehaus.groovy.ast.AnnotationNode
import org.codehaus.groovy.ast.ClassHelper
imp
我创建了一个示例gradle项目。我的项目构建生成一个jar文件。我正在使用gradle clean build命令。如何为我的项目生成war文件而不是jar文件?您需要将war文件包含到Gradle构建中
apply plugin: 'war'
我基本上是在寻找一种方法来模仿提供的maven依赖项。我正在构建一个jar(db驱动程序的扩展),它依赖于另一个jar(db驱动程序),但我不想包含那个jar
我可以使用compileOnly来实现这一点,但是现在测试不会运行或编译,因为测试中不包含所需的jar
我尝试了一系列可用的依赖项,比如testCompile,但是我找不到一个可以使jar在编译时以及测试运行和编译时可用的依赖项
我怎样才能把那个罐子放进去
编辑:根据请求,build.gradle文件:
group 'com.mygrou
我在gradle中有一个名为release的自定义任务,我希望此任务执行清理和构建任务:
task release
{
//do something
clean
build
}
我知道可以从命令行调用任务,比如
gradle build release
但我想知道是否可以在自定义任务中执行生成任务?您只需使用“finalizedBy”功能,或者在“release”任务中配置它:
task release
{
finalizedBy clean, build
我试图自定义由应用程序插件生成的启动脚本,但找不到将自定义变量传递给startScripts任务使用的默认TemplateBasedScriptGenerator的API。
如果不存在,解决方法是什么?
谢谢
我已经有一段时间没有对Gradle做任何事情了,所以我似乎忘记了配置解析是如何工作的
我试图使用gretty插件(而不是core,不推荐的jetty),但我似乎无法创建自定义配置
我将其归结为一个非常简短的脚本(使用Gradle 3.4):
我似乎不喜欢在fooTest配置上迭代
假设我需要知道该配置的依赖项(我从上面的代码中剥离了该部分)
我做错了什么
上面的脚本告诉我:
org.gradle.api.InvalidUserDataException: Cannot change strate
我有一个gradle项目,配置如下
apply plugin: 'java'
apply plugin: 'maven'
repositories {
mavenCentral()
maven {
credentials {
username "$System.env.REPOSITORY_USER"
password "$System.env.REPOSITORY_PWD"
}
使用Gradle构建Java或Groovy时,可以这样定义源代码编码:
compileJava {
options.encoding = 'UTF-8'
}
compileTestJava {
options.encoding = 'UTF-8'
}
compileGroovy {
groovyOptions.encoding = 'UTF-8'
}
compileTestGroovy {
groovyOptions.encoding = 'UTF-8'
}
因此,我有一个项目,我想运行一个任务多次,每次使用不同的系统参数值,但是我似乎不能在bash脚本中多次调用gradle,这是不可取的。我尝试了/gradlew myTask-Dproperty=“value1”myTask-Dproperty=“value2”,它运行了两次myTask,这很好,但两次都使用property=value2运行。有没有办法做到这一点
编辑:我还应该提到,直到构建时我才知道value1和value2。因此,我无法将它们硬核到构建脚本中。请查看以下方法:
task ex
我想编写一个bash脚本,它只为我的项目中已更改(构建后)的模块获取输出的jar,以便我可以将它们复制到服务器上。我不想每次都要复制每个模块jar,就像做一个完全干净的构建一样。这是一个使用git的gradle项目。我知道gradle可以只基于代码已经更新的模块进行增量构建,但是有没有办法调用这个插件(假设它是一个插件)?我在网上做了一些搜索,但找不到任何信息 Gradle的概念是与任务相关的输入和输出。Gradle会在任务第一次运行时以及每次后续执行时对其输入和输出进行快照。这些快照包含每个文
我有一个gradle构建文件,它需要一个特定的jar文件作为依赖项
jar文件驻留在AWS的S3存储桶中
gradle构建文件是在Jenkins上执行的,Jenkins box已经有一个IAM策略,允许它从S3上传和下载(我不控制该策略,所以我不能提供更多关于该策略的信息)
在我的gradle构建文件中,我将S3存储桶指定为存储库,如下所示:
maven {
url "s3://myBucket/myPath"
credentials(AwsCredentials) {
标签: Gradle
minecraftminecraft-forge
我开始使用minecraft mod,但我无法正确使用build.gradle
我想在applied energistics的基础上创建一个mod,但当我将这个mod作为gradle依赖项添加时,我无法创建它。我在另一个存储库中查找了所有的依赖项,但是当我构建它时,会出现如下错误,以及在通用的minecraft代码库中出现的一些其他错误
这是我现在掌握的代码:
buildscript {
repositories {
jcenter()
maven { u
有没有办法指定Gradle任务运行的单元测试类的顺序
我想在列表的前面或后面找到一些已知的运行时间较长的测试,但不知道如果不在多个任务之间分割测试的执行是否可行
运行JUnit 4.12和Gradle 4.5。Gradle只是将执行委托给JUnit运行程序
因此,如果需要特定的测试类排序,则需要创建一个套件,并按照所需的顺序指定测试类,请参阅
现在,考虑到Gradle在拥有不同源根方面的灵活性,我强烈建议在Gradle级别进行分离,通过创建额外的测试源根、测试任务等等。这将允许您有效地控制这些长
我正在尝试为Gradle制作一个定制的独立Kotlin插件,并尝试将其应用于另一个项目,但在尝试将其应用于另一个项目时,却发现了一个id为“my.id.license-tools”的插件
这是插件项目的结构:
license-tools
+--src
+--main
| +--java
| |
| +--kotlin
| | +--my.id
| | +--LicenseTools.kt
| |
| +--resources
给定一个声明为gradle依赖项的zip文件
dependencies {
orientdb(group: "com.orientechnologies", name: "orientdb-community", version: orientdbVersion, ext: "zip")
}
其中包含以下结构中的文件
.
└── orientdb-community-2.2.33
├── benchmarks
│ ├── bench_memory_get.bat
标签: Gradle
android-gradle-plugin
在我的Gradle脚本中,我使用了一些库依赖项,比如
implementation "com.example:myLibrary:+"
我现在想在应用程序中显示使用了哪个版本的acutally。最简单的方法是使用保存版本信息的BuildConfigField。但是我怎么才能知道gradle acutally下载了哪个版本呢。是否有一种方法可以在gradle中确定这一点,或者我必须按照所述从路径中提取它?您可以尝试以下方法:
configurations.implementation.filte
我正在用Kotlin创建一个桌面应用程序,并试图混淆最终的输出
我使用JavaFx和Kotlin开发应用程序。我使用Gradle作为构建工具,我正在研究如何混淆我的jar,以避免在jar上进行反向工程。生成的jar是一个胖jar(所有库都在jar中)。我已经尝试在gradle.build中使用proguard,但每次运行我的构建时,我都会遇到很多“找不到引用类”的本机java库类,如Object、String等
以下是我当前的proguard任务:
def jarNameWithoutExten
我正在将owasp依赖项工具与retirejs一起使用,并试图找出如何在我的构建中排除整个文件夹。现在我也有
dependencyCheck{
outputDirectory = "${projectDir}/reports"
suppressionFile = "${projectDir}/gradle/owasp_config/suppress.xml"
analyzers {
experimentalEnabled = true
as
我正试图在Bamboo服务器上组装一个Android应用程序,但当assemble comand运行时,我遇到了这个错误。注意:它在本地应用程序中非常有效
命令运行:
灰飞虱
我得到的错误是:
Caused by: org.gradle.internal.UncheckedException: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android
仅给出Groovy DSL中的一个示例:
plugins {
id "org.jetbrains.kotlin.plugin.noarg" version "1.3.31"
}
noArg {
annotation("com.my.Annotation")
}
这如何转换成Kotlin DSL?因为Kotlin DSL是静态类型的,所以语法与Groovy DSL略有不同
import org.jetbrains.kotlin.noarg.gradle.NoArgExtension
我正在尝试将Kotlin集成到我们的构建系统中,该系统使用自定义插件封装特定构建原型所需的插件集。例如:
import org.gradle.api.plugins.GroovyPlugin
import org.gradle.api.plugins.JavaPlugin
import {our internal Java path}.OurBasePlugin
class OurJavaPlugin implements Plugin<Project> {
@Overr
我正在编写一个定制的Gradle插件,它需要在子项目中添加一个特定的依赖项。这个依赖项需要用户提供版本信息,所以我决定创建一个。然而,由于我的属性是在我的插件的apply方法中引用的,所以在它们被引用之前,我实际上不能对它们进行变异。我的插件看起来像这样:
class MyPluginExtension {
abstract String scalaLibraryVersion
abstract String macroParadiseVersion
}
class MyPlugin
我有一个带有几个Gradle模块的项目(我认为Gradle只是调用这些子项目)。基本上,我在settings.gradle中列出了一系列项目/模块。是否有一个Gradle命令来打印每个项目(名称或理想情况下提供的标签/描述)不引人注目的是,该任务简单地称为“项目”,并且(如果您使用的是Gradle包装器)/gradlew projects在根项目上执行时会列出所有子项目
一般来说,如果您正在寻找一项任务,您很有可能从/gradlew tasks显示的任务列表中猜出它的名称
我正在使用,但我认为Tekton或任何使用Kubernetes的pods和Gradle构建、测试和部署项目的管道的问题都是一样的
有没有办法通过多个pod共享Gradle守护进程
请注意,我启用了远程梯度缓存。不容易。Kubernetes插件的整个模型是每个构建都在一个新的环境中运行。您必须在构建之外运行它,可能是通过主机网络模式为on的守护程序,然后在构建中配置Gradle以查看不同的IP(主机IP),而不是本地主机
基本上每个人都只需要处理——无守护进程模式:-/如果我的理解是正确的,您已经
我对Quarkus和Gradle都是新手。我的问题是,我是否发现Quarkus、Gradle和GRPC插件存在问题,或者我的“build.Gradle”文件中是否存在错误
使用,我使用所有默认设置生成了一个新的应用程序,除了我将构建工具更改为“Gradle(Preview)”。我得到结果“CodewithQuarkUS”zip文件,部署它,并且能够很好地构建它。现在我想添加GRPC。首先,我添加了所有在非Quarkus项目中通常适用于我的GRPC Gradle条目。但是,我很快就遇到了这个问题。
标签: Gradle
gradle-plugingradle-kotlin-dsl
我有一个使用kotlin dsl的gradle项目:
plugins {
base
kotlin("jvm") version "1.3.70" apply false
}
//val scalaV: String by project
//val ext = SpikeExt(this)
allprojects {
apply(plugin = "java")
apply(plugin = "scala")
group = "com.tri
标签: Gradle
build.gradlegradle-pluginspotless
我有一个身材,格雷德尔和
plugins {
id {some plugin for all projects}
id "com.diffplug.spotless" version "5.1.1"
}
然后我有一个allprojects{}部分,它定义了一个apply插件:“jacoco”,还有一个subprojects{}部分,它声明apply插件:“java”和其他几个插件
立即添加一尘不染的乱七八糟的东西和错误,因为它找不到java插
标签: Gradle
android-gradle-pluginjacocojacoco-plugin
渐变版本:6.1.1
Android Gradle插件:4.0.0
当尝试运行我的jacoco覆盖时,它似乎没有考虑版本。当我查看HTML报告时,它声明“使用JaCoCo 0.7.9.201702052155创建”,尽管我的设置中有toolVersion=“0.8.5”。该报告也没有我在0.8.3中期望的与Kotlin相关的修正,作为第二次确认,它不起作用
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.8.5"
是否可以通过命令行或编程选项添加插件。我正在尝试扫描所有构建文件,如果缺少插件,则添加插件。有没有办法通过命令行添加或删除插件。您可以运行gradlew-I,--init script来运行初始化脚本
脚本示例:
init.gradle(groovy)
应用插件:EnterpriseRepositoryPlugin
类EnterpriseRepositoryPlugin实现插件{
私有静态字符串ENTERPRISE_REPOSITORY_URL=”https://repo.gradle.org/
标签: Gradle
dependency-management
这个问题已经发布了,但我没有看到任何解决方案
我们很少有如下声明的依赖项
dependencies {
testImplementation 'org.apache.curator:curator-test:4.2.0'
testImplementation 'org.apache.curator:curator-framework:4.2.0'
}
我们希望向该库的用户公开这些内容。由于它是测试实现,消费者需要显式声明这些我们想要避免的依赖项
因此,我希望将测试实现更改为它的
我已经将一个包含许多库的大型Gradle多模块项目划分为具有自己Git存储库的单模块项目。因此,构建速度要快得多,您可以更快地找到处理代码的方法。此外,并非所有内容都必须加载到IDE中。
但现在我遇到的问题是,必须先发布库中的更改,然后才能将其集成到应用程序项目中。与以前相比,这有点麻烦,因为以前所有内容都在一个源代码树中,并且创建了所有内容的发布。是否有一种优雅的方式来利用双方的优势(一个大型多模块项目与许多小型单模块项目)
我使用IntelliJ(Ultimate 2020.2)和Git,希
标签: Gradle
build.gradlemulti-module
我有一个多模块项目,其中一些模块依赖于其他子模块。我在sub-module-build.gradle中添加了这种依赖关系
实施项目(“:依赖项目名称”)
但是在构建过程中,由于标准的渐变构建顺序,我的编译失败
我可以在Gradle中自定义构建顺序吗?如果可以,那么我可以首先编译所有依赖的项目。这样我的构建就不会失败
1 2 3 4 5 6 ...
下一页 最后一页 共 165 页