Gradle-based Relaxed-Stacked build#9
Open
creichen wants to merge 7 commits into
Open
Conversation
Must run ./run-cat.sh to re-buid cache-config.csv before building; should probably be automated by someone who understands Gradle
The following paper introduces Relaxed-Stacked evaluation: https://dl.acm.org/doi/10.1145/3687997.3695644 Relaxed-Stacked evaluation eliminates unnecessary recomputation during circular fixed point computation. To determine which attributes can be optimised, we run the "cat" static analyser, which constructs a call graph to be able to rule out cycles: https://github.com/IdrissRio/cat We write the analysis results to `cache-config.csv` and use them as input for a second build. Since the JastAdd plugin for Gradle only supports a single output path, we split this build into two subprojects: basic-stacked/build.gradle relaxed-stacked/build.gradle The toplevel `build.gradle` file mainly handles configuring and delegating to these sub-builds.
Collaborator
|
LGTM 👍 I’ve opened a follow up PR that fixes the CI error: #11 |
Author
|
That sounds great, thank you! But don't hesitate to complain if you have any issues / concerns. |
Fix generateCacheConfig: add beaver to CAT classpath
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fully Gradle-hosted Relaxed-Stacked build of IntraJ
Since the JastAdd Gradle plugin hardcodes its output directory, we cannot use it directly to run a two-pass build; this PR solves this problem by using two Gradle subprojects, one each for the basic-stacked and the relaxed-stacked build.
Issues:
.jarfiles forcatandjastadd2. At least thejastadd2dependency we would want to replace, once we have released a version of JastAdd with Relaxed-Stacked evaluation..gitignoreprobably wants some updating