make like程序,将python脚本读取为makefile。
Pymk的Python项目详细描述
简介:pymk是一个脚本,它提供了“makefile”所具有的sam功能,但“makefile”(mkfile.py)是一个python脚本。mkfile.py的代码是干净的,它可以做更多的事情(比如检查名为“migrations”的所有文件夹和子文件夹中的所有文件)。
在Apple文件中设置依赖关系是不灵活的。仅支持“如果文件为newear,
则重新生成”。pymk可以在它的依赖项中包含任何您想要的python代码。
如果您想使用网络检查某个东西,则可以使用event。
pymk将尝试搜索taks的列表,但什么也找不到。
::
$touch mkfile.py
$pymk
可用任务:
把这个放在mkfile.py
:
来自pymk.task import task
类任务(task):
dependencys=[]
def build(cls):
打印“hello”
现在我们可以执行
:
$pymk
可用任务:
task
$pymk task
*生成“task”
hello
如果您希望pymk在默认情况下运行某个任务,只需将这一行放在mkfile.py
:
设置{
“默认任务”:任务,
}
的末尾,然后运行
:
:
$pymk
*生成“任务”
hello
ok,但现在我们的任务每次生成时都在生成。我们需要在
脚本中创建一个文件,并指出要创建的文件。out mkfile.py应该看起来像
这个
:
来自pymk.task import task
来自pymk.extra import touch
类任务(task):
依赖项=[]
输出文件='a.out'
def build(cls):
touch(cls.output戋file)
设置={
“默认任务”:任务,
}
,然后执行:
:
$pymk
*生成“任务”
$pymk
*“任务”是最新的
$ls a.out
我们需要一些依赖。这是来自pymk的文件
:
。任务导入任务
来自pymk。依赖项导入文件已更改
类任务(任务):
输出文件='a.out'
依赖项=[
文件已更改('b.out'),
]
def build(cls):
fp=open(cls.output_file,'a')
写('bulded!\ n')
fp.close()
settings={
“默认任务”:task,
}
因此,我们将创建它并重试。
:
$touch b.out
$pymk
*生成“任务”
$ls
$a.out b.out mkfile.py mkfile.pyc
$pymk
*“任务”是最新的
$touch b.out
$pymk
*生成“任务”
,当b.out被更改时,将创建a.out。这种依赖性
是为外部程序(或程序员)可以更改的文件实现的。
如果我们需要任务依赖性,例如“如果任务更改,重新生成我”,我们可以从pymk生成类似于
:
的内容。任务导入任务
=[]
def build(cls):
fp=open(cls.output_file,'a')
fp.write('bulded!\ n')
fp.close()
def build(cls):
fp=打开(cls.output_文件'a')
fp.write('bulded!\ n')
fp.close()
settings={
“默认任务”:任务,
}
,new可以运行这个:
::
$rm*.out;如果在
$pymk
*构建“secon任务”
*构建“任务”
$pymk
*“任务”是最新的
$touch b.out
$pymk
*构建“任务”
在Apple文件中设置依赖关系是不灵活的。仅支持“如果文件为newear,
则重新生成”。pymk可以在它的依赖项中包含任何您想要的python代码。
如果您想使用网络检查某个东西,则可以使用event。
pymk将尝试搜索taks的列表,但什么也找不到。
::
$touch mkfile.py
$pymk
可用任务:
把这个放在mkfile.py
:
来自pymk.task import task
类任务(task):
dependencys=[]
def build(cls):
打印“hello”
现在我们可以执行
:
$pymk
可用任务:
task
$pymk task
*生成“task”
hello
如果您希望pymk在默认情况下运行某个任务,只需将这一行放在mkfile.py
:
设置{
“默认任务”:任务,
}
的末尾,然后运行
:
:
$pymk
*生成“任务”
hello
ok,但现在我们的任务每次生成时都在生成。我们需要在
脚本中创建一个文件,并指出要创建的文件。out mkfile.py应该看起来像
这个
:
来自pymk.task import task
来自pymk.extra import touch
类任务(task):
依赖项=[]
输出文件='a.out'
def build(cls):
touch(cls.output戋file)
设置={
“默认任务”:任务,
}
,然后执行:
:
$pymk
*生成“任务”
$pymk
*“任务”是最新的
$ls a.out
我们需要一些依赖。这是来自pymk的文件
:
。任务导入任务
来自pymk。依赖项导入文件已更改
类任务(任务):
输出文件='a.out'
依赖项=[
文件已更改('b.out'),
]
def build(cls):
fp=open(cls.output_file,'a')
写('bulded!\ n')
fp.close()
settings={
“默认任务”:task,
}
因此,我们将创建它并重试。
:
$touch b.out
$pymk
*生成“任务”
$ls
$a.out b.out mkfile.py mkfile.pyc
$pymk
*“任务”是最新的
$touch b.out
$pymk
*生成“任务”
,当b.out被更改时,将创建a.out。这种依赖性
是为外部程序(或程序员)可以更改的文件实现的。
如果我们需要任务依赖性,例如“如果任务更改,重新生成我”,我们可以从pymk生成类似于
:
的内容。任务导入任务
=[]
def build(cls):
fp=open(cls.output_file,'a')
fp.write('bulded!\ n')
fp.close()
def build(cls):
fp=打开(cls.output_文件'a')
fp.write('bulded!\ n')
fp.close()
settings={
“默认任务”:任务,
}
,new可以运行这个:
::
$rm*.out;如果在
$pymk
*构建“secon任务”
*构建“任务”
$pymk
*“任务”是最新的
$touch b.out
$pymk
*构建“任务”