Build file '/Users/yomateod/workspace/work/spring.black/tags/build.gradle' line: 35
A problem occurred evaluating root project 'tags'.
> Could not find method getCurrentVersion() for arguments [] on root project 'tags' of type org.gradle.api.Project.
apply plugin: 'versionest'
version = getCurrentVersion()
任务类:
package matthewdavis.io.plugins.versionest.tasks;
import matthewdavis.io.plugins.versionest.Version;
import org.gradle.api.DefaultTask;
import org.gradle.api.tasks.TaskAction;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GetVersion extends DefaultTask {
public static Version getCurrentVersionFromFile() throws IOException {
String file = Files.readString(Path.of("version.properties"));
Pattern pattern = Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)");
Matcher matcher = pattern.matcher(file);
matcher.find();
Version version = new Version();
if (matcher.groupCount() == 3) {
version.setMajor(Integer.parseInt(matcher.group(1)));
version.setMinor(Integer.parseInt(matcher.group(2)));
version.setPatch(Integer.parseInt(matcher.group(3)));
} else {
System.out.println("ERROR: invalid format for version.properties");
}
return version;
}
@TaskAction
public String getCurrentVersion() throws IOException {
Version version = getCurrentVersionFromFile();
System.out.println(version);
return version.getMajor() + "." + version.getMinor() + "." + version.getPatch();
}
}
正如您在上面看到的,我有getCurrentVersion()
方法,通过gradle运行它可以正常工作:
$ gradle getCurrentVersion
> Configure project :
unspecified
> Task :getCurrentVersion
Version(major=0, minor=1, patch=0)
完整的build.gradle
请访问https://github.com/spring-black/tags/blob/master/build.gradle#L35。
想通了..我需要使用“扩展”将我的值公开给build.gradle
:
project.getExtensions().create("versionest", VersionestExtension.class);
扩展类如下所示:
public class VersionestExtension {
public Version getVersion() throws IOException {
return GetVersion.getCurrentVersionFromFile();
}
}
build.gradle
:
apply plugin: 'versionest'
version = versionest.version.toString()
10:45:29 PM: Executing task 'compileJava'...
> Configure project :
0.1.0
我正在尝试使用状态代码201的Ihttpstatus标头获取此JSON响应,并将IHttpActionResult作为我的方法返回类型。 我想要返回的JSON: {“客户 ID”: 324} 我的方法: JSON返回: “ID”:324,“日期”:“2014-06-18T17:35:07.8095813-07:00”, 以下是我尝试过的一些返回,它们要么给了我uri null错误,要么给了我类似于
我正在使用maven-publish插件。我有一个出版物叫MyMedia。当我尝试执行时,它返回null。如果有maven-publish插件创建的名称为null的任务,为什么会返回null。 我尝试了Francisco Mateo的建议,使用afterEvaluate方法,但这似乎对我也不起作用。 然而,当我试图找出真正的原因时,我发现了一个有趣的观察。我发现,当我从任务中调用时,它工作得非常好
我为gradle创建了一个简单的基于groovy的插件。 在我的毕业典礼上。构建文件我有以下内容: 一切都很好,我得到了一个构建目录和一个. jar在lib文件夹中生成,我想这是独立的插件。 现在我想知道如何将这个新插件注册到我的gradle安装中,这样我就可以应用插件了:“myPlugin”我做了以下工作: 将插件放入安装中的插件文件夹 创建了myplugin.properties文件并将其包含
我正在尝试创建一个自定义任务/插件(两者都拒绝工作),用于我的gradle构建脚本。 我正在使用groovy插件,希望在单独的文件中声明任务/插件,而不是在我的构建中。格拉德尔。 我的项目树如下所示: 我试图做的是在中创建我的任务/插件类,然后在。 让我举一个小例子。 TestTask。groovy: build.gradle 当我尝试使用我的gradle.build(清洁,构建等)做任何事情时,
我对我的代码有个问题。我已经将类Employee声明为抽象。其下有3种抽象方法:抽象字符串部门、抽象int work_days和抽象void print_info。 现在,我创建了扩展Employee抽象类的第二类Tester。我实现了抽象方法。
问题内容: 我正在用Gradle创建一个构建过程,我想提供一个使用Java代码的插件。Gradle 插件文档 说 这是可能的: 您可以使用任何喜欢的语言来实现自定义插件,前提是该实现最终会编译为字节码。对于此处的示例,我们将使用Groovy作为实现语言。如果需要,可以改用Java或Scala。 但是,经过数小时的谷歌搜索和阅读之后,我还没有找到有关如何使用Java创建Gradle自定义插件的任何说