Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: edef64bed108f0a17d45f1e441604b547a95c825 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
2004-03-02 Sean Evoy
	A change in VCErrorParser to fix PR 53253 causes an IndexOutOfBounds 
	exception when echoing a build command on Win32 if the absolute path 
	to the make utility is specified, i.e. C:\<path>\make.exe
	
	The work-around is to not have the launcher echo the command, and just 
	output it to the build console directly.

2004-03-02 James Ciesielski
	Marked those strings that are non-translatable as such and externalized 
	those strings that can be translated.  There is still work to be done in
	this area for this plugin.

	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuilderCorePlugin.java
	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuilderManager.java
	* src/org/eclipse/cdt/managedbuilder/core/ManagedCProjectNature.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Option.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties

2004-03-02 Sean Evoy
	Work to support feature C1, "Set Tool Command in Project". 
	Now it is possible to store an overridden tool command in a tool 
	reference. The tool command can be overridden directly in an 
	existing reference, or through the configuration, which creates a 
	new tool reference.

2004-02-26 Jeremiah Lott
	Added a header to the automatically generated makefiles to alert users 
	not to edit them. Also added includes directives to bring in user-supplied 
	makefiles to support additional targets, macro definitions, and custom 
	build steps. Strings are externalized.
	* src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties
	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java

2004-02-26 Sean Evoy
	Work for C14, add the ability to inherit a tool description via a tool 
	reference.
	
	Changed the schema to allow a tool reference to belong to a target.
	* schema/ManagedBuildTools.exsd
	
	Changed the manifest logic in the managed build manager to load and 
	retrieve tool definitions as well as target definitions. The schema 
	allowed for this, but the logic was missing.
	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java

	Made some bookeeping additions to the target so that it can store references 
	to tools. First, the target loads any tool references it has. Then it loads 
	tools and configurations. The target also has to consider the presence of tool 
	references when it determines how many tools it has, so the logic that counted 
	and returned the number of tools in the target was updated. Some key changes in 
	this regard relate to how the target looks up the tool references it has. It 
	now has to ask the managed build info if it has a tool definition for the reference 
	if there are no tools defined for the target level for a given reference.
	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
	
	Tool references now have the potential to be owned by either a target or a 
	configuration. Changed the owner to the superclass of both and figure out 
	which the parent is at runtime to perform the proper registration and information 
	look-up. Also removed the reference to a target from a tool and the interface to 
	extract the target from ITool.
	* src/org/eclipse/cdt/managedbuilder/core/ITool.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java
	
	An unrelated bug had to do with a problem my testing uncovered with nested 
	categories. The manifest reader was looking at the wrong field to determine 
	the parent, but for the manifests we have created, this has not proven to be 
	a problem so far.
	* src/org/eclipse/cdt/managedbuilder/core/IOptionCategory.java
	* src/org/eclipse/cdt/managedbuilder/core/IOptionCategory.java	
	
2004-02-24 Sean Evoy
	Changed the makefile generator to escape any whitespace it finds in a dependency
	path. Now it is possible to build a project in a location with spaces but 
	you still cannot have internal folders with spaces in the name. 
	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
	
	Tweaked the builder to put only the make command in invocation if there were 
	no arguments spec'd. It seemed to be causing a fake error message 
	to be reported on Linux even though make was successfully building the project.
	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
	
2004-02-23 Sean Evoy
	Fix for bug 52647.
	In 1.2, the target stored the raw, overridden build command the user 
	specified on the property page. This string may or may not have included 
	arguments to make. The managed build info was responsible for parsing the 
	command from the arguments and returning both to the makefile generator. 
	The problem was that the logic was too light-weight to really parse a 
	complex command line. That logic has been refactored to the property page itself, 
	so the price of parsing is payed once.
	
	The Target and its public interface have been reworked to set and get the 
	arguments for make. This is treated as a project-level setting. It cannot 
	be defined in a manifest for now. There is also a capability to reset and 
	test the args when checking for an overridden make command in a target.
	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java 
	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java

	The arguments are now passed to the spawner that launches make correctly. 
	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
	
	The ManagedBuildInfo is off the hook now. Rather than performing any 
	parsing or foo-fa-raw, it simply delegates the lookup to the target.
	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java

