首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

gradle maven-publish插件添加时间戳,如何避免将时间戳放在后缀中

gradle maven-publish插件是用于将构建的项目发布到Maven仓库的插件。在使用该插件时,如果需要给发布的文件添加时间戳,但又不希望将时间戳放在文件名的后缀中,可以通过自定义发布任务来实现。

以下是一种可能的解决方案:

  1. 在build.gradle文件中,添加自定义发布任务:
代码语言:txt
复制
task customPublishToMavenLocal(type: PublishToMavenLocal) {
    doLast {
        // 获取当前时间戳
        def timestamp = new Date().format('yyyyMMddHHmmss')

        // 遍历所有要发布的文件
        publications.all { publication ->
            // 获取发布的文件路径
            def artifactPath = publication.artifact.path

            // 构建新的文件名,将时间戳添加到文件名中
            def newArtifactPath = artifactPath.replaceAll(/(\.[^\.]+)$/, "-${timestamp}$1")

            // 重命名文件
            file(artifactPath).renameTo(file(newArtifactPath))

            // 更新发布的文件路径
            publication.artifact = file(newArtifactPath)
        }
    }
}
  1. 在发布之前,执行自定义发布任务:
代码语言:txt
复制
./gradlew customPublishToMavenLocal

这样,自定义发布任务会在发布之前被执行,将发布的文件重命名并添加时间戳。

需要注意的是,这只是一种示例解决方案,具体实现方式可能因项目结构和需求而有所不同。在实际使用中,可以根据具体情况进行调整和优化。

关于gradle和maven-publish插件的更多信息,可以参考腾讯云的相关文档:

请注意,以上答案仅供参考,具体实现方式可能因项目需求和环境而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android gradle插件打印时间的方法详解

避免了重复修改数据所带来的错误! (3).应用: (1).在银行account表建立时间字段timestamp,设定为文本类型varchar。...(3).当银行A修改完存款数值后,进行存盘操作时,先前读取的时间123456与当时表时间进行一次对比,如果一致,那么允许存盘,然后生成一个新的时间比如456789替换表中原有的时间123456...若使用时间: 当银行A打开账户的时候,把1000元改成1500元,存盘,系统将对比先前的时间与存盘时表时间是否一致,现在一致,允许存盘。存盘时,生成了一个新的时间45678。...B银行也1000元修改成了1500元,存盘,系统对比先前的时间123456是否与存盘时表时间一致,发现先前的时间123456已经与现在的时间456789相异,系统拒绝存盘,要求刷新数据,那么数据刷新之后...我想做个同功能的插件,顺便学习一下gradle插件制作方法和字节码注入。

