3232import net .fabricmc .accesswidener .AccessWidenerReader ;
3333import net .fabricmc .accesswidener .AccessWidenerVisitor ;
3434import org .cadixdev .bombe .type .signature .MethodSignature ;
35- import org .gradle .api .DefaultTask ;
3635import org .gradle .api .GradleException ;
37- import org .gradle .api .file .ConfigurableFileCollection ;
38- import org .gradle .api .file .RegularFileProperty ;
39- import org .gradle .api .tasks .InputFiles ;
40- import org .gradle .api .tasks .OutputFile ;
41- import org .gradle .api .tasks .TaskAction ;
36+ import org .gradle .api .logging .Logger ;
37+ import org .gradle .api .logging .Logging ;
4238
4339import java .io .BufferedReader ;
4440import java .io .BufferedWriter ;
4541import java .io .File ;
4642import java .io .IOException ;
4743import java .nio .file .Files ;
48- import java .util .Set ;
4944
50- public abstract class ConvertAWToAT extends DefaultTask {
45+ public class AWToAT {
46+ private static final Logger logger = Logging .getLogger (AWToAT .class );
5147
52- @ InputFiles
53- public abstract ConfigurableFileCollection getAccessWideners ();
54-
55- public void accessWideners (Object ... paths ) {
56- this .getAccessWideners ().from (paths );
57- }
58-
59- @ OutputFile
60- public abstract RegularFileProperty getAccessTransformer ();
61-
62- @ TaskAction
63- public void convert () {
64- final Set <File > awFiles = this .getAccessWideners ().getFiles ();
65- final File atFile = this .getAccessTransformer ().get ().getAsFile ();
48+ public static void convert (final Iterable <File > awFiles , final File atFile ) {
49+ AWToAT .logger .lifecycle ("Converting AWs {} to AT {} ..." , awFiles , atFile );
6650
6751 final AccessTransformSet at = AccessTransformSet .create ();
6852
6953 for (final File awFile : awFiles ) {
7054 try (final BufferedReader reader = Files .newBufferedReader (awFile .toPath ())) {
71- ConvertAWToAT .convert (reader , at );
55+ AWToAT .convert (reader , at );
7256 } catch (final IOException e ) {
7357 throw new GradleException ("Failed to read access widener: " + awFile , e );
7458 }
@@ -79,28 +63,30 @@ public void convert() {
7963 } catch (IOException e ) {
8064 throw new GradleException ("Failed to write access transformer: " + atFile , e );
8165 }
66+
67+ AWToAT .logger .lifecycle ("Converted AWs to AT." );
8268 }
8369
84- public static void convert (final BufferedReader reader , final AccessTransformSet at ) throws IOException {
70+ private static void convert (final BufferedReader reader , final AccessTransformSet at ) throws IOException {
8571 new AccessWidenerReader (new AccessWidenerVisitor () {
8672 @ Override
8773 public void visitClass (final String name , final AccessWidenerReader .AccessType access , final boolean transitive ) {
88- at .getOrCreateClass (name ).merge (ConvertAWToAT .convertEntry (access ));
74+ at .getOrCreateClass (name ).merge (AWToAT .convertEntry (access ));
8975 }
9076
9177 @ Override
9278 public void visitMethod (final String owner , final String name , final String descriptor , final AccessWidenerReader .AccessType access , final boolean transitive ) {
93- at .getOrCreateClass (owner ).mergeMethod (MethodSignature .of (name , descriptor ), ConvertAWToAT .convertEntry (access ));
79+ at .getOrCreateClass (owner ).mergeMethod (MethodSignature .of (name , descriptor ), AWToAT .convertEntry (access ));
9480 }
9581
9682 @ Override
9783 public void visitField (final String owner , final String name , final String descriptor , final AccessWidenerReader .AccessType access , final boolean transitive ) {
98- at .getOrCreateClass (owner ).mergeField (name , ConvertAWToAT .convertEntry (access ));
84+ at .getOrCreateClass (owner ).mergeField (name , AWToAT .convertEntry (access ));
9985 }
10086 }).read (reader );
10187 }
10288
103- public static AccessTransform convertEntry (final AccessWidenerReader .AccessType access ) {
89+ private static AccessTransform convertEntry (final AccessWidenerReader .AccessType access ) {
10490 return switch (access ) {
10591 case ACCESSIBLE -> AccessTransform .of (AccessChange .PUBLIC );
10692 case EXTENDABLE , MUTABLE -> AccessTransform .of (AccessChange .PUBLIC , ModifierChange .REMOVE );
0 commit comments