2004-02-17 Sean Evoy
	Fix for critical bug 44163.
	The managed build info would become confused when the project it was associated
	with was renamed. The project still stored the build information in its session 
	data, but the internal reference to the owner project was not updated in the 
	build info. Now, when the build info is retrieved from a project, the manager 
	asks the info to do a sanity test to check the identity of the true owner against 
	the owner the it thinks it has. If they differ, the build information updates its 
	owner and the owner of all the targets it maintains for the project.
	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java	
	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java


	Fixes for 51646
	Moved the makefile comment character out of the hard-coded strings and into 
	the makefile generator.
	* src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties
	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
	
	Fixes for bug 49590:
	The target maintains the default extension and the overridden extension. There 
	is an interface to get and set the extension, but the method to get the default 
	extension is deprecated.
	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
	
	The build information now has a method to get at the extension
	* src/org/eclipse/cdt/managedbuilder/core/IManagedBuildInfo.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
	
	The makefile generator now asks for both the name and the extension when 
	generating targets and dependencies.
	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java

2003-10-23 Bogdan Gheorghe
	Updated the indexManager.perfomConcurrentJob call in MakefileGenerator
	
2003-10-03 Sean Evoy
	Fix for critical bug 44134. 
	
	The problem lies in how the makefile is generated when a build target 
	references other projects. The makefile creates a command to change to 
	the build directory of the referenced project and call $(MAKE) there, i.e.
		cd <dep_project_build_dir>; $(MAKE) clean all 

	The problem arises when the directory change fails. As of RC0, the command 
	after the semi-colon is evaluated. Unfortunately, it evaluates to a recursive 
	make call in the build directory of the build target and 'make' will keep 
	invoking more 'make's until Eclipse runs out of memory. With a manual build, 
	the user can still cancel the build. When autobuild is turned on, they cannot. 
	The only way to shut down Eclipse under that scenario is to kill it, and when 
	it restarts, autobuild is still enabled and the problem repeats.

	The solution is to NOT perform the 'make' command if the 'cd' fails, i.e.
		cd <dep_project_build_dir> && $(MAKE) clean all 

	When the dependencies are generated this way, the 'cd' will fail as will the 
	build. The final tweak is to ignore the 'cd' failure and allow the rest of 
	the build to continue, i.e.
		-cd <dep_project_build_dir> && $(MAKE) clean all 
		
	*  src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java

2003-10-01 Sean Evoy
	Final fix for bugs 44020.
	The problem lay with the way that new projects were being created when the 
	root configuration of the project had tool references overriding options. 
	What the new configuration should have been doing is making a personal copy 
	of the tool reference and its options. Instead, they were all sharing the 
	parents. Seems simple enough now that I found it.
	 
	OptionReference provides a method to retreive its option (so new 
	OptionReferences can be cloned).
	* src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
	
	Configuration now behaves correctly when it is created from another configuration.
	* src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java

2003-10-01 Sean Evoy
	Fix for bugs 43490 (trivial), 44020, and 43980.
	Added a new field to the schema for a tool. The attribute manages a list of 
	project natures that the tool should be filtered against in the build model 
	and UI.
	* schema/ManagedBuildTools.exsd
	
	Updated the ITool interface and its mplementors to pay attention to this new 
	attribute when loading from a plugin file. Clients can querry for a numeric 
	constant indicating the filter.
	* src/org/eclipse/cdt/managedbuilder/core/ITool.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java
	
	All the methods in managed build manager that access information stored in a tool 
	first check that the tool is valid for the project nature.
	*  src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
	
	Put a safety check in the option reference constructor when reading one in from 
	a project file. I the option reference is to an option not managed by the build 
	model, the constructor does not add itself to the runtime representation of the 
	model.
	* src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java

	In preparation for 44020, each new target created is assigned a truly random ID.
	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java

2003-09-30 Sean Evoy
	Fix for bug 41826.
	
	Finished the use case for changing header files and triggering a build. I had 
	to add a new attribute to the build model schema to allow a build information 
	client to determine that a file is considered a header file.
	* schema/ManagedBuildTools.exsd
	
	The ITool, and its implementors now have a method to test if an extension is 
	considered to belong to a header file. The Tool also pays attention to the new 
	attribute when it reads itself in from the plugin file.
	* src/org/eclipse/cdt/managedbuilder/core/ITool.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java

	There is a method for clients of this information on the BuildInfo interface and 
	its implementor.
	* src/org/eclipse/cdt/managedbuilder/core/IManagedBuildInfo.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
	
	The builder had to be tweaked in order to behave correctly on a build of an 
	empty project or non-managed projects.
	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java

	The makefile generator had to be tweaked to properly add folders that are effected 
	by header file changes.
	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java

