Eclipse Build Technology Comparison
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

 
$
%
123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
|
 
Still loading...
ABCDEFGHIJKLMNOPQRST
1
AthenaPDE/Build (Do we distinguish Build vs UI ? )b3 (planned)BuckminsterTychoMaven
2
Runs HeadlessYesyesYesYesYes
3
Runs in WorkspaceRuns FROM workspace as external tool (Ant Build), but no debugging with breakpoints possible- Targets workspaces.
- Runs as external tool (ant script)
- Runs as self hosted eclipse (org.eclipse.ant.core.antRunner)

- PDE/Build does NOT know IWorkspace or IResource. PDE/UI does
Yes,Same build headless as in workspace.Yes. Buckminster runs the exact same build in the IDE as it does headlesslyYes using m2eclipse
4
Will run the builders defined in the .project fileNoYesYes
5
Runs on build.eclipse.orgYesYesYesYesYes
6
7
Automatic Classpath generationyesyesyes (through PDE)Yes (through PDE)
8
supports nested librariesyesyesyes (through PDE)Yes (through PDE)
9
classpath generation per nested library/Separate compiler invocation per libraryyesyesyes (through ant-calls to PDE)Yes (through ant-calls to PDE)
10
Access rules on classpathyes (requires JDT compiler)yes (requires JDT compiler)yesYes
11
Per bundle boot classpath (execution environment)yesyessame as buckminsterI think so (through PDE)
12
per library java compiler warning/error settings?yes (errors new in 3.6)same as buckminsteryes (through JDT) //JDT is per project, related to compiler invocation per library
13
Exactly the same warnings/errors headlessly as when doing a workspace build in the IDE (i.e. uses preference settings for the Java compiler, PDE compiler, etc.)not entirely as pde UI != pde buildYesYes
14
15
RT/SDK ("Runnable") dependenciesYesyesYesYesNo
16
Update Site dependenciesYesyes via p2YesYesYes
17
Local p2 Repo dependenciesYesyesYesYesYes?
18
Local p2 Repo Zip dependenciesYesyesYesYesYes?
19
Remote p2 Repo dependenciesYesyesYesYesYes
20
Remote p2 Repo Zip dependenciesYesyesYesYesNo?
21
Maven repository dependenciesnot yetnoYesYes
22
Extracts dependencies from existing meta-data (i.e. feature.xml, manfiest.mf, etc.)yesyesYesYesYes
23
Can transitively resolve dependenciesyesyes, resolves an OSGi stateYesYesYes
24
Finds source using team project set filesnot yetNo.
possible using extension point
YesYesNo
25
Finds source using pattern matching. This means that the builder is capable of finding source in a SCM based on pattern matching (as with the Buckminster RMAP)?No (? not sure what this means)YesYesNo
26
Automatic provisioning of workspace and target platform based on dependencies extracted from meta-datano, must be stated in build.propertiesyesYesYes
27
Build in support to gather source and binaries differently depending on build type (Nightly, Integration, Release, etc.)yes, if using fetchTag override in map files, but limitednoYesYesNo - sources must already be on disk before build starts
28
Graphical representation of depencency tree (source and binaries)nonoyesYes
29
30
Automatic source gatheringyesyesyesYesNo
31
Automatic source bundle generationyesyesyesYesComing soon
32
Automatic source feature generationyesyesyesYesComing soon
33
34
build a single "all in one" featureYesYesYesYesYes
35
build multiple featuresNO (must combine them into a single feature)YesYesYesYes
36
build a productNOYesYesYesYes
37
38
39
40
build test featureYesYessame as buckminsterYes
41
Headless UI testing (JUnit 3)YesNo (tests are PDE/UI)same as buckminsterYes
42
Headless UI testing (JUnit 4)NO - uses Eclipse 3.5 Test Framework for nowNo (tests are PDE/UI)same as buckminsterYes
43
Headless UI testing (SWTBot)NO - uses Eclipse 3.5 Test Framework for nowNosame as buckminsterYes
44
Can run build & tests together as a single operationYes: 3 build.steps are needed to build master feature, tests feature, then run tests; cannot set breakpoints to debugNoyesYesYes
45
Can run tests headlessly from directly from workspaceYes, if run against the output of a previous build; cannot set breakpoints to debugno (test are UI)yesYesYes
46
Built in support for code-coveragenot yetNo YesYes, eg., emma
47
48
produces runnable zipsOPTIONALYesyesYesNo
49
produces update site zipYesyesyesYesYes
50
produces update site (unpacked)OPTIONALYes - if correct option enabledyesYesYes
51
Produces update site with signed content using eclipse.org's signeryes, if run on build.eclipse.org or by a user who can ssh to build.eclipse.org and run jarsigner yesyesYesYes (see egit/jgit jobs on build.eclipse.org)
52
Produces update site with signed content using jarsigneryesYes
53
Produces pack200 packed update siteyes; supports overrides to disable all packing or disable some plugins from packingyes (in some setups)yesYesNo
54
Refrains using pack200 on files that do not need it (i.e. files that don't contain .class files or nested jars with .class files)yesYesn/a
55
produces maven repoNONosame as BuckminsterBucky Aggregator can produce a "Mavenized" p2 repoYesYes
56
Can perform conditional aggregation of repositories with validated resultsame as BuckminsterYes, using Buckminster aggregatorYes - site aggregation is simply a site build using p2 repos instead of locally build artifacts
57
58
Easy to install into an IDERequires eclipse or basebuilder to run; can fetch other dependencies as needed (eg. ant-contrib)Ships in Eclipse SDK. Requires eclipse to runyesYesYes - m2eclipse includes embedded Maven2; however, for Tycho builds need to manually install Maven3
59
Uses a coherent and well-defined build modeluses OSGi BundleDescription + extras in build.propertiesuses OSGi BundleDescriptionyesYesYes
60
Well documentedopinions vary :)opinions vary :)Will be :). Same type of documentation as for Buckminster is planned.YesYes
61
62
63
Per file/folder/library text encoding?yessame as buckminster :)Gahh, you got me there :)
64
65
Can read and write ecore modelsnonoyesno, not controllable from within buckminster meta-data. Aggregator reads/writes model files, but not in the general sense
66
Can contain build actions directly in "meta data"?only products via p2yesuses "actors" to call java, ant, etc.
67
Can provide "meta-data-advice" to correct/override/ amend stated metadata.?as supported by p2yesyes
68
Can advise components/units with new actions.noyesyes, but requires adding new component types.
69
Version qualifier replacement using propertiesyesyesyesYesyes
70
Version qualifier replacement using build timestampyesyesyesYesyes
71
Version qualifier replacement using timestamp of sourceyesyesyesYesyes
72
Version qualifier replacement using preset tagsyesyesyesYesyes
73
Version qualifier replacement using source revision (for SVN and the like)not yetNo.yesYesyes
74
75
hookable/extendibleyes, YMMVyesyes, very extensible with access to java and ecore models.yes, rich extension point model.yes, Maven plugin model is well documented and well used.
76
sequential/parallel build semanticssee PDEparallel compilationsupported in b3 model, first version will use sequential building.yes, can be achieved using ant
77
supports parallel monitor locks (i.e. disjunct actions that needs to be sequential)see PDEcompilation only (groups of bundles are sequentially compiled in parallel)supported in b3 model, not supported by runtime in first version.no
78
79
handles cyclesyes, per PDE No. (cycles only in precompiled binary requirements)yes (through PDE workspace build)Yes (through PDE workspace build)
80
81
82
products - root filesnot yetyesyesyes
83
products - filesystem linksnot yetyes, in the rootfiles. in bundles as supported by p2yes (same as PDE/Build)yes (same as PDE/Build)
84
chmodyesyes in rootfiles, in bundles as supported by p2yes (same as PDE/Build)yes (same as PDE/Build)
85
automatic config.ini generationnot yetyesyesyes
86
automatic eclipse.ini generationnot yetyesyesyes
87
executable icon brandingnot yetyesyesyes
88
multiple platforms at onceyesyesyesyes
89
mixed builds / some parts platform agnostic, others specific to one or several platforms (i.e. from one top action)yesyes? builds a set of "configs" platform independent is one configyesyes
90
91
Has human friendly DSLno, but human friendly property filesnoyesno, uses "human friendly" XML (or forms based UI)
92
Can import/reuse common definitions/ DSL statements / XML meta data.?yessupport varies - properties yes, resource maps yes, aggregator can use contributions.
93
Supports single step debugging of buildnot reallyyes. Debugging of ANT or Java (but not both at once)yesyes (as PDE/Build but free from generated ant-scripts)
94
Supports debugging in terms of DSL/equivalentnonoyesno
95
JNLP manifest generation?yesyesyes
96
97
Mulitple archive typesI think you get antZip only hereantZip, antTar, native tar.gz, native zip yes ( through built in ant-tasks)yes (through built in ant-tasks)yes
98
99
Has full expression language (i.e. string manipulations, pattern matching, calling functions/methods etc. where needed instead of just having static values (in properties or elsewhere))to express what, exactly?noyesno, has declarative expressions for property manipulation, has matching supports in some declarative statements. Can be extended with ANT, or plugins.can extend with Ant + Ant-contrib + whatever else you need to hook in extra steps during build
100
Loading...
 
 
 
Sheet1