1{
2 lib,
3 stdenv,
4 fetchurl,
5 fetchzip,
6 unzip,
7}:
8
9rec {
10
11 # A primitive builder of Eclipse plugins. This function is intended
12 # to be used when building more advanced builders.
13 buildEclipsePluginBase =
14 {
15 name,
16 buildInputs ? [ ],
17 passthru ? { },
18 ...
19 }@attrs:
20 stdenv.mkDerivation (
21 attrs
22 // {
23 name = "eclipse-plugin-" + name;
24
25 buildInputs = buildInputs ++ [ unzip ];
26
27 passthru = {
28 isEclipsePlugin = true;
29 }
30 // passthru;
31 }
32 );
33
34 # Helper for the common case where we have separate feature and
35 # plugin JARs.
36 buildEclipsePlugin =
37 {
38 name,
39 srcFeature,
40 srcPlugin ? null,
41 srcPlugins ? [ ],
42 ...
43 }@attrs:
44 assert srcPlugin == null -> srcPlugins != [ ];
45 assert srcPlugin != null -> srcPlugins == [ ];
46
47 let
48
49 pSrcs = if (srcPlugin != null) then [ srcPlugin ] else srcPlugins;
50
51 in
52
53 buildEclipsePluginBase (
54 attrs
55 // {
56 srcs = [ srcFeature ] ++ pSrcs;
57
58 buildCommand = ''
59 dropinDir="$out/eclipse/dropins/${name}"
60
61 mkdir -p $dropinDir/features
62 unzip ${srcFeature} -d $dropinDir/features/
63
64 mkdir -p $dropinDir/plugins
65 for plugin in ${toString pSrcs}; do
66 cp -v $plugin $dropinDir/plugins/$(stripHash $plugin)
67 done
68 '';
69 }
70 );
71
72 # Helper for the case where the build directory has the layout of an
73 # Eclipse update site, that is, it contains the directories
74 # `features` and `plugins`. All features and plugins inside these
75 # directories will be installed.
76 buildEclipseUpdateSite =
77 { name, ... }@attrs:
78 buildEclipsePluginBase (
79 attrs
80 // {
81 dontBuild = true;
82 doCheck = false;
83
84 installPhase = ''
85 dropinDir="$out/eclipse/dropins/${name}"
86
87 # Install features.
88 cd features
89 for feature in *.jar; do
90 featureName=''${feature%.jar}
91 mkdir -p $dropinDir/features/$featureName
92 unzip $feature -d $dropinDir/features/$featureName
93 done
94 cd ..
95
96 # Install plugins.
97 mkdir -p $dropinDir/plugins
98
99 # A bundle should be unpacked if the manifest matches this
100 # pattern.
101 unpackPat="Eclipse-BundleShape:\\s*dir"
102
103 cd plugins
104 for plugin in *.jar ; do
105 pluginName=''${plugin%.jar}
106 manifest=$(unzip -p $plugin META-INF/MANIFEST.MF)
107
108 if [[ $manifest =~ $unpackPat ]] ; then
109 mkdir $dropinDir/plugins/$pluginName
110 unzip $plugin -d $dropinDir/plugins/$pluginName
111 else
112 cp -v $plugin $dropinDir/plugins/
113 fi
114 done
115 cd ..
116 '';
117 }
118 );
119
120 acejump = buildEclipsePlugin rec {
121 name = "acejump-${version}";
122 version = "1.0.0.201610261941";
123
124 srcFeature = fetchurl {
125 url = "https://tobiasmelcher.github.io/acejumpeclipse/features/acejump.feature_${version}.jar";
126 sha256 = "1szswjxp9g70ibfbv3p8dlq1bngq7nc22kp657z9i9kp8309md2d";
127 };
128
129 srcPlugin = fetchurl {
130 url = "https://tobiasmelcher.github.io/acejumpeclipse/plugins/acejump_${version}.jar";
131 sha256 = "1cn64xj2bm69vnn9db2xxh6kq148v83w5nx3183mrqb59ym3v9kf";
132 };
133
134 meta = with lib; {
135 homepage = "https://github.com/tobiasmelcher/EclipseAceJump";
136 description = "Provides fast jumps to text based on initial letter";
137 sourceProvenance = with sourceTypes; [ binaryBytecode ];
138 license = licenses.mit;
139 platforms = platforms.all;
140 };
141 };
142
143 ansi-econsole = buildEclipsePlugin rec {
144 name = "ansi-econsole-${version}";
145 version = "1.3.5.201612301822";
146
147 srcFeature = fetchurl {
148 url = "https://mihnita.github.io/ansi-econsole/install/features/net.mihai-nita.ansicon_${version}.jar";
149 sha256 = "086ylxpsrlpbvwv5mw7v6b44j63cwzgi8apg2mq058ydr5ak6hxs";
150 };
151
152 srcPlugin = fetchurl {
153 url = "https://mihnita.github.io/ansi-econsole/install/plugins/net.mihai-nita.ansicon.plugin_${version}.jar";
154 sha256 = "1j42l0xxzs89shqkyn91lb0gia10mifzy0i73c3n7gj7sv2ddbjq";
155 };
156
157 meta = with lib; {
158 homepage = "https://mihai-nita.net/java/#ePluginAEC";
159 description = "Adds support for ANSI escape sequences in the Eclipse console";
160 sourceProvenance = with sourceTypes; [ binaryBytecode ];
161 license = licenses.asl20;
162 platforms = platforms.all;
163 };
164 };
165
166 antlr-runtime_4_5 = buildEclipsePluginBase rec {
167 name = "antlr-runtime-4.5.3";
168
169 src = fetchurl {
170 url = "https://www.antlr.org/download/${name}.jar";
171 sha256 = "0lm78i2annlczlc2cg5xvby0g1dyl0sh1y5xc2pymjlmr67a1g4k";
172 };
173
174 buildCommand = ''
175 dropinDir="$out/eclipse/dropins/"
176 mkdir -p $dropinDir
177 cp -v $src $dropinDir/${name}.jar
178 '';
179
180 meta = with lib; {
181 description = "Powerful parser generator for processing structured text or binary files";
182 homepage = "https://www.antlr.org/";
183 sourceProvenance = with sourceTypes; [ binaryBytecode ];
184 license = licenses.bsd3;
185 platforms = platforms.all;
186 };
187 };
188
189 antlr-runtime_4_7 = buildEclipsePluginBase rec {
190 name = "antlr-runtime-4.7.1";
191
192 src = fetchurl {
193 url = "https://www.antlr.org/download/${name}.jar";
194 sha256 = "07f91mjclacrvkl8a307w2abq5wcqp0gcsnh0jg90ddfpqcnsla3";
195 };
196
197 buildCommand = ''
198 dropinDir="$out/eclipse/dropins/"
199 mkdir -p $dropinDir
200 cp -v $src $dropinDir/${name}.jar
201 '';
202
203 meta = with lib; {
204 description = "Powerful parser generator for processing structured text or binary files";
205 homepage = "https://www.antlr.org/";
206 sourceProvenance = with sourceTypes; [ binaryBytecode ];
207 license = licenses.bsd3;
208 platforms = platforms.all;
209 };
210 };
211
212 anyedittools = buildEclipsePlugin rec {
213 name = "anyedit-${version}";
214 version = "2.7.2.202006062100";
215
216 srcFeature = fetchurl {
217 url = "https://github.com/iloveeclipse/plugins/blob/latest/features/AnyEditTools_${version}.jar";
218 sha256 = "0dwwwvz8by10f5gnws1ahmg02g6v4xbaqcwc0cydvv1h52cyb40g";
219 };
220
221 srcPlugin = fetchurl {
222 url = "https://github.com/iloveeclipse/plugins/blob/latest/plugins/de.loskutov.anyedit.AnyEditTools_${version}.jar";
223 sha256 = "1ip8dk92ka7bczw1bkbs3zkclmwr28ds5q1wrzh525wb70x8v6fi";
224 };
225
226 meta = with lib; {
227 homepage = "https://github.com/iloveeclipse/plugins";
228 description = "Adds new tools to the context menu of text-based editors";
229 sourceProvenance = with sourceTypes; [ binaryBytecode ];
230 license = licenses.epl10;
231 platforms = platforms.all;
232 };
233 };
234
235 autodetect-encoding = buildEclipsePlugin rec {
236 name = "autodetect-encoding-${version}";
237 version = "1.8.5.201801191359";
238
239 srcFeature = fetchurl {
240 url = "https://github.com/cypher256/eclipse-encoding-plugin/raw/master/eclipse.encoding.updatesite.snapshot/features/eclipse.encoding.plugin.feature_${version}.jar";
241 sha256 = "1m8ypsc1dwz0y6yhjgxsdi9813d38jllv7javgwvcd30g042a3kx";
242 };
243
244 srcPlugin = fetchurl {
245 url = "https://github.com/cypher256/eclipse-encoding-plugin/raw/master/eclipse.encoding.updatesite.snapshot/plugins/mergedoc.encoding_${version}.jar";
246 sha256 = "1n2rzybfcwp3ss2qi0fhd8vm38vdwav8j837lqiqlfcnvzwsk86m";
247 };
248
249 meta = with lib; {
250 homepage = "https://github.com/cypher256/eclipse-encoding-plugin";
251 description = "Show file encoding and line ending for the active editor in the eclipse status bar";
252 sourceProvenance = with sourceTypes; [ binaryBytecode ];
253 license = licenses.epl10;
254 platforms = platforms.all;
255 };
256 };
257
258 bytecode-outline = buildEclipsePlugin rec {
259 name = "bytecode-outline-${version}";
260 version = "1.0.1.202006062100";
261
262 srcFeature = fetchurl {
263 url = "https://github.com/iloveeclipse/plugins/blob/latest/features/org.eclipse.jdt.bcoview.feature_${version}.jar";
264 sha256 = "0zbcph72lgv8cb5n4phcl3qsybc5q5yviwbv8yjv4v12m4l15wpk";
265 };
266
267 srcPlugin = fetchurl {
268 url = "https://github.com/iloveeclipse/plugins/blob/latest/plugins/org.eclipse.jdt.bcoview_${version}.jar";
269 sha256 = "1bx860k4haqcnhy8825kn4df0pyzd680qbnvjmxfrlxrqhr66fbb";
270 };
271
272 meta = with lib; {
273 homepage = "https://github.com/iloveeclipse/plugins";
274 description = "Shows disassembled bytecode of current java editor or class file";
275 sourceProvenance = with sourceTypes; [ binaryBytecode ];
276 license = licenses.bsd2;
277 platforms = platforms.all;
278 };
279 };
280
281 cdt = buildEclipseUpdateSite rec {
282 name = "cdt-${version}";
283 # find current version at https://github.com/eclipse-cdt/cdt/releases
284 version = "11.4.0";
285
286 src = fetchzip {
287 stripRoot = false;
288 url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/${lib.versions.majorMinor version}/${name}/${name}.zip";
289 hash = "sha256-39AoB5cKRQMFpRaOlrTEsyEKZYVqdTp1tMtlaDjjZ84=";
290 };
291
292 meta = with lib; {
293 homepage = "https://eclipse.org/cdt/";
294 description = "C/C++ development tooling";
295 sourceProvenance = with sourceTypes; [ binaryBytecode ];
296 license = licenses.epl10;
297 platforms = platforms.all;
298 maintainers = [ maintainers.bjornfor ];
299 };
300 };
301
302 checkstyle = buildEclipseUpdateSite rec {
303 name = "checkstyle-${version}";
304 version = "8.7.0.201801131309";
305
306 src = fetchzip {
307 stripRoot = false;
308 url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/8.7.0/net.sf.eclipsecs-updatesite_${version}.zip";
309 sha256 = "07fymk705x4mwq7vh2i6frsf67jql4bzrkdzhb4n74zb0g1dib60";
310 };
311
312 meta = with lib; {
313 homepage = "https://eclipse-cs.sourceforge.net/";
314 description = "Checkstyle integration into the Eclipse IDE";
315 sourceProvenance = with sourceTypes; [ binaryBytecode ];
316 license = licenses.lgpl21;
317 platforms = platforms.all;
318 };
319
320 };
321
322 color-theme = buildEclipsePlugin rec {
323 name = "color-theme-${version}";
324 version = "1.0.0.201410260308";
325
326 srcFeature = fetchurl {
327 url = "https://eclipse-color-theme.github.io/update/features/com.github.eclipsecolortheme.feature_${version}.jar";
328 sha256 = "128b9b1cib5ff0w1114ns5mrbrhj2kcm358l4dpnma1s8gklm8g2";
329 };
330
331 srcPlugin = fetchurl {
332 url = "https://eclipse-color-theme.github.io/update/plugins/com.github.eclipsecolortheme_${version}.jar";
333 sha256 = "0wz61909bhqwzpqwll27ia0cn3anyp81haqx3rj1iq42cbl42h0y";
334 };
335
336 meta = with lib; {
337 homepage = "http://eclipsecolorthemes.org/";
338 description = "Plugin to switch color themes conveniently and without side effects";
339 sourceProvenance = with sourceTypes; [ binaryBytecode ];
340 license = licenses.epl10;
341 platforms = platforms.all;
342 };
343 };
344
345 cup = buildEclipsePlugin rec {
346 name = "cup-${version}";
347 version = "1.1.0.201604221613";
348 version_ = "1.0.0.201604221613";
349
350 srcFeature = fetchurl {
351 url = "http://www2.in.tum.de/projects/cup/eclipse/features/CupEclipsePluginFeature_${version}.jar";
352 sha256 = "13nnsf0cqg02z3af6xg45rhcgiffsibxbx6h1zahjv7igvqgkyna";
353 };
354
355 srcPlugins = [
356 (fetchurl {
357 url = "http://www2.in.tum.de/projects/cup/eclipse/plugins/CupReferencedLibraries_${version_}.jar";
358 sha256 = "0kif8kivrysprva1pxzajm88gi967qf7idhb6ga2xpvsdcris91j";
359 })
360
361 (fetchurl {
362 url = "http://www2.in.tum.de/projects/cup/eclipse/plugins/de.tum.in.www2.CupPlugin_${version}.jar";
363 sha256 = "022phbrsny3gb8npb6sxyqqxacx138q5bd7dq3gqxh3kprx5chbl";
364 })
365 ];
366
367 propagatedBuildInputs = [ zest ];
368
369 meta = with lib; {
370 homepage = "http://www2.cs.tum.edu/projects/cup/eclipse.php";
371 description = "IDE for developing CUP based parsers";
372 sourceProvenance = with sourceTypes; [ binaryBytecode ];
373 platforms = platforms.all;
374 maintainers = [ maintainers.romildo ];
375 };
376 };
377
378 drools = buildEclipseUpdateSite rec {
379 name = "drools-${version}";
380 version = "7.17.0.Final";
381
382 src = fetchzip {
383 url = "https://download.jboss.org/drools/release/${version}/droolsjbpm-tools-distribution-${version}.zip";
384 hash = "sha512-dWTS72R2VRgGnG6JafMwZ+wd+1e13pil0SAz2HDMXUmtgYa9iLLtma3SjcDJeWdOoblzWHRu7Ihblx3+Ogb2sQ==";
385 postFetch = ''
386 # update site is a couple levels deep, alongside some other irrelevant stuff
387 cd $out;
388 find . -type f -not -path ./binaries/org.drools.updatesite/\* -exec rm {} \;
389 rmdir sources;
390 mv binaries/org.drools.updatesite/* .;
391 rmdir binaries/org.drools.updatesite binaries;
392 '';
393 };
394
395 meta = with lib; {
396 homepage = "https://www.drools.org/";
397 description = "Drools is a Business Rules Management System (BRMS) solution";
398 sourceProvenance = with sourceTypes; [ binaryBytecode ];
399 license = licenses.asl20;
400 };
401 };
402
403 eclemma = buildEclipseUpdateSite rec {
404 name = "eclemma-${version}";
405 version = "2.3.2.201409141915";
406
407 src = fetchzip {
408 stripRoot = false;
409 url = "mirror://sourceforge/project/eclemma/01_EclEmma_Releases/2.3.2/eclemma-2.3.2.zip";
410 sha256 = "0w1kwcjh45p7msv5vpc8i6dsqwrnfmjama6vavpnxlji56jd3c43";
411 };
412
413 meta = with lib; {
414 homepage = "https://www.eclemma.org/";
415 description = "EclEmma is a free Java code coverage tool for Eclipse";
416 sourceProvenance = with sourceTypes; [ binaryBytecode ];
417 license = licenses.epl10;
418 platforms = platforms.all;
419 };
420 };
421
422 findbugs = buildEclipsePlugin rec {
423 name = "findbugs-${version}";
424 version = "3.0.1.20150306-5afe4d1";
425
426 srcFeature = fetchurl {
427 url = "http://findbugs.cs.umd.edu/eclipse/features/edu.umd.cs.findbugs.plugin.eclipse_${version}.jar";
428 sha256 = "1m9fav2xlb9wrx2d00lpnh2sy0w5yzawynxm6xhhbfdzd0vpfr9v";
429 };
430
431 srcPlugin = fetchurl {
432 url = "http://findbugs.cs.umd.edu/eclipse/plugins/edu.umd.cs.findbugs.plugin.eclipse_${version}.jar";
433 sha256 = "10p3mrbp9wi6jhlmmc23qv7frh605a23pqsc7w96569bsfb5wa8q";
434 };
435
436 meta = with lib; {
437 homepage = "http://findbugs.sourceforge.net/";
438 description = "Plugin that uses static analysis to look for bugs in Java code";
439 sourceProvenance = with sourceTypes; [ binaryBytecode ];
440 license = licenses.epl10;
441 platforms = platforms.all;
442 };
443 };
444
445 freemarker = buildEclipseUpdateSite rec {
446 name = "freemarker-${version}";
447 version = "1.5.305";
448
449 src = fetchzip {
450 url = "https://github.com/ddekany/jbosstools-freemarker/releases/download/v${version}/freemarker.site-${version}.zip";
451 sha256 = "1qrhi300vk07gi14r445wvy0bvghbjd6c4k7q09pqpaxv6raiczn";
452 stripRoot = false;
453 };
454
455 meta = with lib; {
456 homepage = "https://github.com/ddekany/jbosstools-freemarker";
457 description = "Plugin that provides an editor for Apache FreeMarker files";
458 sourceProvenance = with sourceTypes; [ binaryBytecode ];
459 };
460 };
461
462 embed-cdt = buildEclipseUpdateSite rec {
463 name = "embed-cdt-${version}";
464 version = "6.3.1";
465
466 src = fetchzip {
467 stripRoot = true;
468 url = "https://github.com/eclipse-embed-cdt/eclipse-plugins/archive/v${version}.zip";
469 sha256 = "sha256-0wHRIls48NGDQzD+wuX79Thgiax+VVYVPJw2Z6NEzsg=";
470 };
471
472 meta = with lib; {
473 homepage = "https://github.com/eclipse-embed-cdt/eclipse-plugins";
474 description = "Embedded C/C++ Development Tools (formerly GNU MCU/ARM Eclipse)";
475 sourceProvenance = with sourceTypes; [ binaryBytecode ];
476 license = licenses.epl20;
477 platforms = platforms.all;
478 maintainers = [ maintainers.bjornfor ];
479 };
480 };
481 gnuarmeclipse = embed-cdt; # backward compat alias, added 2022-11-04
482
483 jsonedit = buildEclipsePlugin rec {
484 name = "jsonedit-${version}";
485 version = "1.1.1";
486
487 srcFeature = fetchurl {
488 url = "https://boothen.github.io/Json-Eclipse-Plugin/features/jsonedit-feature_${version}.jar";
489 sha256 = "0zkg8d8x3l5jpfxi0mz9dn62wmy4fjgpwdikj280fvsklmcw5b86";
490 };
491
492 srcPlugins =
493 let
494 fetch =
495 { n, h }:
496 fetchurl {
497 url = "https://boothen.github.io/Json-Eclipse-Plugin/plugins/jsonedit-${n}_${version}.jar";
498 sha256 = h;
499 };
500 in
501 map fetch [
502 {
503 n = "core";
504 h = "0svs0aswnhl26cqw6bmw30cisx4cr50kc5njg272sy5c1dqjm1zq";
505 }
506 {
507 n = "editor";
508 h = "1q62dinrbb18aywbvii4mlr7rxa20rdsxxd6grix9y8h9776q4l5";
509 }
510 {
511 n = "folding";
512 h = "1qh4ijfb1gl9xza5ydi87v1kyima3a9sh7lncwdy1way3pdhln1y";
513 }
514 {
515 n = "model";
516 h = "1pr6k2pdfdwx8jqs7gx7wzn3gxsql3sk6lnjha8m15lv4al6d4kj";
517 }
518 {
519 n = "outline";
520 h = "1jgr2g16j3id8v367jbgd6kx6g2w636fbzmd8jvkvkh7y1jgjqxm";
521 }
522 {
523 n = "preferences";
524 h = "027fhaqa5xbil6dmhvkbpha3pgw6dpmc2im3nlliyds57mdmdb1h";
525 }
526 {
527 n = "text";
528 h = "0clywylyidrxlqs0n816nhgjmk1c3xl7sn904ki4q050amfy0wb2";
529 }
530 ];
531
532 propagatedBuildInputs = [ antlr-runtime_4_7 ];
533
534 meta = with lib; {
535 description = "Adds support for JSON files to Eclipse";
536 homepage = "https://github.com/boothen/Json-Eclipse-Plugin";
537 sourceProvenance = with sourceTypes; [ binaryBytecode ];
538 license = licenses.epl10;
539 platforms = platforms.all;
540 };
541 };
542
543 jdt-codemining = buildEclipsePlugin rec {
544 name = "jdt-codemining-${version}";
545 version = "1.0.0.201806221018";
546
547 srcFeature = fetchurl {
548 url = "http://oss.opensagres.fr/jdt-codemining/snapshot/features/jdt-codemining-feature_${version}.jar";
549 sha256 = "1vy30rsb9xifn4r1r2n84d48g6riadzli1xvhfs1mf5pkm5ljwl6";
550 };
551
552 srcPlugin = fetchurl {
553 url = "http://oss.opensagres.fr/jdt-codemining/snapshot/plugins/org.eclipse.jdt.codemining_${version}.jar";
554 sha256 = "0qdzlqcjcm2i4mwhmcdml0am83z1dayrcmf37ji7vmw6iwdk1xmp";
555 };
556
557 meta = with lib; {
558 homepage = "https://github.com/angelozerr/jdt-codemining";
559 description = "Provides JDT Java CodeMining";
560 sourceProvenance = with sourceTypes; [ binaryBytecode ];
561 license = licenses.epl10;
562 platforms = platforms.all;
563 };
564 };
565
566 rustdt = buildEclipseUpdateSite rec {
567 name = "rustdt-${version}";
568 version = "0.6.2";
569 owner = "RustDT";
570 repo = "rustdt.github.io";
571 rev = "5cbe753008c40555c493092a6f4ae1ffbff0b3ce";
572
573 src = fetchzip {
574 stripRoot = false;
575 url = "https://github.com/${owner}/${repo}/archive/${rev}.zip";
576 sha256 = "1xfj4j27d1h4bdf2v7f78zi8lz4zkkj7s9kskmsqx5jcs2d459yp";
577 postFetch = ''
578 mv "$out/${repo}-${rev}/releases/local-repo/"* "$out/"
579 '';
580 };
581
582 meta = with lib; {
583 homepage = "https://github.com/RustDT";
584 description = "Rust development tooling";
585 sourceProvenance = with sourceTypes; [ binaryBytecode ];
586 license = licenses.epl10;
587 platforms = platforms.all;
588 };
589 };
590
591 scala = buildEclipseUpdateSite rec {
592 name = "scala-${version}";
593 version = "4.4.1.201605041056";
594
595 src = fetchzip {
596 url = "http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/base-20160504-1321.zip";
597 sha256 = "13xgx2rwlll0l4bs0g6gyvrx5gcc0125vzn501fdj0wv2fqxn5lw";
598 };
599
600 meta = with lib; {
601 homepage = "http://scala-ide.org/";
602 description = "Scala IDE for Eclipse";
603 sourceProvenance = with sourceTypes; [ binaryBytecode ];
604 license = licenses.bsd3;
605 platforms = platforms.all;
606 };
607 };
608
609 spotbugs = buildEclipseUpdateSite rec {
610 name = "spotbugs-${version}";
611 version = "3.1.11";
612
613 src = fetchzip {
614 stripRoot = false;
615 url = "https://github.com/spotbugs/spotbugs/releases/download/${version}/eclipsePlugin.zip";
616 sha256 = "0aanqwx3gy1arpbkqd846381hiy6272lzwhfjl94x8jhfykpqqbj";
617 };
618
619 meta = with lib; {
620 homepage = "https://spotbugs.github.io/";
621 description = "Plugin that uses static analysis to look for bugs in Java code";
622 sourceProvenance = with sourceTypes; [ binaryBytecode ];
623 license = licenses.lgpl21;
624 platforms = platforms.all;
625 };
626 };
627
628 testng = buildEclipsePlugin rec {
629 name = "testng-${version}";
630 version = "6.9.13.201609291640";
631
632 srcFeature = fetchurl {
633 url = "http://beust.com/eclipse-old/eclipse_${version}/features/org.testng.eclipse_${version}.jar";
634 sha256 = "02wzcysl7ga3wnvnwp6asl8d77wgc547c5qqawixw94lw6fn1a15";
635 };
636
637 srcPlugin = fetchurl {
638 url = "http://beust.com/eclipse-old/eclipse_${version}/plugins/org.testng.eclipse_${version}.jar";
639 sha256 = "1j4zw6392q3q6z3pcy803k3g0p220gk1x19fs99p0rmmdz83lc8d";
640 };
641
642 meta = with lib; {
643 homepage = "https://testng.org/doc/";
644 description = "Eclipse plugin for the TestNG testing framework";
645 sourceProvenance = with sourceTypes; [ binaryBytecode ];
646 license = licenses.asl20;
647 platforms = platforms.all;
648 };
649 };
650
651 vrapper = buildEclipseUpdateSite rec {
652 name = "vrapper-${version}";
653 version = "0.72.0";
654 owner = "vrapper";
655 repo = "vrapper";
656 date = "20170311";
657
658 src = fetchzip {
659 stripRoot = false;
660 url = "https://github.com/${owner}/${repo}/releases/download/${version}/vrapper_${version}_${date}.zip";
661 sha256 = "0nyirf6km97q211cxfy01kidxac20m8ba3kk9xj73ykrhsk3cxjp";
662 };
663
664 meta = with lib; {
665 homepage = "https://github.com/vrapper/vrapper";
666 description = "Wrapper to provide a Vim-like input scheme for moving around and editing text";
667 sourceProvenance = with sourceTypes; [ binaryBytecode ];
668 license = licenses.gpl3;
669 platforms = platforms.all;
670 maintainers = [ maintainers.stumoss ];
671 };
672 };
673
674 yedit = buildEclipsePlugin rec {
675 name = "yedit-${version}";
676 version = "1.0.20.201509041456";
677
678 srcFeature = fetchurl {
679 url = "http://dadacoalition.org/yedit/features/org.dadacoalition.yedit.feature_${version}-RELEASE.jar";
680 sha256 = "0rps73y19gwlrdr8jjrg3rhcaaagghnmri8297inxc5q2dvg0mlk";
681 };
682
683 srcPlugin = fetchurl {
684 url = "http://dadacoalition.org/yedit/plugins/org.dadacoalition.yedit_${version}-RELEASE.jar";
685 sha256 = "1wpyw4z28ka60z36f8m71kz1giajcm26wb9bpv18sjiqwdgx9v0z";
686 };
687
688 meta = with lib; {
689 homepage = "https://github.com/oyse/yedit";
690 description = "YAML editor plugin for Eclipse";
691 sourceProvenance = with sourceTypes; [ binaryBytecode ];
692 license = licenses.epl10;
693 platforms = platforms.all;
694 };
695 };
696
697 zest = buildEclipseUpdateSite rec {
698 name = "zest-${version}";
699 version = "3.9.101";
700
701 src = fetchurl {
702 url = "http://archive.eclipse.org/tools/gef/downloads/drops/${version}/R201408150207/GEF-${name}.zip";
703 sha256 = "01scn7cmcrjcp387spjm8ifgwrwwi77ypildandbisfvhj3qqs7m";
704 };
705
706 meta = with lib; {
707 homepage = "https://www.eclipse.org/gef/zest/";
708 description = "Eclipse Visualization Toolkit";
709 sourceProvenance = with sourceTypes; [ binaryBytecode ];
710 platforms = platforms.all;
711 maintainers = [ maintainers.romildo ];
712 };
713 };
714
715 ivyde = buildEclipsePlugin rec {
716 name = "ivyde-${version}";
717 version = "2.2.0.final-201311091524-RELEASE";
718
719 srcFeature = fetchurl {
720 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/features/org.apache.ivyde.feature_${version}.jar";
721 hash = "sha256-iKe7oOPjy6th0HmKt6NXexOHN60EDpQe1r+n6K+uoyw=";
722 };
723
724 srcPlugin = fetchurl {
725 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/plugins/org.apache.ivyde.eclipse_${version}.jar";
726 hash = "sha256-lhwFwdMDwCIUrQjdWfe5ZSutCIsKtZSBT6FWthUipdk=";
727 };
728
729 meta = with lib; {
730 homepage = "https://ant.apache.org/ivy/ivyde/index.html";
731 description = "Plugin which integrates Apache Ivy's dependency management";
732 sourceProvenance = with sourceTypes; [ binaryBytecode ];
733 license = licenses.asl20;
734 platforms = platforms.all;
735 maintainers = [ maintainers.r3dl3g ];
736 };
737 };
738
739 ivyderv = buildEclipsePlugin rec {
740 name = "ivyderv-${version}";
741 version = "2.2.0.final-201311091524-RELEASE";
742
743 srcFeature = fetchurl {
744 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/features/org.apache.ivyde.eclipse.resolvevisualizer.feature_${version}.jar";
745 hash = "sha256-PSH5NtE7hN2hHoHUhVK1CLkHN7YSDdTTqBP7711X4rU=";
746 };
747
748 srcPlugin = fetchurl {
749 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivyde-${version}/plugins/org.apache.ivyde.eclipse.resolvevisualizer_${version}.jar";
750 hash = "sha256-qjTvn1j7viSfzLkWnYjyS9Pj2ExqsiFGLzot3+oB0Tw=";
751 };
752
753 meta = with lib; {
754 homepage = "https://ant.apache.org/ivy/ivyde/index.html";
755 description = "Graph viewer of the resolved dependencies";
756 longDescription = ''
757 Apache IvyDE Resolve Visualizer is an optional dependency of Apache IvyDE since
758 it requires additional plugins to be installed (Zest).
759 '';
760 sourceProvenance = with sourceTypes; [ binaryBytecode ];
761 license = licenses.asl20;
762 platforms = platforms.all;
763 maintainers = [ maintainers.r3dl3g ];
764 };
765 };
766
767 ivy = buildEclipsePlugin rec {
768 name = "ivy-${version}";
769 version = "2.5.0.final_20191020104435";
770
771 srcFeature = fetchurl {
772 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/features/org.apache.ivy.eclipse.ant.feature_${version}.jar";
773 sha256 = "de6134171a0edf569bb9b4c3a91639d469f196e86804d218adfdd60a5d7fa133";
774 };
775
776 srcPlugin = fetchurl {
777 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/plugins/org.apache.ivy.eclipse.ant_${version}.jar";
778 sha256 = "9e8ea20480cf73d0f0f3fb032d263c7536b24fd2eef71beb7d62af4e065f9ab5";
779 };
780
781 meta = with lib; {
782 homepage = "https://ant.apache.org/ivy/index.html";
783 description = "Popular dependency manager focusing on flexibility and simplicity";
784 sourceProvenance = with sourceTypes; [ binaryBytecode ];
785 license = licenses.asl20;
786 platforms = platforms.all;
787 maintainers = [ maintainers.r3dl3g ];
788 };
789 };
790
791 ivyant = buildEclipsePlugin rec {
792 name = "ivyant-${version}";
793 version = "2.5.0.final_20191020104435";
794
795 srcFeature = fetchurl {
796 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/features/org.apache.ivy.eclipse.ant.feature_${version}.jar";
797 sha256 = "de6134171a0edf569bb9b4c3a91639d469f196e86804d218adfdd60a5d7fa133";
798 };
799
800 srcPlugin = fetchurl {
801 url = "https://downloads.apache.org/ant/ivyde/updatesite/ivy-${version}/plugins/org.apache.ivy.eclipse.ant_${version}.jar";
802 sha256 = "9e8ea20480cf73d0f0f3fb032d263c7536b24fd2eef71beb7d62af4e065f9ab5";
803 };
804
805 meta = with lib; {
806 homepage = "https://ant.apache.org/ivy/ivyde/index.html";
807 description = "Ant Tasks integrated into Eclipse's Ant runtime";
808 sourceProvenance = with sourceTypes; [ binaryBytecode ];
809 license = licenses.asl20;
810 platforms = platforms.all;
811 maintainers = [ maintainers.r3dl3g ];
812 };
813 };
814}