我似乎有一种情况,我放入BeforeBuild目标的代码没有成功执行.
这是我有的:
<Target Name="BeforeBuild" >
<Message Text="Before Build" />
</Target>
Run Code Online (Sandbox Code Playgroud)
构建运行时,我无法在构建日志中看到消息输出.我格式化它的方式有问题,还是必须在脚本中的特定位置?我是否正在寻找这些消息的正确位置?
编辑:将重要性改为高似乎没有任何区别
有关以下内容的见解,请阅读:http://martinfowler.com/articles/rake.html
我最近一直在使用Rake(和Albacore),很喜欢它.当我需要Ruby语言的时候,大部分时间都可以使用它.
我必须承认我在C#的家里有更多的东西 - 这让我想到在.NET世界中是否有相当于Rake的东西.
我正在寻找的是一种在C#中编写构建脚本的方法,或者可能是DSL,具有相同的依赖编程模型,我也可以使用C#.
也许我离开基地问这个问题.但是,如果可以使用Ruby(以及内部DSL),那么我无法立即说明为什么C#不可能实现同样的目标.我当然不明白为什么还没有完成:-)
任何人都对这个问题有一些看法?
我们已经知道的:
提前致谢!
解
使用"Cake" http://cakebuild.net/ - 使用Roslyn编译器,我想要的(多年前)现在可以实现.谢谢微软.感谢编写Cake的人们.
另一种方法是使用Powershell.该图书馆名为Psake(saké)
我有点奇怪(但在我看来是明智的)情景.
我有一个网站,移动应用程序,可能还有一个用Javascript编写的Web服务器.我有很多功能,在所有这些系统之间共享.这个共享的东西将是模型,存储库,业务逻辑等.
如果我们排除Web服务器位,因为这是一个未来的想法,Web应用程序有一个这样的目录结构:
app
|- assets
|- models
|- services
|- migrations
|- view-models
|- views
|- descriptors
Run Code Online (Sandbox Code Playgroud)
现在每个应用程序分为2个区域,核心和ui部分,核心是可重用的东西,例如,models, services, migrationsui的东西只用于那个应用程序view-models, descriptors(包括你想知道的视图都是HTML和资产是CSS,图像等).
在我采用打字稿之前,我有一个构建脚本,它基本上将所有核心文件组合在一起并缩小它们.然后它将所有UI组合在一起并缩小它们.那样在移动应用程序中我就可以使用,my-app.core.min.js而且每个人都很高兴,我正在重用主Web应用程序中的所有可重用组件.但是我不需要ui的东西,因为移动UI与主要的web ui完全不同,并且Web服务甚至不会有UI向前发展.
通过解释上下文,我们可以回到手头的Typescript问题.目前,打字稿文件由tsc.exe(版本0.83)通过构建脚本编译,构建脚本仅包装交互.
所以在新的Typescript世界中,结构现在有一个像这样的引用文件夹:
app
|- assets
|- models
|- services
|- migrations
|- view-models
|- views
|- descriptors
|- references <- NEW ONE!
Run Code Online (Sandbox Code Playgroud)
该references文件夹由构建脚本自动填充所有本地引用,因此它将遍历整个目录树查找所有typescript文件并构建一个巨大的引用文件,这是一个充满本地typescript文件的引用声明的文件,可以查找了解更多关于我对此问题的看法:
所以现在当我运行构建脚本时,会发生以下步骤:
编译核心
tsc.exe --out <something>.core.js <previous_file_list>为UI编译
tsc.exe --out <something>.ui.js <previous_file_list>现在我希望这个输出2个文件my-app.core.js,它们只包含核心文件,而且my-app.ui.js …
我正在尝试将文件夹的内容移动到Phing中的另一个目的地.我不能直接从SVN下载内容,因为它们是拉链的.解压缩文件后,我想移动内容.
我发现了这种语法,但它不起作用: 使用phing复制整个目录
谢谢!
我想在我的java Script项目中集成Grunt.我已经安装了npm,grunt等等.
我为grunt创建了package.json文件和GRUNTFILE.js.
但是当我运行"grunt"命令时,我收到此错误"模块"未定义.
GRUNTFILE.js
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json')
});
grunt.registerTask('default', []);
};
Run Code Online (Sandbox Code Playgroud)
的package.json
{
"name": "Example",
"version": "0.0.1",
"private": true,
"devDependencies": {
"grunt": "latest",
"grunt-cli": "^0.1.13"
}
}
Run Code Online (Sandbox Code Playgroud) gn在 macOS (Catalina 10.15) 上构建 Chromium 或 libwebrtc 时,我从 Python 构建脚本中收到关于bytes和 的错误str。例如:
src [heads/master?] % gn gen out/ios_64 --args='target_os="ios" target_cpu="arm64"'
ERROR at //build/config/ios/ios_sdk.gni:109:21: Script returned non-zero exit code.
_ios_sdk_result = exec_script(script_name, ios_sdk_info_args, "scope")
^----------
Current dir: /Users/lynn/code/webrtc_ios/src/out/ios_64/
Command: python /Users/lynn/code/webrtc_ios/src/build/config/mac/sdk_info.py --get_sdk_info iphoneos
Returned 1.
stderr:
Traceback (most recent call last):
File "/Users/lynn/code/webrtc_ios/src/build/config/mac/sdk_info.py", line 107, in <module>
FillXcodeVersion(settings, args.developer_dir)
File "/Users/lynn/code/webrtc_ios/src/build/config/mac/sdk_info.py", line 59, in FillXcodeVersion
settings['xcode_version'] = FormatVersion(lines[0].split()[-1])
File "/Users/lynn/code/webrtc_ios/src/build/config/mac/sdk_info.py", line 43, in FormatVersion
major, minor, …Run Code Online (Sandbox Code Playgroud) 由于缺乏灵活性,mkmf我的C代码越来越难以管理.出于这个原因,我想使用另一个构建系统.
什么是rubygems需要以建设一个C扩展?如何将类似autotools/ 构建系统集成configure到工作流程中?
Gem::Specification.new 'my_gem' do |gem|
# Will this work?
gem.extensions = %w(ext/my_gem/configure)
end
Run Code Online (Sandbox Code Playgroud) 在我的构建文件中,我有一个ant目标,其中我有以下代码段,
<replaceregexp replace="custom.dir=${basedir}/tasks/custom" byline="true" file="${basedir}/MyApp/configuration.properties">
<regexp pattern="custom.dir=(.*)"/>
</replaceregexp>
Run Code Online (Sandbox Code Playgroud)
我想用"configuration.properties"文件中的路径替换"custom.dir"属性,但是一旦我执行了我的目标,我就会将"custom.dir"属性的条目修改为
custom.dir = C:arenaplaygroundmytestapp /任务/自定义
代替
custom.dir = C:\竞技场\操场\ mytestapp /任务/自定义
如何使用正确的文件分隔符将路径正确写入"configuration.properties"文件.我在窗户和蚂蚁使用的是蚂蚁1.8.
我的问题是以下情况是否可能。
这背后的想法是,将构建我的应用程序所需的所有数据都放在一个地方(源代码、资源、编译器、构建脚本......)。我想使用 MSBuild,因为在那里我可以构建 .dproj 文件而不是包含更少信息(例如:搜索路径)的 .dpr 文件(使用 dcc)。
假设我启动一个构建脚本,定义名为SampleScript,指定参数/p:MyPrefix=Custom.脚本中有以下代码:
<PropertyGroup Condition="$(BuildDefinitionName)=='SampleScript'">
<MyPrefix>Default</MyPrefix>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
我得到的,首先将MyPrefix设置为"Custom",然后将其重载为"Default"(我是对的吗?).如果是这样,有没有办法让用户指定的参数更优先,所以它没有超载?
我是 gradle 的新手。如果我没有使用 doFirst() 或 doLast()。以哪个顺序执行插件中的行(比如说)。我可以观察到它们不是按顺序执行的?有人可以解释gradle文件的执行流程吗?
谢谢
build-script ×12
msbuild ×3
javascript ×2
ant ×1
build-system ×1
c# ×1
cakebuild ×1
chromium ×1
delphi ×1
dsl ×1
gem ×1
gn ×1
gradle ×1
groovy ×1
gruntjs ×1
netbeans ×1
netbeans-8 ×1
overloading ×1
phing ×1
php ×1
rake ×1
reference ×1
ruby ×1
rubygems ×1
tfs2008 ×1
typescript ×1