2003-09-26 Sean Evoy
	A partial implementation for bug 41826. This patch contains the logic to properly 
	respond in the face of the following project changes:
	
	1. A generated project element, such as the build target or an intermediate file, 
	is deleted in the build project, or any projects it references.
	2. The build settings change in the build project or any projects it 
	references.
	
	In order to actually do this correctly, I had to stop being so precious during the 
	build. The makefile generator was was calculating the "build needed" state as it 
	walked the change delta. However, the Eclipse core has already determined that I 
	need to do a build. Further, as I discovered earlier, it doesn't always pass what 
	has changed in referenced projects as part of the delta. Essentially, that means I 
	will never be able to fully calculate the change set in the makefile generator's 
	delta visitor, and to even approximate a decent set of cases, the logic would quickly 
	bog down in complexity. 
	
	The solution is to trust Eclipse and alway invoke make when my incremental builder 
	is called. At worst, if there is no significant change, make will execute and 
	report nothing to be done.
	
	The modified makefile builder no longer asks the makefile generator if it should 
	build. It also no longer cares if the change set is empty (make will report that). 
	Since it responds to changes in referenced project's build information, it also 
	scrubs all relevant projects after building. Since a build might involve building 
	referenced project elements, those projects get their project views refreshed after 
	build. The build markers for referenced projects are removed prior to build.
	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
	
	The makefile generator has been simplified. The resource delta visitor logic no 
	longer trie to decide if a build should occur. The method to ask has been removed. 
	The class no longer throws an exception if the change set is empty. I am also a bit 
	more careful to call make with the right targets if a referenced project is built.
	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
	
2003-09-26 Sean Evoy
	I added a fix to the builder and makefile generator to properly handle the following case.
	Project A depends on Project B. Something changes in project B and the user requests 
	that A be built. Inthis case, the incremental builder is invoked, but it is passed a 
	0-length delta on the top resource. Now, the logic of the builder is to treat that case as a 
	build event that triggers no makefile regeneration, just an invocation of make.
	
	Now handles the case where there is no flag applied to the make command and just 
	passes the targets as arguments.
	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
	
	The makefile generator now considers the case where the delta is for a project resource 
	and has no children. If so, it flags that a build is needed but no makefile generation 
	occurs. It also throws a new exception if the top makefile is not saved.
	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java

2003-09-25 Sean Evoy
	A patch to resolve the problem with refreshing the project after a build, or
	bug 42522 if you care about those sorts of things. The managed make builder was
	calling refresh at inside a bad if statement. I corrected that and projects 
	refresh correctly. Of course, if you have the wrong binary parser selected you are
	hosed. You will also notice that the string constants have been changed to 
	resolve to a different name. The standard builder uses this name and I wanted 
	to minimize the possibility of problems later.
	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
	
	Prepended "Managed" to the externalized string identifiers to avoid future overlap 
	with the standard build system. Had to update the makefile generator to use the 
	new identifiers.
	* src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties
	*  src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
	
	Changed the signature of the 'getMakeArguments' to return a string instead of an 
	array so the builder can invoke make with the user-specified args. I also changed 
	the logic of the getMakeCommand method in the implementor so that it only returns 
	a string containing the command itself.
	* src/org/eclipse/cdt/managedbuilder/core/IManagedBuildInfo.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java

	Explicitly trim all arrays to size before converting them to String[] for Options 
	and Tools.
	*src/org/eclipse/cdt/managedbuilder/internal/core/Option.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
	
	Fixed a missing bit of logic in the Configuration when a user-object option is 
	deleted. Now the build model really does get rid of the the value.
	* src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java
	
