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

Builds take too long #971

Closed
binkley opened this issue Aug 29, 2021 · 3 comments
Closed

Builds take too long #971

binkley opened this issue Aug 29, 2021 · 3 comments
Assignees
Milestone

Comments

@binkley
Copy link
Contributor

binkley commented Aug 29, 2021

Affected Version: 0.17.0-SNAPSHOT
API (fluent-en_GB, infix-en_GB): alll
Platform (jvm, js): all
Extension (none, kotlin 1.3): none

Why does this issue template point out Kotlin 1.3 -- current is 1.5.x?
Likewise, the build output seems to depend on older Kotlin versions.

How to reproduce the problem

Clone the repo. Build with ./gradlew clean build.

Describe the bug

Lots of cmd line noise, and green builds take 10+ minutes. (fyi -- I'm on a modern Mac in my local build).
The warnings lower my confidence for the code, and the long build times make it harder to contribute.

The build noise is potentially addressable (suppressions and the like). The long time may be unavoidable. However, it is offputting for contributors like myself, and impedes the "red-green-refactor" development cycle.

@binkley binkley added the bug label Aug 29, 2021
@binkley binkley changed the title Build takes too long Builds take too long Aug 29, 2021
@binkley
Copy link
Contributor Author

binkley commented Aug 29, 2021

I'm not sure about the "bug" label. Perhaps "enhancement"?

@robstoll robstoll added enhancement and removed bug labels Aug 30, 2021
@robstoll
Copy link
Owner

robstoll commented Aug 30, 2021

@binkley thanks for the feedback.

Why does this issue template point out Kotlin 1.3 -- current is 1.5.x?

Atrium still supports Kotlin 1.2 and thus provides a Kotlin 1.3 extension (an own artifact) which can be used by users using Kotlin >= 1.3. I will drop 1.2 support once we switch to the new MPP plugins which requires Kotlin 1.4 and Kotlin 1.2 is not able to understand 1.4. At this point we will also switch the project to kotlin 1.5 but still emit Kotlin 1.4 compatible byte code, so that Kotlin 1.3 users can still use Atrium. I don't know yet when we drop support for Kotlin 1.3 but as long as it does not hurt us, I intend to support older versions (as not everyone can update to new versions in the pace Jetbrains releases new versions)

Likewise, the build output seems to depend on older Kotlin versions.

Unfortunately yes, Atrium was already around when MPP was in an early stage and still uses the old MPP plugins. There is #744 which is already around for this issue. Would of course be great if you find the time to work on it. There is a draft PR (see #744 (comment)) lying around which will help in doing the migration.

and green builds take 10+ minutes

Are you on the latest master? There was an issue with the r8 configuration with the upgrade to gradle 6.9, gradle suddenly used about 3 - 5min to only configure it (now it even fails as we are still depending on bintray for this dependency as it seems) but it should not be part of the build any more (unless you have CI=1 in your env variables). Please check it with ./gradlew build --dry-run

The build noise is potentially addressable

I don't have the time to address this but would be cool if you find the time to suppress the warnings regarding the deprecated MPP plugin.

@robstoll robstoll added this to the 0.19.0 milestone Jan 6, 2022
@robstoll robstoll self-assigned this Jan 6, 2022
@robstoll
Copy link
Owner

@binkley we moved to the new MPP plugin clean build takes 2min on my machine currently (we are skipping js on local without the CI flag for now). I think that is reasonable fast.
Closing this, let me know in case you still have ideas how we can improve

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants