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

Implement ATs with JST and enable incremental compilation #147

Merged
merged 7 commits into from
May 13, 2024

Conversation

Matyrobbrt
Copy link
Member

Apply ATs on the source and not on the pre-decomp jar, to allow AT changes to be applied quicker, by not involving decompilation again.

To incrementally compile, the task should only detect changes in files on disk. To achieve this, the sources are unpacked before compilation, in such a way that files aren't overwritten unless they need to be, as timestamps play a role in verifying whether a file change should be ignored.
This PR also makes the list libraries task deterministic.

@Matyrobbrt Matyrobbrt added the enhancement New feature or request label Apr 18, 2024
@neoforged-pr-publishing
Copy link

neoforged-pr-publishing bot commented Apr 18, 2024

  • Publish PR to GitHub Packages

Last commit published: a04871c7da83dcec4f6ed4901af0d48384459820.

PR Publishing

The artifacts published by this PR:

Repository Declaration

In order to use the artifacts published by the PR, add the following repository to your buildscript:

repositories {
    maven {
        name 'Maven for PR #147' // https://github.com/neoforged/NeoGradle/pull/147
        url 'https://prmaven.neoforged.net/NeoGradle/pr147'
        content {
            includeModule('net.neoforged.gradle', 'common')
            includeModule('net.neoforged.gradle.common', 'net.neoforged.gradle.common.gradle.plugin')
            includeModule('net.neoforged.gradle', 'dsl-common')
            includeModule('net.neoforged.gradle', 'dsl-mixin')
            includeModule('net.neoforged.gradle.userdev', 'net.neoforged.gradle.userdev.gradle.plugin')
            includeModule('net.neoforged.gradle', 'dsl-userdev')
            includeModule('net.neoforged.gradle', 'userdev')
            includeModule('net.neoforged.gradle', 'platform')
            includeModule('net.neoforged.gradle.neoform', 'net.neoforged.gradle.neoform.gradle.plugin')
            includeModule('net.neoforged.gradle', 'neoform')
            includeModule('net.neoforged.gradle', 'dsl-neoform')
            includeModule('net.neoforged.gradle', 'dsl-vanilla')
            includeModule('net.neoforged.gradle', 'dsl-platform')
            includeModule('net.neoforged.gradle.mixin', 'net.neoforged.gradle.mixin.gradle.plugin')
            includeModule('net.neoforged.gradle', 'utils')
            includeModule('net.neoforged.gradle', 'vanilla')
            includeModule('net.neoforged.gradle', 'mixin')
            includeModule('net.neoforged.gradle.platform', 'net.neoforged.gradle.platform.gradle.plugin')
            includeModule('net.neoforged.gradle.vanilla', 'net.neoforged.gradle.vanilla.gradle.plugin')
        }
    }
}

}

@TaskAction
public void doTask() throws IOException {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feels like something to just use FileSystemOperations and a copy spec for instead of manually traversing stuff

@marchermans marchermans self-requested a review April 28, 2024 09:12
@marchermans marchermans merged commit 173cf2c into neoforged:NG_7.0 May 13, 2024
28 checks passed
@Matyrobbrt Matyrobbrt deleted the jst-ats branch May 16, 2024 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants