Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebar3 #4120

Draft
wants to merge 13 commits into
base: main
Choose a base branch
from
Draft

Rebar3 #4120

wants to merge 13 commits into from

Conversation

jiahuili430
Copy link
Contributor

@jiahuili430 jiahuili430 commented Jul 19, 2022

Overview

Testing recommendations

./configure --spidermonkey-version 91
make
./dev/run --admin=adm:pass -n 1

make eunit
make eunit apps=config,couch_dist
make dist
make check
make release

Related Issues or Pull Requests

Checklist

  • Code is written and works correctly
  • Changes are covered by tests
  • Any new configurable parameters are documented in rel/overlay/etc/default.ini
  • A PR for documentation changes has been made in https://github.com/apache/couchdb-documentation

@jiahuili430 jiahuili430 force-pushed the rebar3 branch 6 times, most recently from 0902bf6 to b28f732 Compare July 19, 2022 19:44
configure Outdated Show resolved Hide resolved
@jiahuili430 jiahuili430 force-pushed the rebar3 branch 18 times, most recently from acb37f7 to 1ee1fbc Compare July 20, 2022 20:31
Change `src` to `apps`
1. Removed `setup_eunit` plugin
2. Modified rebar.config.script to use correct path
3. `fauxton` is a Non-Erlang deps that rebar3 cannot fetch, so use
`configure` to download
1. Use `couch/rebar.config.script` to get dependencies to avoid
dependency cycle errors.
2. Modify Makefile to pass `make all`
1. Modify `couchdb-build-releases.sh` to copy rebar3
2. Modify the path to docs
1. rebar3 doesn't support `[raw]`
2. Mimic fauxton as an OTP application
See apache/couchdb-fauxton@2aa7845
Create a rebar3 ic setup_eunit plugin to keep the same functionality
as the previous one. Since we need to use `setup_eunit.template`, so
move it to `plugins/ic/priv` folder.

Commands:
`rebar3 help ic`, `rebar3 help ic setup_eunit`,
`rebar3 ic`, `rebar3 ic setup_eunit [-f]`, `rebar3 ic setup_eunit -f`,
and `make setup-eunit`
1. Removed `-r` and `skip_apps` since rebar3 does not have them.
2. Copy `config`, `b64url`, `jiffy`, etc. to `apps` folder to avoid
`application not exist in the project` error.
3. Modified paths since rebar and rebar3 used different paths.

Commands: `make eunit`, `make eunit apps=config`
@jiahuili430 jiahuili430 force-pushed the rebar3 branch 4 times, most recently from a35912c to 66db68d Compare July 21, 2022 20:54
`./dev/run` is using `reltoo.config`
`rebar3 release` is using `relx`

For `make release`, changed `couchdb` with `start` because it's hardcoded
in relx. see https://github.com/erlware/relx/blob/main/src/rlx_assemble.erl#L828
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants