[
https://issues.apache.org/jira/browse/DISPATCH-1928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17275613#comment-17275613
]
Jiri Daněk commented on DISPATCH-1928:
--------------------------------------
Here's a comment suggesting not to use CMake for this: "[...] we have learned
in the past that you can do almost everything with CMake, but probably you
shouldn’t." https://pydoit.org/stories.html#bmw-automotive
That advice suggests to me going with plain Makefiles instead. Doing sequences
of shell commands in CMake is unwieldy anyways.
> Design for a platform-independent way of doing CI
> -------------------------------------------------
>
> Key: DISPATCH-1928
> URL: https://issues.apache.org/jira/browse/DISPATCH-1928
> Project: Qpid Dispatch
> Issue Type: Wish
> Affects Versions: 1.14.0
> Reporter: Jiri Daněk
> Assignee: Jiri Daněk
> Priority: Minor
>
> Every CI system has its own format of a build script. Such as .travis.yml, or
> Jenkinsfile. It makes sense to minimize the amount of code in such file and
> call some external Bash script instead. This way, multiple CI systems can be
> supported, migration is easier, and the scripts can be used outside of CI as
> well.
> Besides Bash scripts, it is also possible to write a meta-Makefile, or
> CMakeLists.txt to do the same job. That is, to accept some variables (like
> PROTON_CHECKOUT_BRANCH or EXTRA_PROTON_CMAKE_ARGUMENTS), do the git cloning,
> building, and test running.
> I am imagining that Dispatch could contain a meta-CMakeLists.txt which would
> have tasks to install ubuntu packages, clone and build proton, and to run
> regular dispatch cmake build, and to run tests. This could then be used from
> CI.
> I believe that using CMake for this is cleaner than Bash or make. Other tools
> would be possible, but they are unfamiliar to most people (including me) and
> that would deter contributors.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]