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

如何为多个项目创建Gradle sharedManifest?

东方涛
2023-03-14

我有多个java项目。这些项目正在使用Gradle创建jar、war和ear文件。在每个项目中,我都使用清单文件来维护元数据,如版本、日期-时间...为此,我在每个build.gradle文件中都包含了清单文件创建逻辑。

manifest {
     attributes( 
    'Bundle-Vendor' : "$BUNDLE_VENDOR",
    'Build-Time': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")) 
}

但在Gradle中有一个特性调用SharedManifest。我在主项目build.gradle脚本中定义了以下两个任务。但是在每个jar和war文件中都有gradle创建的默认manifest.mf文件。

ext.sharedManifest = manifest {

    attributes( 
        'Bundle-Vendor' : "$BUNDLE_VENDOR", 
         'Build-Time': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
     ) 
}

task fooJar(type: Jar) {
    manifest = project.manifest {
        from sharedManifest
    }
}

task fooWar(type: War) {
    manifest = project.manifest {
        from sharedManifest
    }
}

共有1个答案

彭华皓
2023-03-14

在生成中共享清单逻辑的最简单方法是配置规则,例如:

allprojects {
    tasks.withType(Jar) { // includes War and Ear
        manifest {
            attributes ...
        }
    }
}
 类似资料:
  • 第 1 步,创建项目 要创建一个新项目,可以依次点击菜单 【File】→【New...】→【Projects】,你可以创建下列几种项目类型: Qt4 Console Application – 控制台应用程序 Qt4 Gui Application – GUI 应用程序(主要是含有界面布局的类型) C++ Library – C++库 这里我们创建一个基于 Qt4 Gui Application

  • 日常开发中,团队可以创建自己的项目脚手架,本文将介绍脚手架创建的方法。 脚手架项目必备的基础目录结构 ├── template # 模板目录结构 │ ├── san.config.js # cli配置项 └── meta.js/meta.json # 模板创建 prompt 交互问题 San CLI 使用 handlerbars 渲染 template 目录,所

  • 我在XText中定义了我的DSL,它自动生成了Java版本的语言解析器和代码生成框架,这真的很酷。 问题是我的DSL被使用多种语言的项目所消耗。你可以想象我们可能至少需要用C#、Java和Ruby来解析DSL。 所以问题是:有没有办法在xtext的帮助下为多种语言生成解析器?

  • 我做到了: 创建了具有某些依赖项的项目 创建了第一个maven模块(web) 创建了第二个maven模块(模型) 已将代码移动到web模块:主类控制器 已从根目录中删除src(因为它已为空) 在模型模块创建的实体中,向pom添加了依赖项JPA/MySQl驱动程序。此模块的xml 在web模块中添加了模型模块的依赖关系 项目运行时没有错误,web模块可以看到模型依赖关系。但实体的代码不起作用(不在数

  • 当使用嵌入式HSQLDB进行单元测试时,似乎无法正确处理hibernate实体映射文件中定义的模式和/或目录。hibernate映射如下所示: 我不能更改hibernate实体映射,我不想使用其他数据库引擎(我知道H2DB可以处理这个)。有人能说明如何使HSQLDB在这个单元测试上下文中工作吗?

  • 问题内容: 我正在使用MVC创建一个基本的计算器。到目前为止,我正在改编一个教程,该教程仅将两个用户输入的值加在一起。 目前,我要添加到视图中的每个按钮都有其自己的侦听器,可以。但是,根据教程的控制器每个按钮只有一个ActionListener内部类。这重复了大量代码。 如何为所有按下的按钮创建一个ActionListener类,并在按下的按钮的ID上使用case语句? 在视图中注册oneButt