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