标签: build-automation

如何使用Maven创建具有依赖关系的可执行JAR?

我想将我的项目打包在一个可执行的JAR中进行分发.

如何将所有依赖JAR的Maven项目打包到我的输出JAR中?

java build-automation build-process maven-2 executable-jar

2276
推荐指数
28
解决办法
123万
查看次数

Android Studio中的Gradle是什么?

Gradle对我和新的Android开发人员都有点困惑.任何人都可以解释Android Studio中的gradle是什么以及它的目的是什么?为什么Gradle包含在Android Studio中?

build-automation gradle android-studio android-gradle-plugin

1257
推荐指数
18
解决办法
41万
查看次数

让Grunt为不同的设置生成index.html

我正在尝试使用Grunt作为我的webapp的构建工具.

我想要至少有两个设置:

I.开发设置 - 从单独的文件加载脚本,没有连接,

所以我的index.html看起来像:

<!DOCTYPE html>
<html>
    <head>
        <script src="js/module1.js" />
        <script src="js/module2.js" />
        <script src="js/module3.js" />
        ...
    </head>
    <body></body>
</html>
Run Code Online (Sandbox Code Playgroud)

II.生产设置 - 在一个文件中加载我的脚本缩小和连接,

与index.html相关:

<!DOCTYPE html>
<html>
    <head>
        <script src="js/MyApp-all.min.js" />
    </head>
    <body></body>
</html>
Run Code Online (Sandbox Code Playgroud)

现在的问题是,如何才能让咕噜使这些的index.html的取决于配置,当我运行grunt devgrunt prod

或者也许我正在挖掘错误的方向并且总是生成更容易MyApp-all.min.js但是将所有脚本(连接)或从异步文件中异步加载这些脚本的加载器脚本放入其中?

伙计们,你是怎么做到的?

javascript build-automation build gruntjs

208
推荐指数
8
解决办法
8万
查看次数

控制jar工件的maven最终名称

我正在尝试在我们的超级pom中定义一个属性,它将被所有子项目用作生成的工件的目标.

为此,我考虑使用project/build/finalName但这似乎不起作用,即使对于简单的poms:

命令

 mvn archetype:create \ 
   -DarchetypeGroupId=org.apache.maven.archetypes \
   -DgroupId=com.mycompany.app \
   -DartifactId=my-app
Run Code Online (Sandbox Code Playgroud)

POM

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>my-app</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <build>
        <finalName>${project.name}-testing</finalName>
  </build>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
$ mvn install

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building my-app
[INFO]    task-segment: [install]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /tmp/mvn_test/my-app/src/main/resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Nothing …
Run Code Online (Sandbox Code Playgroud)

java build-automation maven-2 jar

156
推荐指数
5
解决办法
28万
查看次数

仅当文件存在时才运行Ant目标的Ant任务?

是否存在仅在给定文件存在时才执行块的ANT任务?我有一个问题,我有一个通用的ant脚本,应该做一些特殊的处理,但只有在存在特定的配置文件.

ant build-automation file

150
推荐指数
4
解决办法
17万
查看次数

如何以及为什么要设置C#构建机器?

我正在与C#项目上的一个小型(4人)开发团队合作.我已经提议建立一个构建机器,它将对项目进行夜间构建和测试,因为我知道这是一件好事.麻烦的是,我们这里没有足够的预算,所以我必须证明费用是合理的.所以我想知道:

  • 我需要什么样的工具/许可证?现在,我们使用Visual Studio和Smart Assembly来构建,并使用Perforce进行源代码控制.我是否需要其他东西,或者是否有相当于运行自动脚本的cron作业?
  • 究竟是什么让我得到了,除了表明构建破坏了?我应该在这个脚本运行的解决方案(sln文件)中设置测试项目,这样我可以测试特定的功能吗?目前我们有两次这样的测试,因为我们没有时间(或坦白地说,经验)来进行良好的单元测试.
  • 我需要什么样的硬件?
  • 一旦构建完成并经过测试,将这种构建放在ftp站点上还是有其他方式进行内部访问是一种常见的做法吗?我们的想法是,这台机器做构建,我们都去了,但可以使调试版本,如果我们不得不这样做.
  • 我们应该多久进行一次这种构建?
  • 如何管理空间?如果我们制作夜间版本,我们是否应该保留所有旧版本,或者在大约一周左右后开始抛弃它们?
  • 还有什么我没看到的吗?

    我意识到这是一个非常大的话题,我刚刚开始.我在这里找不到这个问题的副本,如果那里有一本书我应该得到,请告诉我.

    编辑:我终于开始工作了!Hudson非常棒,FxCop表明我们认为实现的一些功能实际上是不完整的.我们还必须将安装程序类型从Old-And-Busted vdproj更改为New Hotness WiX.

    基本上,对于那些正在关注的人,如果你可以从命令行运行你的构建,那么你可以把它放到哈德森.通过MSBuild从命令行运行构建本身就是一个很有用的练习,因为它会强制你的工具是最新的.

  • c# build-automation continuous-integration hudson build

    144
    推荐指数
    6
    解决办法
    4万
    查看次数

    Maven:如何进行并行构建?

    在多核/多CPU机器上使用maven构建时,通常可以并行构建不同的子项目.有没有办法用maven做到这一点?这个/什么都有插件?

    build-automation build-process maven-2

    140
    推荐指数
    3
    解决办法
    6万
    查看次数

    CruiseControl [.Net]与TeamCity进行持续集成?

    根据实际经验,我想问你哪个自动构建环境更好.我打算做一些.Net和一些Java开发,所以我想有一个支持这两个平台的工具.

    我一直在阅读并了解CruiseControl.NET,用于stackoverflow开发,以及TeamCity,它支持在不同操作系统平台上构建代理并基于不同的编程语言.所以,如果你对这两者都有一些实际经验,你更喜欢哪一个?为什么?

    目前,我最感兴趣的是该工具的易用性和管理,更不用说CC是开源的,而且当你有很多项目要运行时,TC在某些时候需要获得许可(因为,我需要它用于少量项目).

    此外,如果有其他工具满足上述要求并且您认为值得推荐 - 请随意将其纳入讨论.

    cruisecontrol.net build-automation teamcity continuous-integration cruisecontrol

    116
    推荐指数
    5
    解决办法
    3万
    查看次数

    自动删除Subversion无版本文件

    有没有人知道一种递归删除工作副本中不受版本控制的所有文件的方法?(我需要这样才能在自动构建VMware中获得更可靠的结果.)

    svn build-automation

    108
    推荐指数
    9
    解决办法
    5万
    查看次数

    为什么Maven有这么糟糕的代表?

    互联网上有很多关于Maven如何糟糕的话题.我已经使用Maven的一些功能已经有几年了,我认为最重要的好处是依赖管理.

    Maven文档不够充分,但通常当我需要完成某些事情时我会弄清楚它然后它可以工作(例如当我实现签署jar时).我不认为Maven是伟大的,但它确实解决了一些问题,没有它将是一个真正的痛苦.

    那么,为什么Maven会有如此糟糕的代表,以及Maven在未来会遇到什么问题呢?也许还有更多我不了解的替代方案?(例如,我从未详细看过常春藤.)

    注意:这不是导致争论的尝试.这是尝试清除FUD.

    java build-automation build-process maven-2

    99
    推荐指数
    21
    解决办法
    10万
    查看次数