小编Pet*_*ahn的帖子

为什么MSBuild在C:\中查找Microsoft.Cpp.Default.props而不是c:\ Program Files(x86)\ MSBuild?(错误MSB4019)

当我运行msbuild来构建一个vc2010项目时,我收到以下错误:

error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. 
Confirm that the path in the <Import> declaration is correct, and that the file exists 
on disk.
Run Code Online (Sandbox Code Playgroud)
  • msbuild位于c:\ Program File(x86)\ MSBuild
  • HKLM\SOFTWARE\Wow6432Node\Microsoft\MSBuild\ToolVersions\V4.0 VCTargetsPath设置为$(MSBuildExtensionsPath32)\ Microsoft.Cpp\v4.0 \
  • 运行msbuild/verbosity时:diag作为良好的系统显示MSBuildExtensionsPath32,MSBuildExtensionsPath64,MSBuildExtensionsPath 在构建开始时设置为Environment
  • 将MSBuildExtensionsPath32,MSBuildExtensionsPath64,MSBuildExtensionsPath设置为shell中的环境变量不会导致它们在构建开始时显示为Environment

修复已尝试

  • 卸载.net 4.5,修复.net 4.0
  • 在系统变量中设置MSBuildExtensionsPath32,MSBuildExtensionsPath64,MSBuildExtensionsPath.

似乎没有正确设置MSBuildExtensionsPath32并且设置MSBuildExtensionsPath没有帮助

SET MSBuildExtensionsPath="C:\Program Files\MSBuild"
Run Code Online (Sandbox Code Playgroud)

如果您有任何想法阻止正确设置此变量,请告诉我.

msbuild

119
推荐指数
9
解决办法
14万
查看次数

詹金斯工作中的工作继承

你如何处理Jenkins作业到你的构建过程的映射,你是否能够在继承中构建级联配置?

对于任何给定的构建,我将至少有三个作业(标准的持续集成/夜间,安全扫描,覆盖),然后是一些下游集成测试作业.配置切片器插件处理交叉作业的某些方面,但每个作业仍然是它自己的单独实体,与其组中的其他作业无关.

我最近看到了QuickBuild并且它具有作业继承,其中父作业可以定义一组标准步骤,其子代可以覆盖和专门化.有詹金斯,我有工作的副本,这是好的,直到我需要改变一些东西.使用QuickBuild,作业之间的关系可以让我轻松地传播我的更改.

我一直试图弄清楚如何在詹金斯处理这个问题.我可以使用参数化构建触发器插件来允许作业调用其他人并覆盖方面.然后,我将从被叫作业中的数据收集到其调用者.我怀疑我会遇到一系列问题,其中有些方面我无法覆盖,这将迫使我在我自己的脚本中实现Jenkins功能,从而使Jenkins不那么有用.

你如何处理詹金斯的构建工作的复杂性?您是否听说过QuickBuild存在任何严重问题?

continuous-integration build jenkins quickbuild

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

我可以使用buildnumber-maven-plugin设置项目版本吗?

我正在尝试将svn.revision添加到项目版本作为内部版本号,但似乎无法这样做.我的jar有正确的名称durin打包,但它安装在我的本地存储库中,就好像$ {buildNumber}在设置版本时未定义.

我得到foo-1.0.0-SNAPSHOT- $ {buildNumber}而不是foo-1.0.0-SNAPSHOT- 304

知道我做错了什么或者在项目版本中添加修改是个坏主意吗?谢谢您的帮助.

<project>
  ...
  <version>1.0.0-${release.identifier}-${buildNumber}</version>
  <properties>
    <release.identifier>SNAPSHOT</release.identifier>
  </properties>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>useLastCommittedRevision</id>
            <goals>
              <goal>create</goal>
            </goals>
            <configuration>
              <useLastCommittedRevision>true</useLastCommittedRevision>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  ...
</project>
Run Code Online (Sandbox Code Playgroud)

maven-2 maven-plugin buildnumber-maven-plugin

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

如何将环境传递给gradle exec

如何在执行期间将变量传递给Exec?我想编写一个传递gradle文件,该文件将执行我当前的构建命令,这样我就可以将配置从构建服务器计划移动到源代码管理的build.gradle文件.这也是我为更大的项目做准备而了解gradle的一部分.

我想使用不同的变量执行命令以进行配置.在ant中,我设置了我的属性,然后通过嵌套的env块将它们传递给exec.在gradle中,我正在填充一个我与任务环境合并的地图,但这不起作用.

我无法在checkenv中添加"<<",因此任务代码执行之前的buildEnvironmentVariables被填充或者位于错误的范围内.我知道我没有按照正确的任务配置.

请提供建议或指出我在手册/文档的正确部分.

build.gradle - 执行gradle checkenv

def buildEnvironmentVariables = [:]
task setEnv() << {
    buildEnvironmentVariables['JAVA_OPTS']="-XX:ErrorFile=foo/logs" 
}

