我想要实现什么?
我们目前正在开发一个使用Drupal的PHP项目.
我非常想学习如何为整个项目创建一个One-step build.
最好使用一些看似非常强大的新东西(对我来说):Maven
基本上我想自动化以下过程:
>从CVS repository官方查看Drupal.
>从各自的CVS存储库中查看官方第三方模块.
>从我们的mercurial存储库中查看我们的自定义模块.
>将所有模块复制/移动到Drupal中的相应目录.
>结帐并安装我们的自定义主题.
>添加自定义drupal安装配置文件.
>创建一个新的MySQL数据库模式.
>如果可能,自动执行drupal db连接设置.
在将来,我想在Hudson(或任何其他)继续集成服务器上运行此构建.
为什么选择Maven? (为什么不是Ant或Phing?)
除了学习新东西的愿望(我以前使用过Ant)之外,我认为Maven的依赖管理可能对drupal模块有效.
您是否认为这是使用Maven的充分理由,即使Maven最初并非用于PHP项目?我知道Ant最初也不是用于PHP,但是有更多人将Ant和PHP结合使用的例子.
顺便说一下,如果我不能让Maven尽快工作,我想我会切换到Ant. Ant的程序风格让我更容易理解.
到目前为止我有什么?
我有一个使用SCM插件的pom.xml文件来检查drupal源代码.
当我跑:
mvn scm:checkout
将源签出到新目录中:
target/checkout
当我尝试:
mvn scm:bootstrap
它抱怨没有定义安装目标.
这是pom.xml:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.example
drupal
1.0
org.apache.maven.plugins
maven-scm-plugin
1.1
anonymous
anonymous
scm:cvs:pserver:cvs.drupal.org:/cvs/drupal:drupal
scm:cvs:pserver:cvs.drupal.org:/cvs/drupal:drupal
DRUPAL-6-12
http://cvs.drupal.org/viewvc.py/drupal/drupal/?pathrev=DRUPAL-6
最后,我有什么问题?
> Maven是错误的工具吗?
如果不,
>你会怎么做?
>这是我应该使用的scm:bootstrap目标吗?
>在文件系统上移动目录的Maven方式是什么?
>是否应该使用安装目标将模块移动到drupal目录中?
>目前我们所有的自定义模块都在一个mercurial存储库中.是否可以创建一个pom.xml并单独检出每个模块?
>任何一般建议将不胜感激.
谢谢你的时间!