当前位置: 首页 > 知识库问答 >
问题:

gradle-发布构建和发布非快照工件

屠泰平
2023-03-14

我有一个多模块项目。而且,我希望能够只做gradle发布,并发布所有模块的所有工件。其中一个问题是,当我包含插件时,我得到了名为“构建”的任务,但在根项目中找不到。

plugins {
    id "net.researchgate.release" version "2.6.0"
}
defaultTasks 'clean', 'assemble'

def repoUrl = System.env.REPO ?: "https://company.jfrog.io/company/maven"
allprojects {
    repositories {
        mavenCentral()
        jcenter()
        maven {
            url 'https://dl.bintray.com/palantir/releases'
        }
        maven {
            credentials {
                username System.env.REPO_USER
                password System.env.REPO_PASS
            }
            url repoUrl
            name 'company'
        }
    }
}


task build{}


subprojects { thisProject ->

    apply plugin: 'java'
    apply plugin: 'maven'
    apply plugin: 'checkstyle'
    apply plugin: 'maven-publish'
    apply plugin: 'findbugs'

    build.dependsOn "${thisProject}:build"

    publishing {
        repositories {
            maven {
                credentials {
                    username System.env.REPO_USER
                    password System.env.REPO_PASS
                }
                url repoUrl
                name 'company'
            }
        }
        publications {
            "-$thisProject.name-"(MavenPublication) {
                from components.java
            }
        }
    }


    sourceCompatibility = 1.8 // java 8
    targetCompatibility = 1.8

    task sourcesJar(type: Jar, dependsOn: classes) {
        classifier = 'sources'
        from sourceSets.main.allSource
    }

    task javadocJar(type: Jar, dependsOn: javadoc) {
        classifier = 'javadoc'
        from javadoc.destinationDir
    }

    artifacts {
        archives sourcesJar
        archives javadocJar
    }

}
tasks.each {println(it)}
afterReleaseBuild.dependsOn tasks.publish

当我运行gradle任务时--我得到的所有

task ':afterReleaseBuild'
task ':beforeReleaseBuild'
task ':build'
task ':checkCommitNeeded'
task ':checkSnapshotDependencies'
task ':checkUpdateNeeded'
task ':commitNewVersion'
task ':confirmReleaseVersion'
task ':createReleaseTag'
task ':createScmAdapter'
task ':initScmAdapter'
task ':preTagCommit'
task ':release'
task ':runBuildTasks'
task ':unSnapshotVersion'
task ':updateVersion'

“释放”有效。也就是说,它会颠簸版本、标记、删除“-SNAPSHOT”等等。但是,这里缺少一个步骤(这可能完全是我的无知),但是在从版本中删除“-SNAPSHOT”后,我需要它来构建工件并发布它们。这类似于maven发布过程,但没有工件上传。我目前使用的是GradlePublish,而不是maven upload。

注意事项:gradle非常新,但不是java。有人能告诉我我缺少什么吗_


共有1个答案

唐哲
2023-03-14
匿名用户

您可以尝试从Release插件配置中删除build任务<代码>构建任务=[]对我来说很好。

release {
    ...
    tagTemplate = '${version}'
    versionPropertyFile = 'gradle.properties'
    buildTasks = []
    ...    
}

 类似资料:
  • 构建 当项目开发完毕,只需要运行一行命令就可以打包你的应用: # 打包正式环境 npm run build:prod # 打包预发布环境 npm run build:stage 构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 ***.js 、***.css、index.html 等静态文件。 如果需要自定义构建,比如指定 dist 目录等,则需要通过 co

  • 我想防止在使用 Gradle 构建 Android 应用程序或库的发布版本时使用快照依赖项。如果在构建版本时存在任何快照依赖项,如何强制 Gradle 构建失败?

  • 我们有一个常春藤知识库,我们正在使用gradle进行依赖关系管理和构建框架。当一个工件被确定为生产就绪时,我们不想再次构建它,所以我们只想通过一个web应用程序“升级”一个现有的工件,该应用程序利用Gradle和工具API为我们完成大部分工作。 目前,我正在将工件复制到本地文件夹并运行另一个重新发布它的build.gradle。我们正在将其发布到现有存储库中的新文件夹和发布存储库中的文件夹。 这样

  • 在项目正常开发,预览效果达到要求的情况下,可以构建项目来进行更多的测试。 导读 熟悉构建发布面板 了解通用构建参数 命令行发布项目 定制项目的构建模版 扩展构建流程 构建流程简介与常见错误处理 发布到 web 平台 发布到原生平台 安装配置原生环境 原生平台 JavaScript 调试 发布到 iOS App Clip (轻 App) 发布到支付宝小游戏 发布到字节小游戏 发布到 Cocos Pl

  • 我以一个新的gradle用户的身份创建gradle版本,但我过去曾与maven合作过。 我试图重现maven发布插件的动作: 将分支版本更改为发行号(在svn提交) 如您所见,我正在使用: Nexus OSS作为版本控制库 SVN作为scm Gradle(2.8) 我正试图通过这两个插件实现我的目标: > 将分支版本更改为发行号(在svn提交) 创建标签(位于svn) 将分支版本更改为新快照编号(