标签: build-management

Ant和Maven之间的差异

有人能告诉我Ant和Maven之间的区别吗?我也没用过.我知道他们习惯于自动构建Java项目,但我不知道从哪里开始.

java ant maven-2 build-management

178
推荐指数
9
解决办法
18万
查看次数

Ant仍然是Java构建工具的最佳选择吗?

根据我的少量经验,我只使用Ant作为构建工具.还有其他更好的项目,为什么?

java ant build build-management

20
推荐指数
3
解决办法
6468
查看次数

从subversion标签自动构建

我正在尝试自动化工程组的构建过程.作为自动化的一部分,我试图达到这样的程度,即应用符合模式的特定标记的行为将启动一个自动化过程,该过程将执行以下操作:

  • 查看源代码
  • 从模板创建构建脚本
  • 建立项目

我很确定我可以用subversion中的post-hook做到这一点,但是我试图想办法用一个不同于subversion钩子的东西来做这件事.

  • 是否有必要监视subversion存储库中的tags目录以启动我的工作流程?
  • 是否有任何有用的工具可以帮助解决这个问题(如果可能,.NET会很棒).
  • 我最好只写一个引擎来做这件事吗?

我的偏好:

  • 完成全部或部分工作的现有产品
  • 如果需要进行开发工作,.NET更可取
  • 适用于Windows(我们有一个基于Linux的仓库,但是所有都在Windows上进行构建)

svn build-automation build-process build-management

12
推荐指数
2
解决办法
2万
查看次数

Django项目的项目管理/构建工具?

来自Java开发,其中构建和项目管理工具比比皆是,我想知道Django可用的内容.我真的很喜欢使用像Maven这样的东西来构建东西,但还有另一种首选方法吗?

我真的在寻找以下内容:

  • 命令行构建:mvn install非常简单和酷.
  • 命令行测试运行.我想将这个应用程序集成到像Hudson这样的东西中,以便持续集成,因为我就是那样的硬核.
  • 将媒体部署到本地测试服务器(JS,CSS,图像等)

目前Maven或其他工具可以实现吗?我正在这里开展一个非常大的项目,我希望像Maven这样的kick-rad构建/项目管理系统能够帮助项目随着时间的推移而增长.

django continuous-integration project-management build-management maven

9
推荐指数
1
解决办法
3874
查看次数

如何在eclipse ant编辑器中启用undo?

在eclipse中的ant编辑器中,撤消对我不起作用.当我按Ctrl-Z时没有任何反应.

是否有可能以某种方式启用撤消或这是一个错误?

我在Windows XP Professional上使用Eclipse 3.4.2(Ganymede).

eclipse ant release-management build-management

7
推荐指数
1
解决办法
2万
查看次数

如何在递归构建中忽略命令行变量赋值?

我正在尝试将两个构建系统粘合在一起.两者都是递归的(makefile中的规则使用make来调用其他makefile来构建项目的组件).

我将它们称为'A'和'B',其中'A'构建应用程序,'B'构建'A'使用的库.

A中的顶级makefile调用'make TARGET = whatever',这意味着构建的所有递归调用的位都将TARGET的值作为只读变量继承,包括来自B的构建系统,它被作为一部分调用递归构建.

我不希望在'B'(来自不同的项目)的构建系统中发生这种情况,因为那里的makefile使用TARGET用于它们自己的目的,并且构建失败,因为TARGET具有错误的值并且是只读的.

我只能看到两个解决方案,这两个解决方案都不是可调整的;

1)将TARGET重命名为A中设置它的makefile中的其他内容以及使用它的A中的makefile,以避免与构建系统的较低级别发生冲突.

2)在设置了TARGET变量的B中的makefile中的任何地方使用'override'指令,以覆盖其只读状态.

谁有更好的想法?- 理想情况下,除了我从A明确传递给B构建系统的那些选项之外,我不希望B的构建系统从A继承任何东西.

顺便说一下,我正在使用GNU Make v3.80.

gnu makefile build-management

6
推荐指数
1
解决办法
1303
查看次数

需要Msbuild新手入门

我们维护一个在vb/c#.net中开发的中型Windows应用程序.现在,这个应用程序的构建和部署过程仍然是手动的.我决心使用MSBuild使这个过程自动化,我现在还不知道.

我们的应用程序有一个简单的构建结构,一组项目已经分为四个解决方案(.sln),只需要按顺序构建四个slns.然后将一个项目(它是最后一个要构建的sln的一部分)发布到一个目录.这就对了.一个简单的过程已经消耗了30分钟的手动构建时间,我很确定这可以在至少1/4的时间内使用msbuild在没有人工干扰的情况下完成.

我的所有目标设定良好,我开始在网上寻找MSBuild资源来完成我的过程,但可能会看到很多困扰我的事情.需要一个指针或一个很好的解释,说明如何从我的简单场景开始和从哪里开始.非常感谢帮助.

.net msbuild release-management build-management

