@@ -62,12 +62,75 @@ public List<String> generatePlatformIgnoreRules(Platform platform) {
62
62
63
63
// Add SQLite native library rules
64
64
addSQLiteRules (rules , platform );
65
-
66
- // Add general native library patterns
67
- addGeneralNativeRules (rules , platform );
65
+
66
+ // Add LibGDX specific rules
67
+ addLibGdxRules (rules , platform );
68
68
69
69
return rules ;
70
70
}
71
+
72
+ private void addLibGdxRules (List <String > rules , Platform platform ) {
73
+ if (platform == Platform .DEFAULT || platform == Platform .WIN_ARM64 ) {
74
+ // No special handling for default or Linux ARM64 (no official LWJGL support)
75
+ return ;
76
+ }
77
+
78
+ rules .add ("# LWJGL native libraries" );
79
+
80
+ // Keep current platform's LWJGL libraries
81
+ switch (platform ) {
82
+ case WIN_X64 :
83
+ rules .add ("/linux" );
84
+ rules .add ("/macos" );
85
+ rules .add ("/windows/arm64" );
86
+ rules .add ("/windows/x86" );
87
+ rules .add ("/gdx.dll" );
88
+ rules .add ("**libgdx*.so" );
89
+ rules .add ("**libgdx*.dylib" );
90
+ break ;
91
+ case WIN_ARM64 :
92
+ // No Win Arm64 support in LWJGL as of now
93
+ break ;
94
+ case MAC_X64 :
95
+ rules .add ("/linux" );
96
+ rules .add ("/windows" );
97
+ rules .add ("/macos/arm64" );
98
+ rules .add ("**gdx*.dll" );
99
+ rules .add ("**libgdx*.so" );
100
+ rules .add ("/libgdxarm64.dylib" );
101
+ break ;
102
+ case MAC_ARM64 :
103
+ rules .add ("/linux" );
104
+ rules .add ("/windows" );
105
+ rules .add ("/macos/x64" );
106
+ rules .add ("**gdx*.dll" );
107
+ rules .add ("**libgdx*.so" );
108
+ rules .add ("/libgdx64.dylib" );
109
+ break ;
110
+ case LINUX_X64 :
111
+ rules .add ("/macos" );
112
+ rules .add ("/windows" );
113
+ rules .add ("/linux" );
114
+ rules .add ("!/linux/x64" );
115
+ rules .add ("**gdx*.dll" );
116
+ rules .add ("**libgdx*.so" );
117
+ rules .add ("/libgdx*.dylib" );
118
+ rules .add ("!/libgdx64.so" );
119
+ break ;
120
+ case LINUX_ARM64 :
121
+ rules .add ("/macos" );
122
+ rules .add ("/windows" );
123
+ rules .add ("/linux" );
124
+ rules .add ("!/linux/arm64" );
125
+ rules .add ("**gdx*.dll" );
126
+ rules .add ("**libgdx*.so" );
127
+ rules .add ("/libgdx*.dylib" );
128
+ rules .add ("!/libgdxarm64.so" );
129
+ break ;
130
+ }
131
+
132
+ rules .add ("" );
133
+ }
71
134
72
135
/**
73
136
* Adds Skiko (Compose Multiplatform) specific rules for the platform.
@@ -142,48 +205,6 @@ private void addSQLiteRules(List<String> rules, Platform platform) {
142
205
rules .add ("" );
143
206
}
144
207
145
- /**
146
- * Adds general native library rules for the platform.
147
- * These cover common naming patterns for native libraries.
148
- */
149
- private void addGeneralNativeRules (List <String > rules , Platform platform ) {
150
- rules .add ("# General native library patterns" );
151
-
152
- String platformId = platform .getIdentifier ();
153
- String osName = getOSName (platform );
154
- String archName = getArchName (platform );
155
-
156
- // Keep patterns for current platform
157
- rules .add ("!*" + platformId + "*" );
158
- rules .add ("!*" + osName .toLowerCase () + "*" + archName + "*" );
159
- rules .add ("!*" + osName .toLowerCase () + "*" + archName .replace ("_" , "" ) + "*" );
160
-
161
- // Ignore other common platform patterns
162
- for (Platform p : Platform .values ()) {
163
- String otherPlatformId = p .getIdentifier ();
164
- if (!platformId .equals (otherPlatformId )) {
165
- rules .add ("*" + otherPlatformId + "*" );
166
- }
167
- }
168
-
169
- // Common alternative naming patterns
170
- if (!osName .equals ("windows" )) {
171
- rules .add ("*windows*" );
172
- rules .add ("*.dll" );
173
- }
174
- if (!osName .equals ("macos" )) {
175
- rules .add ("*macos*" );
176
- rules .add ("*darwin*" );
177
- rules .add ("*.dylib" );
178
- }
179
- if (!osName .equals ("linux" )) {
180
- rules .add ("*linux*" );
181
- rules .add ("*.so" );
182
- }
183
-
184
- rules .add ("" );
185
- }
186
-
187
208
/**
188
209
* Gets the display name for a platform.
189
210
*/
0 commit comments