1.2K20
  • Android:发布aar包到maven仓库以及 maven插件maven-publish 插件的区别

    前言 在日常开发,不可避免的需要把自己的 library 发布到 maven 仓库,这样使用起来也更加方便。...在 Gradle 1.3 ,引入了一种新的发布插件,即:maven-publish ,这个新的插件引入了一些新概念和新功能,使 Gradle 发布功能更加强大,现在是发布工件的首选选项。...提供的 maven 插件maven-publish 插件如何发布aar/jar包。...具体来说就是 Android Gradle 插件maven-publish 插件有了支持。...并且不需要手动的添加依赖传递信息,Android Gradle 插件已经帮我们添加好了。 发布aar包 之后,查看 .pom 文件,依赖库的配置信息,也都是有的,如: [r6qviz72om.png?

    4.4K30

    Android工程化实践:组件化发布

    Gradle 是构建工具,相当于一个构建环境;而 Gradle 插件本质上就是具体的构建任务,我们一个构建任务模块化抽离出来,提供给其他项目复用,就是一个 Gradle 插件。...发布到 Github 仓库 如果你需要将开源,那么就需要发布到公共仓库,这一节介绍发布到 Github 的步骤: 依赖 Github Maven 插件:在项目级 build.gradle 添加插件依赖...项目上传到 JitPack ? 依赖类库:在项目级 build.gradle 声明远程仓库,在模块级 build.gradle 依赖类库。...Maven 会自动版本号带 -SNAPSHOT 后缀的组件发布到 snapshotRepository(...) 仓库,这样就 自动正式版本和快照版本分发的不同仓库。...你需要 build.gradle 文件声明 aar 的 Flat Directory 仓库地址。你可以放在 android{} 节点内,或者直接放在根节点,效果是一样的。

    2.5K20

    【错误记录】自定义 Gradle 插件报错 ( Could not find implementation class x for plugin x specified in jar:file )

    文章目录 一、报错信息 二、解决方案 一、报错信息 ---- 参考 【Android Gradle 插件】自定义 Gradle 插件模块 ④ ( META-INF 声明自定义插件的核心类 | 在应用依赖本地...' // 自定义 Gradle 插件的名称 , 默认为工程名 // 也可以在 publishing / publications 脚本块 自己指定 // 用于 插件上传到 远程仓库 或者 本地仓库...插件名称 artifactId 'plugin' } } } 之后在应用 , 引入本地 Maven 仓库 , 并添加该自定义插件的依赖 ; buildscript...打开 jar 包 , 发现 Plugin4 插件没有包名 , 直接在根目录存放 , 如果有包名的话 , 会存放在 " kim/hsl/plugin " 目录 ; 上述原因是在 groovy 代码没有写包名..., 在 groovy 代码文件不会自动添加包名 , 需要手动添加 ; 修改完成后的代码 : package kim.hsl.plugin import org.gradle.api.Plugin

    65410

    Android Jenkins+Git+Gradle =资深架构师?网友回复:进阶成功

    在项目的上个版本,老大说Android打包搞到服务器上,让所有人都可以享受打包的乐趣,接着就有了这篇文章~Jenkins自动打包,已经用了一段时间了,奈何前段时间陷入了王者峡谷,所以一直懒得写文章,...另外我们还需要加上打包途径,AS打包还是Jenkins打的包,还要加一个时间。...扫一扫就可以下载啦~~~ 6.构建后操作 构建完成后,我希望下载地址和二维码放在Build History的版块,方便下载,那么我们就来设置一下,打开项目配置页,如图操作: 在Description...另外我们还需要加上打包途径,AS打包还是Jenkins打的包,还要加一个时间。...扫一扫就可以下载啦~~~ 6.构建后操作 构建完成后,我希望下载地址和二维码放在Build History的版块,方便下载,那么我们就来设置一下,打开项目配置页,如图操作: 在Description

    1.4K00

    Gradle 插件

    插件可以扩展 Gradle 模型,添加可配置的 DSL 元素,例如 Android Gradle 的 android{} 这就是插件,我们只需要按照它的约定的方式,使用它提供的任务、方法或扩展就可以对我们的项目进行构建.../build.gradle plugins { id 'org.gradle.sample.goodbye' } 上面的示例演示了如何给多个子项目分别应用不同的插件。...plugins{} 块插件请求,例如更改请求的版本或显式指定实现工件坐标。...关于插件发布到自定义的仓库的可以查看 Gradle 插件开发: 传送门 Plugin Marker Artifacts (插件标记工件) 这里插入一个 Maven 的概念:Artifact (工件)...例如,下面的完整示例 sample-plugins 演示了如何使用 java-gradle-plugin,maven-publish 插件和 ivy-publish 插件的组合 org.gradle.sample.hello

    1.2K10

    Gradle 进阶学习之 Gradle插件

    查找核心插件: 要查找 Gradle 提供的所有核心插件,可以访问官方文档插件参考页面: Gradle 官方插件参考 在这里,你可以找到每个插件的描述、提供的配置和如何应用该插件的指导。...3.2.3 用户自定义插件Gradle ,用户自定义插件是一种强大的扩展构建功能的方式。自定义插件允许你封装逻辑,创建新的任务,甚至向项目添加自定义的扩展属性和方法。...使用 buildSrc:对于小型或特定于项目的插件,可以插件代码放置在项目的 buildSrc 目录。这样,插件可以被当前项目和子项目使用。...以下是如何使用 buildSrc 目录的步骤: 4.1 创建 buildSrc 模块 buildSrc 从 included modules 移除,重新构建。...5.3 发布插件 5.3.1 添加依赖 首先,比较常用的仓库是maven,在plugin>build.gradle文件先依赖一个maven发布的插件maven-publish 5.3.2 添加发布配置

    33510

    Gradle基础操作一

    总之,除非涉及到多模块依赖,为了避免重复依赖,咱们会使用api,其它情况我们优先选择implementation,拥有大量的api 依赖项会显著增加构建时间。...然后修改build.gradle 的内容,如下: apply plugin: 'groovy' // 必须 apply plugin: 'maven-publish' dependencies {...,后缀为.groovy(com.vipbbo.Text.groovy) package com.atguigu import org.gradle.api.Plugin import org.gradle.api.Project...,也能被其它工程使用的插件(自定义插件发布到maven仓库) 第一步:首先将上述步骤插件被当前工程的多个project使用的配置方式 的 步骤重复一遍,或者buildSrc目录复制一份(需要重命名-paidaxing...打包到本地的效果 第四步:使用插件,在项目下的build.gradle文件中将插件添加到classpath即可 // 这个标签一定要放在前面 buildscript { repositories

    36320

    Jenkins 常用插件介绍

    简单描述就是,用户如果在构建过程输入的文本为HTML,这个插件就可以限制这些输入文本的HTML标签。避免该标准造成编译问题。...Timestamper 当前版本: 1.20 插件地址:https://plugins.jenkins.io/timestamper/ 作用:该插件允许设置任务log时间时间添加到Jenkins...在构建环境勾选:Add timestamps to the Console Output 就可以让我们的控制台输出log每条记录配置上时间了。...如果时间显示的日期格式不符合需求,我们可以在系统管理的Configure System(系统配置)中找到Timestamper 然后定义我们自己的时间显示效果,也可以定义Pipeline的显示效果...Gradle Plugin 当前版本:2.0 插件地址:https://plugins.jenkins.io/gradle/ 作用:该插件用来给Jenkins添加Gradle的支持。

    11.1K41

    Gradle基础|自定义插件并上传到JitPack

    引言 每一个使用 Gradle 的同学,肯定都听过或者写过插件,因为其本身并不难,但碍于现在网上的文章千篇一律,大部分都比较老,新同学一上手反而是和我一样,花了大把时间在最基础的第一步如何写一个简单demo...本篇主要概括创建插件的三种方式,并如何上传到 JitPack 。...插件的作用就是添加我们自己的一些逻辑到项目执行过程,这个做法在 Gradle 称其为任务,或者说 Task ,从而对项目进行测试、编译、打包等; 也可以对项目中现有的对象类型添加新的扩展属性、方法等...相应的,如果要跨项目复用,就比较难解决,而且因为缺少统一的维护路径,也增加了后期成本 buildSrc 官方建议我们可以本地插件的代码放到 buildSrc 这个目录。...apply plugin: 'maven-publish' // 组名,可以理解为插件在那个分组下放着,最终是一个文件夹 // com/petterp/gradle/plugins/xxx group

    1.1K10

    从精准化测试看ASM在Android的强势插入-Gradle插件

    文件夹,是一个系统保留目录,可以直接运行插件代码而不用引用插件包 独立项目:类似module,单独编译成jar使用 创建 Gradle自带了创建模板项目的方法——gradle init,通过这个指令,...一般来说,我们会使用本地Maven库来调试插件,借助Gradlemaven-publish插件,我们可以和方便的发布插件到本地Maven库。...首先,引入插件: plugins { id 'java-gradle-plugin' id 'java' id 'maven-publish' id 'groovy'...在Gradle中使用Gradle需要对原有脚本做一些改造,首先,要将build.gradle脚本改为buld.gradle.kts,然后Kotlin代码放到src/man/kotlin目录下,最后,脚本的代码也要做相应的更新...Gradle插件是我们后续做字节码修改的基础,一定要熟练掌握插件的开发和调试,这样才能避免后续在开发字节码插件的时候遇到各种插件问题而不能专心于字节码开发。

    1K40

    详解如何使用Android Studio开发Gradle插件

    前段时间插件化以及热修复的技术很热,Nuwa热修复的工具NuwaGradle,携程动态加载技术DynamicAPK,还有希望做最轻巧的插件化框架的Small。...Android Studio其实除了开发Android App外,完全可以胜任开发Gradle插件这一工作,下面来讲讲具体如何开发。 首先,新建一个Android项目。...新建的Module除了build.gradle文件外的其余文件全都删除,然后删除build.gradle文件的所有内容。...发布到本地仓库 接着,我们需要将插件发布到maven中央仓库,我们插件发布到本地仓库就好了,在module项目下的buidl.gradle文件中加入发布的代码。...(Gradle gradle) {} @Override void settingsEvaluated(Settings settings) {} } 然后PluginImpl文件的apply

    3.2K30

    简析Jenkins的SVN插件未更新到最新代码

    查阅网上相关内容,有一种说法为: Jenkins服务器时间与SVN服务器时间不一致,Jenkins的SVN插件是使用时间标签下载,而不是取HEAD, 因此如果svn服务器的提交代码时间比...没错,上面是解决了问题,但Jenkins的SVN插件是与时间相关的SVN revision吗?...:48:12.490 +0800' 从上面可以看出来,该次构建相应的revision确实是构建时间。...那么,可以让Jenkins的SVN插件更新代码时,设置revision为HEAD吗? 答案是可以的,在SVN URL加@HEAD后缀即可,Jenkins的SVN插件是支持这个的。...的一致性 - 构建时间相对应的revision 之前,该注释有点小错误,提交了个Pull Request修复了下: https://github.com/jenkinsci/

    2.7K20
    领券