为svn树中的项目生成sdists tarballs

sdistmaker的Python项目详细描述


SDIStmaker

从svn标记创建sdist tarballs,用于公司内部 SVN存储库。将sdist tarballs创建到一个目录中,然后可以为其提供服务 和阿帕奇。

在版本1.2之前,sdistmaker曾经被称为tha.sdistmaker。

安装和基本使用

一个简单的easy_install sdistmaker就足够了。这将为您提供两个脚本:

  • make_sdist,主要用于测试目的。将svn标记url和 目标目录,它将释放。
  • sdists_from_tags是主脚本。它在svn结构中搜索 合适的标签并发布。

首先,运行sdists_from_tags。它将创建一个var/private 目录并填入(例如!)所有的热情释放者释放。

两个脚本都有一个显示所有可用选项的--help选项和一个 使用说明。

配置

配置是通过python文件实现的。最简单的开始方法是 正在打印sdistmaker自己的基本默认值.py,方法是:

$> sdists_from_tags --print-example-defaults

将输出保存为python文件(建议:defaults.py)。那你可以 根据您的喜好调整它并与sdists_from_tags --defaults-file=defaults.py一起使用。默认文件是在一行中记录的,因此 应该很容易适应。

在建筑中使用

您可以在这样的构建中使用sdistmaker:

[buildout]
parts = sdists

[sdists]
recipe = zc.recipe.egg
eggs = sdistmaker
scripts = sdists_from_tags
# arguments =
#     defaults_file='${buildout:directory}/defaults.py',

defaults.py的创建方式与上面相同。

结合使用sdistmaker和真实的pypi

使用sdistmaker生成的结构是易于安装的完美索引 如果让apache托管它,就可以构建它。唯一的问题:你只能有一个 索引(注意:pip显然支持多个索引)。你可以解决这个问题 当找不到什么东西时,让apache将您重定向到pypi是个问题

下面是一个示例apache配置片段:

# Allow indexing
Options +Indexes
IndexOptions FancyIndexing VersionSort

# Start of rewriterules to use our own var/private/* packages
# when available and to redirect to pypi if not.
RewriteEngine On
# Use our robots.txt:
RewriteRule ^/robots.txt - [L]
# Use our apache's icons:
RewriteRule ^/icons/.* - [L]
# We want OUR index.  Specified in a weird way as apache
# searches in a weird way for index.htm index.html index.php etc.
RewriteRule ^/index\..* - [L]

# Use our var/private/PROJECTNAME if available,
# redirect to pypi otherwise:
RewriteCond /path/on/server/var/private/$1 !-f
RewriteCond /path/on/server/var/private/$1 !-d
RewriteRule ^/([^/]+)/?$ http://pypi.python.org/pypi/$1/ [P,L]

# Use our var/private/PROJECTNAME/project-0.1.tar.gz if available,
# redirect to pypi otherwise:
RewriteCond /path/on/server/var/private/$1 !-d
RewriteRule ^/([^/]+)/([^/]+)$ http://pypi.python.org/pypi/$1/$2 [P,L]

使用apache服务索引

您可以通过两种方式使用这样一个定制的apache服务索引。简易安装有 -i用于传递索引的选项:

$> easy_install -i http://packages.my.server/ zest.releaser

在buildout中,可以这样设置:

[buildout]
index = http://packages.my.server/
parts =
    ...

报告错误

您可以在以下位置报告错误或功能请求 http://bitbucket.org/reinout/sdistmaker/issues/

学分

Reinout van Rees编写。开始于 The Health Agency,在Nelen & Schuurmans改进。

开发和修订标记修复由沃特范登霍夫。

待办事项

  • 目前没有具体的消息。

sdistmaker的变更日志

1.4(2010-03-19)

  • 当setup.cfg包含dev和revisionmarkers时,不要崩溃。[沃特文]

1.3(2010-03-01)

  • 添加MANIFEST.in以获得mercurial的可靠版本对不起 搞乱了1.2版本,多亏了毛里兹推出了一个 1.2.2条。

1.2.2(2010-02-26)

  • 修复了丢失todo.txt的中断版本。

1.2.1(2010-02-25)

  • 小文档修复

1.2(2010-02-25)

  • 已从tha.sdistmaker重命名为sdistmaker
  • 巨大的文档改进。
  • 对脚本使用optparse,以便它们有更好的使用消息。 这大大改进了文档。
  • 不再在长描述中显示来自USAGE.txt的doctest。 那只是不可读的文档。
  • 丢失时将创建输出目录

1.1(2009-12-22)

  • 文件更新。

1.0(2009-12-21)

  • setup.py清除。

0.4(2009-11-09)

  • 现在,正确地替换base和base_on_服务器。

0.2(2009-11-09)

  • 在我们结束后清理tempdir重新完成然后离开 在杀死它之前。
  • 使用buildout的bin/python,以便在 没有全局设置工具的服务器。假设我们总是 建筑内部:我很好。

0.1(2009-11-06)

  • 添加了用于创建所有tarball的sdist_from_tags脚本。
  • 添加了用于创建单个sdist的make_sdist脚本
  • 由Thaskel创建的初始库骨架。

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

推荐PyPI第三方库


热门话题
无生物特征对话框的java Android生物特征认证   Java(Linux)和Windows系统之间的socket字符编码   java在Spring引导应用程序中使用JSF   java在没有类型转换的情况下访问父类型的arraylist中的特定子类型方法,子类型的创建只有在运行时才知道   java死锁线程检查   java Spring引导MySQL不批处理插入   java如何在Android文本视图中显示来自Firebase的消息列表?   Android API 24<与java一起崩溃。lang.NoClassDefFoundError:com。谷歌。常见的基础CharMatcher   如何在Java中修改JSON对象内的值   java解析JAR run命令中所需的参数   java从PRAGMA表_info()获取名称和类型   java如何删除字符串中的重复项,例如:“我的名字是这个和那个这个和那个”输出将是“我的名字是这个和那个”   java在自动连接DAOBean时自动连接类   集合的java通用返回类型   java在不覆盖现有点的情况下向对象添加点