2003-09-25 Sean Evoy
	This patch contains a lot of changes needed to implement fixes for 42648 and 
	43122. 

	For 42648, the schema for the the target had to be modified to include a 
	comma-separated list of valid host platforms.
	* schema/ManagedBuildTools.exsd
	
	The target had to be updated to properly read in and understand this info, and
	the interface had to be updated to return a list to the clients in the UI. The 
	target was also changed slightly. It now uses a safer accessor method to get at 
	the list of tools it maintains. I have also stopped persisting non-variant info 
	to the project file on serialize. There are elements of the target that are not 
	subject to change by the user (yet) so they should not be saved.
	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
	
	For 43122, I started by simply adding a tool reference to the configurations. 
	The tool reference had option references for debug and optimization levels. It 
	should have worked, but the model was not handling the inheritance properly. The 
	JUnit tests were not finding it because of how they were configured. It was most 
	evident in the UI. So, the way configurations and tool reference search for 
	overridden option references had to be modified. While I was in there, I cleaned 
	up some of the accessor and iteration code in ToolReference and OptionReference.
	
	For the configuration, the only significant change was a new search method to 
	find all option references for a given tool, no matter where they are stored. 
	The method had to consider what was overridden in a child config, what was added by 
	a child config, and what the parent (or parents) define.
	* src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java
	
	Option reference now pays attention to overidden values in the plugin file. Until 
	now, it only handled the overrides in the project file.
	* src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java

	The ToolReference now distinguishes between local option references which it 
	manages directly, and option references held by tool references in the parent(s) 
	of its owner. It only serializes its own references, but when asked for options 
	relating to the tool it references, it replies with all option references in its 
	hierarchy.
	* src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java
	

2003-09-25 Bogdan Gheorghe
	Modified ResourceDeltaVisitor.visit() to use the new mechanism to get the
	projects that dependend a file.
	
	Modified addSourceDependencies() to use the new mechanism to perform a DependencyQueryJob
	
	* src/org/eclipse/cdt/managedbuilder/internal/core/MakeFileGenerator.java
	
2003-09-24 Sean Evoy
	Changed the implementor of IScannerInfo to answer only absolute paths when asked for 
	includes paths. Users will specify the includes paths in the managed build UI in such a way
	that the compiler will not complain. Either they will use absolute paths, or they will specify 
	them relative to the build directory. In the second case, it is easier for the managed builder 
	to convert the paths relative to this directory into absolute paths before replying tha it is for 
	the client to figure this out. 
	* 	src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
	
2003-09-23 Sean Evoy
	All the work in this patch is for critical bug 43292. In order to manage 
	configurations, there had to be a method through ITarget to remove 
	configurations. Also, to support the naming of newly created configurations, 
	I added a name method to the IConfiguration interface. Finally, the ITarget 
	needed to support setting (and resetting) the make command to use when building.
	* src/org/eclipse/cdt/managedbuilder/core/IConfiguration.java
	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java

2003-09-19 Sean Evoy
	Added a new field to the target specification in the build model to 
	hard-code the binary parser for project creation. There is a new getter 
	method in the interface and the implementor contains additional code to 
	extract the information from a project file or plugin manifest. The 
	interface also contains new strings to make changing the specification 
	easier in the future.
	* schema/ManagedBuildTools.exsd
	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
	
	Fix for bug 41720: libraries are now found for Solaris and Linux 
	executables. The problem was the executable had no extension and 
	the client of the build model passed null instead of the empty string.
	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java

2003-09-16 Sean Evoy
	Patch contains a fix for bug 43017. Renamed the "addDeps" method to a 
	more descriptive "addSourceDependencies". Added a flag when the 
	inter-project dependencies are calculated so that clean and all are 
	properly passed to the make invocation. Finally, I replaced the hard-coded
	'make' with $(MAKE)
	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
	
	It also contains some more work on 41826, specifically on the logic to
	implement a rebuild when the build settings change. The builder checks for 
	a build model change whenever a build is requested and responds appropriately. 
	The make targets (i.e. 'clean' and 'all') are also calculated differently now.
	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
	
	The build model was modified to set a dirty flag when an option changes. I also
	made a change to avoid an NPE when the build info was loaded.
	* src/org/eclipse/cdt/managedbuilder/core/IManagedBuildInfo.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java
	

2003-09-15 Sean Evoy
	First submission of code to new project. Moved the managed builder 
	source code out of the cdt.core project. This includes the code to 
	implement the build model, along with the shema and extension point 
	declaration. Moved the builder, scnanaer info provider and managed 
	nature definitions into the package as well.
	
	There are 2 new classes to handle the externalized strings:
	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuilderCorePlugin.java
	* src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties

Back to the top