> Charles Wang
--
http://zoomquiet.org'''
过程改进乃是催生可促生靠谱的人的组织!
PE keeps evolving organizations which promoting people be good!'''
2008/9/8 li wang <charles...@gmail.com>:
> 我在这里看到的好多贴都是讨论用 python 实现 WebApp 的,其实 python 还有许多其它用途。scons没有体验过,分享一下具体的?
> 就是我很喜欢的一个,不知这里有其它喜欢 scons 并有一定实践经验的人吗?
>
> Charles Wang
以前编译XMMS2的时候接触到,后来想把它应用到Java项目的构建上,但对构建时生成的文件支持不是太好所以就没有用下去。
--
If it makes you happy, it can't be that bad.
scons的自动发现源文件依赖+手工植入源文件依赖,可以为编写构建脚本剩下不少时间。
我的情况比较特殊,举一个EJB的例子:我提供的源文件为FooBean.java;scons需要调用工具生成Foo.java,FooLocal.java,FooHome.java,FooLocalHome.java;然后scons调用javac将这5个文件编译成.class。这个例子应该和yacc,ylex生成代码的例子是一样的。
个人感觉scons还是比较适合C/C++类型的项目使用。
@Charles Wang
不用在上面的问题上太花时间,我现在还是回归到ANT了。
问题就在FooBean.java出现在javac的命令行上,但是其余几个生成出来的.java文件没有出现在javac命令行上。scons在为javac收集文件时4个生成的.java文件还没有出现,导致最终不能javac这几个文件。
hi~ 诸位:
我在这里看到的好多贴都是讨论用 python 实现 WebApp 的,其实 python 还有许多其它用途。scons 就是我很喜欢的一个,不知这里有其它喜欢 scons 并有一定实践经验的人吗?
刚刚去scons主页看了一下,貌似除了1.0。0.9系列走的是够长了。有空下载一份把玩把玩。
非常感谢 Charles Wang 分享的又一 Python 强力应用! 收录 在:
http://wiki.woodpecker.org.cn/moin/PyScons
期望继续积累下去,让理解的人,真正使用起来,,,,
> scons的自动发现源文件依赖+手工植入源文件依赖,可以为编写构建脚本剩下不少时间。
>
> 我的情况比较特殊,举一个EJB的例子:我提供的源文件为FooBean.java;scons需要调用工具生成Foo.java,FooLocal.java,FooHome.java,FooLocalHome.java;然后scons调用javac将这5个文件编译成.class。这个例子应该和yacc,ylex生成代码的例子是一样的。
>
> 个人感觉scons还是比较适合C/C++类型的项目使用。
>
> @Charles Wang
> 不用在上面的问题上太花时间,我现在还是回归到ANT了。
>
--
hi~ 诸位:
我在这里看到的好多贴都是讨论用 python 实现 WebApp 的,其实 python 还有许多其它用途。scons 就是我很喜欢的一个,不知这里有其它喜欢 scons 并有一定实践经验的人吗?
Charles Wang
第二人生, Google Chrome、skim 都是使用 scons 的
scons 的"坏处" 也是依赖较新的 python,
像 skim 的编译使用 scons,在 Ubuntu 等现代 Linux 发行版上完全没有问题,
但是在 Debian 之类守旧陈腐的老古董上, 编译服务器就会出错
http://wiki.woodpecker.org.cn/moin/PyScons/CharlesWang
--
ANT没有这样的过程,它不处理依赖,写build.xml时由作者控制
> 2、分析依赖性关系,执行必须执行的操作;
ANT不分析依赖关系,按build.xml的task出现先后顺序调用
> 根据你的描述,FooBean.java 应该是含有了用于生成FooBean.class的完整信息了的,毕竟Foo.java、
> FooLocal.java都是从FooBean.java中生成的啊。那么javac 为什么不能直接从FooBean.java生成
> FooBean.class 呢?中间文件难道还可能被修改或者被其他文件所依赖吗?呵呵,我不懂java的啊。
其实这些都是Java无聊的spec定义出来的,这些Foo.java,FooLocal.java本应由程序开发人员编写,但是有人要偷懒。这几个文件的内容,FooBean.java就可以提供了,何不做个工具。javac只是单纯的从.java生成.class文件。貌似JDK5之后出现的apt可以代替javac,并且提供自定义的编译过程(例如:编译时生成文件,再编译生成的文件),但是目前较少看到自定义的apt工具库。
Gentoo 也曾经很长一段时间 mask 了 Python2.5
赞,
不过你怎么考虑包冲突呢?
像 Ubuntu 里边, gtkmozembed、python-gnome2、python-gnome2-extras、python-gnome2-desktop
等的包,
pypi 上的就是冲突的
不知道ebuild和eazy_install能否集成。很少用ebuild装python package,除非是系统强制的。
强烈建议 C.Wang 直接来啄木鸟,完善:
http://wiki.woodpecker.org.cn/moin/PyScons
是也乎,是也乎!
> http://code.google.com/p/pypi2pkgsys/
> http://pypi.python.org/pypi/pypi2pkgsys
>
> On 9月9日, 下午12时13分, "Gang Chen" <gon...@gmail.com> wrote:
>> 2008/9/9 Charles Wang <charlesw123...@gmail.com>:
>>
>> > 总之我是用gentoo的,不管python还是scons总是最新版本的了,呵呵。
>>
>> Gentoo同好 :-)
--
有没有考虑过和 g-pypi 项目合并呢?
http://code.google.com/p/g-pypi/
--
Qiangning Hong
http://www.douban.com/people/hongqn/
xmms2的开发人员很赶潮流啊,两年前用scons,git,现在居然又换了。