5
推荐指数
1
解决办法
1039
查看次数

如何使用主pom文件签出Web应用程序的所有模块并构建所有模块

我有一个依赖于几个模块的Web应用程序.所以为了构建它,我有一个主pom.xml文件.我想要这个pom文件做的是检查所有模块.下面是我的pom文件.

        <executions>
        <execution>
                    <id>check-out-project1</id>
                    <phase>generate-sources</phase>
                    <goals>
                    <goal>checkout</goal>
                    </goals>
                    <configuration>    
                    <checkoutDirectory>${project.build.directory}/module1</checkoutDirectory>
                    <connectionUrl>scm:svn:svn://svnserver/svn/module1/trunk</connectionUrl>
                    <!--<developerConnection>scm:svn:svn://svnserver/svn/module1/trunk</developerConnection>!-->
                    <username>username</username>                             
                    <password>password</password>             
                    </configuration>
         </execution>

          <execution>
                    <id>check-out-project2</id>
                    <phase>generate-sources</phase>
                    <goals>
                    <goal>checkout</goal>
                    </goals>
                    <configuration>    
                    <checkoutDirectory>${project.build.directory}/module1</checkoutDirectory>
                    <connectionUrl>scm:svn:svn://svnserver/svn/module1/trunk</connectionUrl>
                          <username>username</username>                             
                          <password>password</password>             
                    </configuration>
            </execution>
        </executions>
Run Code Online (Sandbox Code Playgroud)

我试过mvn scm:checkoutmvn scm:checkout -check-out-project1但是它给我错误: 无法运行checkout命令:无法加载scm提供程序.您需要定义connectionUrl参数.

我不明白为什么会发生这种情况,因为我已经在pom文件中定义了connectionUrl参数,我希望得到的想法是将pom文件配置为能够同时签出多个项目.请让我知道我在这里做错了什么,在此先感谢.

build-automation build-management maven multi-module

5
推荐指数
1
解决办法
7996
查看次数

带有许多目标目录的 GNU make

我必须在现有的 .html 文件中集成许多 HTML 文件的生成Makefile。问题是 HTML 文件需要驻留在许多不同的目录中。我的想法是写一个隐式规则,将源文件(*.st)转换成对应的html文件

%.html: %.st
    $(HPC) -o $@ $<
Run Code Online (Sandbox Code Playgroud)

以及依赖于所有 html 文件的规则

all: $(html)
Run Code Online (Sandbox Code Playgroud)

如果 HTML 文件不在 builddir 中,则make找不到隐式规则:*** No rule to make target. 如果我像这样更改隐式规则

$(rootdir)/build/doc/2009/06/01/%.html: %.st  
    $(HPC) -o $@ $<
Run Code Online (Sandbox Code Playgroud)

它找到了,但是我必须对项目中的几乎每个文件都有一个隐式规则。根据GNU手册中的隐式规则搜索算法make,规则搜索的工作方式如下:

  1. 将整个目标名称t拆分为目录部分,称为d,其余部分称为n。例如,如果tsrc/foo.o,则dsrc/,而nfoo.o
  2. 列出其中一个目标与tn匹配的所有模式规则。如果目标模式包含斜杠,则与t匹配;否则,针对n

为什么没有找到隐式规则,假设使用 GNU,最优雅的解决方案make是什么?

这是我的精简版Makefile: …

makefile gnu-make release-management build-management

4
推荐指数
1
解决办法
3764
查看次数

使用 Maven Exec 插件执行多个命令

我在使用 Maven Exec 插件时遇到了一些困难。我想使用该插件执行两个单独的mvn命令,因此我只需要执行mvn exec:exec即可执行所有命令。

以下两个命令单独运行效果良好:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.6.0</version>
    <configuration>
        <executable>mvn</executable>
        <arguments>
            <argument>clean</argument>
        </arguments>
    </configuration>
</plugin>

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.6.0</version>
    <configuration>
        <executable>mvn</executable>
        <arguments>
            <argument>package</argument>
        </arguments>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

这是我尝试将两者结合起来以便用一个命令执行它们:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.6.0</version>

    <executions>
        <execution>
            <id>id1</id>
            <phase>package</phase>
            <goals>
                <goal>exec</goal>
            </goals>
            <configuration>
                <executable>mvn</executable>
                <arguments>
                    <argument>clean</argument>
                </arguments>
            </configuration>
        </execution>

        <execution>
            <id>id2</id>
            <phase>package</phase>
            <goals>
                <goal>exec</goal>
            </goals>
            <configuration>
                <executable>mvn</executable>
                <arguments>
                    <argument>package</argument>
                </arguments>
            </configuration>
        </execution>
    </executions>

</plugin>
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我现在执行mvn exec:exec时,我收到以下错误消息:

[INFO] Scanning for projects...
[INFO] 
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder …
Run Code Online (Sandbox Code Playgroud)

build-management maven maven-exec-plugin

2
推荐指数
1
解决办法
7986
查看次数