小编Sam*_*ran的帖子

Hudson构建时间趋势插件?

是否有一个插件可以让我为哈德森构建创建一个"趋势"图表,显示该项目的构建时间?

我的任务是加快构建速度,我希望在加快速度的同时展现出一个不错的趋势.

continuous-integration hudson jenkins jenkins-plugins

38
推荐指数
3
解决办法
1万
查看次数

在perforce中集成移动的文件

假设我在代码库中创建了一个分支.这是分支规范:

//depot/code/main/... //depot/code/branch/...
Run Code Online (Sandbox Code Playgroud)

然后,在分支中,假设我使用分支文件a.txt - > b.txt

p4 integrate //depot/code/branch/a.txt //depot/code/branch/b.txt
p4 delete //depot/code/branch/a.txt
Run Code Online (Sandbox Code Playgroud)

现在,假设对main中的a.txt进行了一些更改,我希望将其集成到分支中的b.txt中

当我尝试使用原始分支规范进行集成时,它没有反映对main中的a.txt所做的更改到b.txt - 是否有任何方法可以在重命名的文件中显示主要更改?

分支规范相当大(数百个更改),并且在分支中重命名了相当多的文件,因此我希望有一种自动化的方法来执行此操作.如果我能在这里澄清任何内容,请告诉我 - 这将有助于获得白板;)

谢谢!山姆

perforce perforce-integrate

14
推荐指数
2
解决办法
7064
查看次数

大型项目代码格式化的最佳实践

我维护了一个大型Java EE/Maven/Hudson/Perforce项目的构建,其中大约有20个开发人员遍布全球.

用于代码格式化的就地解决方案是在开发人员运行构建时使用Jalopy格式化代码库,从而确保在签入之前格式化任何未格式化的代码.

这个解决方案的主要问题是,如果开发人员在签入之前没有运行完整的Maven构建(比如他们从Eclipse运行单元测试),他们的代码将不会被格式化.然后,编辑该文件的下一个开发人员在运行格式化程序后可能在代码的不相关部分中有许多差异.

什么源格式策略在大型项目中最适合您?我考虑的另一个选择是使用自动化过程进行夜间格式化.

java maven-2 coding-style hudson maven

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

JavaBeans的替代品?

我讨厌JavaBeans模式的激情像一千个太阳的火焰一样燃烧.为什么?

  • 详细.这是2009年.我不应该为房产写7 LOC.如果他们有事件听众,那么请抓住你的帽子.
  • 没有类型安全的参考.没有类型安全的方法来引用属性.Java的全部意义在于它是类型安全的,并且它最流行的模式并不是所有类型都安全的.

我想要的是:

class Customer {
    public Property<String> name = new Property();
}
Run Code Online (Sandbox Code Playgroud)

我主要是一名Web开发人员,因此需要JPA和Wicket支持.

帮助我离开javabean火车!

java properties javabeans

11
推荐指数
2
解决办法
3384
查看次数

哈德森电子邮件太多了

当我在哈德森建立我的maven项目时,Hudson发出了两封电子邮件,每一封都是因为项目失败,一封是破坏的模块.

有没有办法阻止这个,所以每次构建失败时我只收到一封电子邮件?

email continuous-integration maven-2 hudson

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

JSF 2.0部分状态保存似乎不起作用

我正在评估在高流量网站上使用JSF的可能性.我被告知在JSF 2.0中,组件树不存储在会话中,并且只有在修改组件树时才存储增量.

这是我正在查看的页面:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
   xmlns:h="http://java.sun.com/jsf/html">
    <body>
        <h:form>
            hello, world
        </h:form>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

每次查看此页面时,都会为会话分配近1K.如果我删除<form>标记,则会话中不会存储任何内容.

知道组件树存储在会话中的原因吗?我认为这将在回发请求上计算.

jsf session-state jsf-2 state-saving

8
推荐指数
1
解决办法
6670
查看次数

我的构建可以规定我的代码覆盖率永远不会变差吗?

我正在使用hudson CI来管理一个直接的java web项目,使用ant来构建.

我想要求单元测试覆盖率永远不会比以前的构建更差,从而确保始终测试任何新代码,或者至少覆盖范围不断改进.

是否有一个以这种方式工作的哈德森插件?

编辑:我目前正在使用艾玛,但愿意切换到另一个覆盖应用程序.

另外,作为一个澄清,我已经看到了一些Hudson插件的阈值,但这并不是我所追求的.例如,我想要的是,如果Build#12的覆盖率总体上是46%,并且有人在Build#13中检查了45%的覆盖率,则构建将会中断.

我想这样做的原因是我有一个测试覆盖率低的代码库.我们没有时间回去并追溯写单元测试,但我想确保覆盖率不断提高.

更新:Dan用我的计划指出了一个边缘案例肯定会成为一个问题.我想我需要重新考虑这是否是一个好主意.

java continuous-integration code-coverage hudson

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

要复制到Windows共享(SMB)的Ant任务

是否有一个ant任务(类似于ftp或scp任务)允许我将一组文件复制到windows(smb)共享?

编辑:我必须使用jcifs创建一个任务.如果有人需要它,这里是代码.

取决于jcifs和apache ioutils.

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import jcifs.smb.SmbFile;

import org.apache.commons.io.IOUtils;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.taskdefs.Copy;

public class SmbCopyTask extends Task
{
   private File src;
   private String tgt;

   public void execute() throws BuildException
   {
      try
      {
         recursiveCopy(src);
      }
      catch (Exception e)
      {
         throw new BuildException(e);
      }
   }

   public void recursiveCopy(File fileToCopy) throws IOException
   {

      String relativePath = src.toURI().relativize(fileToCopy.toURI()).getPath();
      SmbFile smbFile = new SmbFile(tgt, relativePath);
      if(!smbFile.exists()) 
      {
         smbFile.createNewFile();
      }
      if(!fileToCopy.isDirectory()) 
      {
         System.out.println(String.format("copying %s to %s", new Object[]{fileToCopy, …
Run Code Online (Sandbox Code Playgroud)

java ant smb

5
推荐指数
0
解决办法
7444
查看次数

在Eclipse中允许不正确的包名称

我当前项目中有一些类具有错误的包声明(它们在声明的包的错误文件夹中.)

不幸的是,通过移动课程来解决问题不是一种选择.有没有办法让eclipse忽略错误?

java eclipse packages

3
推荐指数
2
解决办法
1471
查看次数