task checkenv(dependsOn: 'printEnv', type:Exec) {
    workingDir '../..'
    executable = 'cmd'
    environment << buildEnvironmentVariables
    println "buildEnvironmentVariables = " << buildEnvironmentVariables['JAVA_OPTS']
    args = ['/c','set','JAVA_OPTS']
}
Run Code Online (Sandbox Code Playgroud)

我是否应该只在项目中添加一个任务,当它相当于"目标"并封装顶级任务中的exec之类的操作时?

添加的任务就像ant目标,封装的任务就像ant任务一样?

def buildEnvironmentVariables = [:]
task setEnv() << {
    buildEnvironmentVariables['JAVA_OPTS']="-XX:ErrorFile=foo/logs" 
}

task checkenv(dependsOn: 'printEnv') << {
    println "buildEnvironmentVariables = " << buildEnvironmentVariables['JAVA_OPTS']
    ext.check = exec() {
        workingDir '../..'
        executable = 'cmd'
        environment << buildEnvironmentVariables
        args = …
Run Code Online (Sandbox Code Playgroud)

gradle

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

复制树与gradle和改变结构?

复制时可以通过gradle改变树的结构吗?

原版的

  • MOD /一个/ SRC
  • 模/ B/SRC

期望

  • DEST/MOD-A /源
  • DEST/MOD-B /源
  • DEST/MOD-C /源

我不确定在哪里创建闭包并覆盖复制树逻辑

我想做gra's相当于ant的globmapper功能

<property name="from.dir" location=".."/>      
<property name="to.dir" location="dbutil"/>
<copy>
    <fileset dir="${from.dir}" ... />
    <globmapper from="${from.dir}/*/db" to="${to.dir}"/> 
</copy>
Run Code Online (Sandbox Code Playgroud)

谢谢

彼得

copy rename build gradle

13
推荐指数
1
解决办法
8409
查看次数

在VM上运行JIRA

任何人在VM上运行Jira有成功或失败吗?

我正在设置一个新的源代码控制和缺陷跟踪服务器.我的服务器机房已接近满,我的服务组建议使用VM.我看到很多人在VM上运行SVN(包括NCSA).VM还可以解除我的硬件问题并为我提供高可用性.最后,它让我摆脱了一些繁文缛节,可以更快地实现.

那么,有没有人知道为什么我不应该把Jira放在VM上?

谢谢

version-control jira virtual-machine

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

在所有启动器的Eclipse工作空间级别设置环境变量?

我是否可以设置工作区范围设置以将环境变量添加到工作区中创建的所有未来启动器?

用例

  • 我们的单元测试需要一个环境变量来指导测试到某些资源.
  • 变量因我们产品的每个版本而异

选项 - 使用环境变量修改每个junit启动器 - 创建启动脚本,设置变量并启动eclipse - 全局设置

理想情况下,我想为用户提供一种方法,让每个工作区设置一次.

eclipse是否有地方为所有发射器设置环境变量?

谢谢

彼得

eclipse launcher

11
推荐指数
1
解决办法
3228
查看次数

Gradle --no-daemon 启动守护进程?

如何让 gradle 不与守护进程交谈?

./gradlew --no-daemon -Porg.gradle.daemon=false -Dorg.gradle.daemon=false build -x test
Starting daemon
IDLE
Run Code Online (Sandbox Code Playgroud)

我们在 ecs 上运行 jenkins 节点,所以守护进程似乎并没有给我们带来太多好处。此外,我们在并行 jenkins 管道块中运行多个 gradle 执行,有时会看到守护程序错误 - 这是我不希望的:

[org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
[org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
[org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
Daemon vm is shutting down... The daemon has exited normally or was terminated in response to a user interrupt.
Run Code Online (Sandbox Code Playgroud)

似乎 gradle 需要守护进程才能不使用它。我将尝试放弃并使用守护进程,这是 gradle 守护进程文档推荐的。

jenkins-pipeline gradle-daemon

11
推荐指数
1
解决办法
3781
查看次数

如何使用jenkins git插件从分支构建包括起源与否

当从主jenkins上使用git构建并使用origin/master时.当从一个分支上的git构建时,jenkins提取并且用户mybranch不是origin/mybranch并且没有进行更改.

我切换分支说明符使用origin/mybranch,它似乎工作.是处理事情的标准方法还是我错过了更明显的方法?我不想添加不必要的复杂性.

如果jenkins 在其Branches-To-Build字段中使用origin/branchname而不是branchname,请告诉我.

谢谢

彼得

git jenkins git-branch

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

清除Maven本地存储库并保持最新状态?

如何从本地仓库中轻松删除所有陈旧的快照?

我的repo中的许多文件导致性能不佳,并且获取工件的时间很长.我想将repo保留到最新的快照.

我看到了依赖:purge-local-repository可以清除本地存储库,但我想保持最新状态.我可以轻松地创建一个脚本来完成这项工作(并将其包装在一个插件中),但如果已经有一个清除最新的工具,则不想重新发明轮子.

是否有一个插件可以清除我对最新快照或最后X个快照的依赖?

plugins repository maven

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