基于忍者和python的元构建系统

craftr-build的Python项目详细描述


PyPI VersionCII Best Practices

crafter是一个基于Python 3脚本的元构建系统,它生成 Ninja生成清单。它 强制使用易于重用的模块化构建定义 并附带支持各种编程的标准库 语言和公共图书馆。

功能

  • [X]旨在实现跨平台兼容(定期在 Windows、Mac OS和Linux)
  • [X]将构建定义划分为版本化模块
  • [X]将实际的Python函数嵌入到构建过程中(关键字 任务)
  • [X]完全可复制生成的依赖项锁定文件
  • []包管理器(托管在Craftr.net

基本用法

$ craftr version                            # Print Craftr version and exit
$ craftr export                             # Generate Ninja manifest
$ craftr build [target [target [...]]]      # Build all or the specified target(s)
$ craftr clean [-r] [target [target [...]]] # Clean all or the specified target(s)
$ craftr startpackage <name> [directory]    # Start a new Craftr project (manifest, Craftrfile)
$ craftr lock                               # Generate a .dependency-lock file (after craftr export)

^ {STR 1 } $c++示例

cxx=load('craftr.lang.cxx')program=cxx.executable(inputs=cxx.compile_cpp(sources=glob('src/**/*.cpp')),output='main')

java示例

java=load('craftr.lang.java')jar=java.jar(inputs=java.compile(src_dir=local('src')),output='myapp',entry_point='Main')

c示例

cs=load('craftr.lang.csharp')app=cs.compile(sources=glob('src/**/*.cs'),output='Main',target='exe')

cython示例

cython=load('craftr.lang.cython')primes=cython.project(sources=[local('Primes.pyx')],main=local('Main.pyx'))run=runtarget(primes.main)

如何贡献

create an Issue如果你有 任何问题、问题或功能请求。

安装

请确保指定要安装的特定版本,因为 pypi上还没有craftr 2.x的未标记版本,并且 否则pip将安装craftr 1.x(这是完全不同的)。得到 Craftr 2的最新稳定版本,使用

$ pip install craftr-build==2.0.0

为了得到最新的开发版本,我建议安装crafter 从git存储库到virtualenv。

$ virtualenv -p python3 env && source env/bin/activate
$ git clone https://github.com/craftr-build/craftr.git -b development
$ cd craftr
$ pip install -e .

要求

python依赖项(自动安装)

许可证

The Craftr build system
Copyright (C) 2016  Niklas Rosenstein

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

有关详细信息,请参见LICENSE.txt文件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何处理CannotCreateTransactionException   安卓如何通过TensorFlowEnferenceInterface提供布尔占位符。JAVA   java是一个系统。出来默认情况下println线程安全?   java关于同步的重要性   java非法启动表达式/尚未对编码充满信心欢迎帮助   安卓为什么XML和Java中的ImageView测量不同?   Android乘以双精度整数[java]   java如何将下一个数组项设置为变量的新值?   java编译ikvmc pwswiftcoreXXXX。jar作为clr。动态链接库   java测试没有单元测试调用的私有方法   在java中如何划分重复的正则表达式模式?   java活动不刷新onCreate()中的布局   Java用户输入nextLine()不等待输入   oracle11g用java编写ORACLE BLOB文件   mysql如何在Java程序中使用Hibernate?   java ADF从托管bean调用有界taskflow