文档章节

ANT read existing MANIFEST version & append to it

银月光海
 银月光海
发布于 2016/02/01 15:29
字数 160
阅读 20
收藏 1

Thanks All,

FYI this is my final code, tested working

This appends a revision number (4th element) to a version without a revision or replaces the revision for a version that already has one.

<available file="META-INF/MANIFEST.MF" property="has.manifest" />

<target name="loadBundleVersion" if="has.manifest">
    <!-- load version, if no current build number -->
    <loadproperties srcfile="META-INF/MANIFEST.MF">
        <filterchain>
            <linecontainsregexp>
                <regexp pattern="^Bundle-Version: \d*.\d*.\d*\s*$" />
            </linecontainsregexp>
        </filterchain>
    </loadproperties>
</target>

<target name="loadBundleVersionRemoveBuild" unless="Bundle-Version" depends="loadBundleVersion">
    <!-- if version not set here we have a current build number so needs to be stripped -->
    <loadproperties srcfile="META-INF/MANIFEST.MF">
        <filterchain>
            <linecontains>
                <contains value="Bundle-Version" />
            </linecontains>
            <tokenfilter>
                <replaceregex pattern=".\d*$" replace="" />
            </tokenfilter>
        </filterchain>
    </loadproperties>
</target>

<target name="loadBundleDetails" depends="loadBundleVersionRemoveBuild">
    <loadproperties srcfile="META-INF/MANIFEST.MF">
        <filterchain>
            <linecontains>
                <contains value="Bundle-SymbolicName" />
            </linecontains>
        </filterchain>
    </loadproperties>
</target>

<target name="updateManifestVersion" if="has.manifest" depends="loadBundleDetails">
    <manifest file="META-INF/MANIFEST.MF" mode="update">
        <attribute name="Bundle-Version" value="${Bundle-Version}.${build.number}" />
    </manifest>
</target>




本文转载自:https://stackoverflow.com/questions/5313438/ant-read-existing-manifest-version-and-append-to-it/5...

共有 人打赏支持
银月光海

银月光海

粉丝 37
博文 365
码字总数 46223
作品 0
浦东
项目经理
私信 提问
Jenkins中使用ant管理Android应用开发生命周期

软件环境 OS:CentOS 6.0 64-bit Android SDK:adt-bundle-linux-x86_64 Jenkins:1.529 Ant:1.8.2 配置管理 1.Jenkins中配置JDK,直接配置1.7+以上JDK。过程略。 2.把Android工程改造成具有A...

miscellanea
2013/11/19
0
0
用Ant实现Java项目的自动构建和部署

Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一. 安装与配置 下载...

chunhei2008
2014/08/26
0
0
开始试验appfuse--安装环境

1. 准备以下安装包: tomcat5.0.28, sdk1.4.2_05, ant1.6.2, mysql 2. 安装目录: c:/SDKs - - j2sdk-1.4.2_05 c:/Tools - - apache-ant-1.6.2 jakarta-tomcat-5.0.28 mysql d:/Source 3. 设置......

晨曦之光
2012/05/21
488
0
WARN util.NativeCodeLoader: 编译hadoop2.5

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable put: `./in': No such file or directory 原因查找......

天下杰论
2014/08/25
0
0
eclipse 导入tomcat 7 源码

如果需要学习 tomcat 7 源码的,最后不过的方法,是将源码导入到 ide 环境,跟踪、调试、测试等,这里谈一下如何导入 tomcat 7 的源码。 一、安装 ant tamcat 源码使用 ant 构建,若没有安装...

peiquan
2018/07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
今天
3
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
5
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0
大数据教程(11.8)Hive1.2.2简介&初体验

上一篇文章分析了Hive1.2.2的安装,本节博主将分享Hive的体验&Hive服务端和客户端的使用方法。 一、Hive与hadoop直接的关系 Hive利用HDFS存储数据,利用MapReduce查询数据。 二、Hive与传统数...

em_aaron
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部