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

Accelerate application discovery #101

Merged

Conversation

konradkaplita
Copy link
Contributor

Introduce option enable_shallow_app_discovery which is disabled by default.

When enabled, searching for *.app files is done by using filelib:wildcard/1 and it doesn't recursively traverse all directories under libs_dir root dirs.

Instead its assumed that each directory on libs_dir list contains a flat list of application dirs or is an app itself.

This pull request should solve #24 and together with #96 gives a lot faster build times which is especially helpful with big number of dependencies.

Our codebase currently has over 70 deps and we were able to reduce release generation times from 25 to 5 seconds.

@ericbmerritt
Copy link
Member

I wonder if this should be the default behaviour then. Given a few recent issues/pull requests that might make sense. What do you think @tsloughter ?

Introduce option `enable_shallow_app_discovery` which is disabled by
default.

When enabled searching for `*.app` files is done by using
`filelib:wildcard/1` and doesn't recursively traverse all directories
under `libs_dir` root dirs.

Instead its assumed that each directory on `libs_dir` list contains a
flat list of application dirs or is an app itself.
@konradkaplita
Copy link
Contributor Author

@ericbmerritt I just noticed that this PR failed on Travis. I have an amended version that passes dialyzer now.

Do you want me to reopen this PR?

@ericbmerritt ericbmerritt reopened this Dec 3, 2013
@ericbmerritt
Copy link
Member

@konradkaplita closing it was a mistake on my part (hit the wrong button). Please repush your changes.

@konradkaplita
Copy link
Contributor Author

@ericbmerritt amended my pull request and Travis build is passing now, merge at will. Cheers!

@tsloughter
Copy link
Member

@ericbmerritt and this one?

@ericbmerritt
Copy link
Member

@tsloughter I will take a look at this again tonight. I remember thinking something about this and I need to recapture that thought.

@tsloughter
Copy link
Member

@ericbmerritt any update?

@ericbmerritt
Copy link
Member

not yet. I have just not had any time :(

On Wed, Jan 22, 2014 at 12:43 PM, Tristan Sloughter <
notifications@github.com> wrote:

@ericbmerritt https://github.com/ericbmerritt any update?


Reply to this email directly or view it on GitHubhttps://github.com//pull/101#issuecomment-33065701
.

@subramanya1986
Copy link

I am creating a cross platform release using relx and I want relx to include erts by default but it should pick the cross compiled erts. I have provided the cross compiled erlang system library path using --system_libs, but relx pics the erts from the host system. How do I tell relx to pick the erts from a specified location.

@jwilberding
Copy link
Member

@ericbmerritt you ok to accept this now?

ericbmerritt added a commit that referenced this pull request Mar 12, 2014
@ericbmerritt ericbmerritt merged commit e24b382 into erlware:master Mar 12, 2014
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.

None yet

5 participants