Tag: gradle这个 Kotlin DSL

如何添加gradle(理想情况下使用kotlin-dsl)到现有的intellij python项目

有一些相当有用的以前的问题(特别是这一个,但它是过时的,不是一个直接的答案。 我们有几个python项目,但没有进入kotlin的世界。 我期待通过引入gradle来自动化Python项目中的任务来统一工具。 我已经添加了一个工作示例kotlin-dsl gradle脚本,可以在从shell启动时成功自动执行任务,但是在被阻止的位置添加了对intellij IDE的支持。 第一个挑战是简单地配置一个python项目来添加gradle(目前gradle甚至不会出现在工具窗口菜单上,我想python模块可以有python支持,这样可以让整个项目拥有jvm, 。但是如何切换intellij来识别项目根目录下的allready working build.gradle.kts文件,这样任务可以通过IDE启动,而不仅仅是shell? 注意:此时不需要python依赖性支持(按照链接)。 援助感谢。

将现有的groovy build.gradle文件转换为基于build.gradle.kts的kotlin

我的项目有两个不同的build.gradle文件用groovy语法编写。 我想把这个groovy写入的gradle文件改成用Kotlin语法(build.gradle.kts)编写的gradle文件。 我将向您展示root项目的build.gradle文件。 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { //ext.kotlin_version = '1.2-M2' ext.kotlin_version = '1.1.51' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.1.0-alpha01' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() jcenter() mavenCentral() } } task clean(type: Delete) { delete rootProject.buildDir } 我尝试了在互联网上找到的几种“方式”,但没有任何工作。 […]

使用Kotlin脚本配置App Engine Gradle插件

我正在尝试使用Gradle脚本Kotlin来配置我的App Engine项目上的构建,但无法弄清楚如何设置cloudSdkHome属性(或根本不需要配置插件)! 在Groovy Gradle脚本中,这样做是这样的: appengine { tools { cloudSdkHome = "/path/to/cloud/sdk" } } build.gradle.kts buildscript { repositories { jcenter() mavenCentral() maven { url = uri("https://plugins.gradle.org/m2/") } } dependencies { classpath("com.google.cloud.tools:appengine-gradle-plugin:+") classpath("net.ltgt.gradle:gradle-apt-plugin:0.10") classpath(kotlinModule("gradle-plugin")) } } repositories { jcenter() mavenCentral() } plugins { java war } apply { plugin("com.google.cloud.tools.appengine") plugin("net.ltgt.apt") } java { sourceSets { "main" { […]

如何使用gradle脚本kotlin和spring启动gradle插件来构建一个可运行的jar

我有一个Gradle构建脚本,用于构建一个可运行的jar(依赖性也是罐子)与春天启动gradle插件工作正常,我想知道如何将其转换为gradle脚本kotlin。 我不知道如何处理bootRepackage,profile以及kotlin中的processResources。 以及是否支持与Spring启动gradle插件一起使用? 谢谢。 apply plugin: 'java' apply plugin: 'eclipse' buildscript { repositories { maven { url 'https://repo.spring.io/libs-milestone' } } dependencies { classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.5.4.RELEASE' } } apply plugin: 'org.springframework.boot' sourceCompatibility = 1.6 targetCompatibility = 1.6 version = "1.0.0" tasks.withType(JavaCompile) { options.bootClasspath = "$JDK6_HOME/jre/lib/rt.jar" } if (project.hasProperty('env')) { println "Target environment: $env" sourceSets.main.resources.srcDir "src/main/profile/$env" } processResources{ […]

Gradle脚本Kotlin中的锅炉项目配置

我正在尝试改进我们的项目共享他们的配置的方式。 我们有许多不同的多模块gradle项目,用于我们的所有库和微服务(即许多git仓库)。 我的主要目标是: 为了不让我的Nexus存储库URL在每个项目中都重复(另外,我可以放心地认为它不会改变) 为了让我的定制Gradle插件可以用最少的样板/重复(每个项目都可以使用它们,而且项目唯一关心的是它使用的版本) 没有什么魔力 – 开发人员应该很明白怎样配置一切 我目前的解决方案是一个定制的gradle分发与初始化脚本: 将mavenLocal()和我们的Nexus存储库添加到项目回购(非常类似于Gradle 初始化脚本文档示例 ,除了添加回购以及验证它们) 配置允许我们的gradle插件添加到buildscript类路径的扩展(使用此解决方法 )。 它还将我们的Nexus回购作为buildscript回购添加,因为这是插件托管的地方。 我们有很多插件(建立在Netflix优秀的星云插件上 ),用于各种样板:标准项目设置(kotlin设置,测试设置等),发布,发布,文档等等,这意味着我们的项目build.gradle文件非常多只是为了依赖。 虽然这种方法可行,但是允许可重复的构建(不同于我们之前的应用从URL构建脚本的设置),并且允许离线工作,这确实使它有点神奇,我想知道如果我能做得更好。 这一切都是由github上的Gradle开发人员最近阅读了一个评论(我不确定在哪里),指出构建应该在不依赖于init脚本的情况下工作,也就是说,init脚本应该像记录的例子那样做 – 防止未经授权的回购等 我的想法是编写一些扩展函数,允许我将Nexus repo和插件添加到构建中,看起来像是构建到gradle中的(类似于gradle脚本提供的扩展函数gradleScriptKotlin()和gradleScriptKotlinApi()科特林) 所以我在一个kotlin gradle项目中创建了我的扩展函数: package com.example import org.gradle.api.artifacts.dsl.DependencyHandler import org.gradle.api.artifacts.dsl.RepositoryHandler import org.gradle.api.artifacts.repositories.MavenArtifactRepository fun RepositoryHandler.myNexus(): MavenArtifactRepository { return maven { with(it) { name = "Nexus" setUrl("https://example.com/repository/maven-public") } } } fun DependencyHandler.myPlugins(version: String) : Any { […]

无法使用kotlin-dsl gradle中的定制配置使用所有配置参数

通过gradle-groovy,可以使用很多参数(组,名称,版本,分机,分类器)进行自定义配置: configurations { explode } dependencies { explode (group: 'org.apache.samza', name: 'samza-shell', ext: 'tgz', classifier: 'dist', version: "$SAMZA_VERSION") } 但我不知道如何用kotlin-dsl来做到这一点。 我试过了: val explode by configurations.creating dependencies { explode(group = "org.apache.samza", name = "samza-shell", ext = "tgz", classifier = "dist", version = samzaVersion) // "explode"(group = "org.apache.samza", name = "samza-shell", ext = "tgz", classifier = "dist", […]

如何在Gradle Kotlin构建中配置processResources任务

我有一个基于groovy的构建脚本中的以下内容。 如何在基于kotlin的脚本中执行相同的操作? processResources { filesMatching('application.properties'){ expand(project.properties) } }

如何添加Gradle Kotlin-dsl的新配置

通过gradle-groovy可以创建一个新的配置: configurations { explode } dependencies { explode (group: 'org.apache.samza', name: 'samza-shell', ext: 'tgz', classifier: 'dist', version: "$SAMZA_VERSION") } 但我不知道如何用kotlin-dsl来做到这一点。 我试过了: val explode by configurations dependencies { explode(group = "org.apache.samza", name = "samza-shell", ext = "tgz", classifier = "dist", version = samzaVersion) // "explode"(group = "org.apache.samza", name = "samza-shell", ext = "tgz", classifier = "dist", […]

如何用gradle-script-kotlin配置spring-boot重新打包

通过定期的gradle,我可以像这样配置一个主类: bootRepackage { mainClass = 'demo.Application' } 用gradle-script-kotlin,这是行不通的。 我想我需要以某种方式使用Project.configure内联函数,但我已经尝试了一些不同的东西,我一直无法使其工作。

如何用gradle kotlin脚本创建fat jar

作为标题,我想知道如何修改gradle.build.kts为了有一个任务来创建一个具有所有依赖项(包括kotlin lib)的独特jar 。 我在Groovy中找到了这个示例: //create a single Jar with all dependencies task fatJar(type: Jar) { manifest { attributes 'Implementation-Title': 'Gradle Jar File Example', 'Implementation-Version': version, 'Main-Class': 'com.mkyong.DateUtils' } baseName = project.name + '-all' from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } with jar } 但我不知道我怎么可以写在科特林,除了: task("fatJar") { }