Hi all,
Currently NetBeans modules define themselves the exact version of
third-party binaries, for instance:
netbinox depends on org.eclipse.osgi_3.9.1.v20140110-1610
and
o.eclipse.core.runtime depends on org.eclipse.core.runtime-3.7.0
Would it be a good idea to specify the exact versions of these in a
separate, centralized, release-specific version file?
I was thinking of defining some centralized properties files like [1]
that we could use to select appropriate, coherent versions of
third-party software for different modules at once. This will ensure
selected versions work well together.
Modules could refer then to binaries by a token (say
"org.eclipse.core.contenttype") and forget about specific versions
themselves.
The DownloadBinaries.java ant task could then use these properties files
to download proper versions.
Opnions? Should I give this a go?
Thanks,
Antonio
[1]
A sample properties file defining the exact versions of modules
o.eclipse.core.*, netbinox and o.eclipse.equinox.*
These versions are known to work properly together.
The properties file defines an alias ("org.eclipse.core.contenttype")
mapped to a SHA-1 hash and a Maven coordinate
("22CC2EBF3A23003F646323CDA38888F31CA6FD15
org.eclipse.platform:org.eclipse.core.contenttype:3.6.0"), just like in
external/binaries-list
org.eclipse.core.contenttype=22CC2EBF3A23003F646323CDA38888F31CA6FD15
org.eclipse.platform:org.eclipse.core.contenttype:3.6.0
org.eclipse.core.jobs=591A398580D6DFECDA2CA18EDA1A176C79875B7C
org.eclipse.platform:org.eclipse.core.jobs:3.9.0
org.eclipse.core.net=60A0B8927D017917546A76F091636DA4DA421DC9
org.eclipse.platform:org.eclipse.core.net:1.3.100
org.eclipse.core.runtime=5A1B57E5C1753858B3FF36876014A547EE608129
org.eclipse.platform:org.eclipse.core.runtime:3.13.0
org.eclipse.equinox.app=04C01F677E982499789FFA78B628EA67693DB949
org.eclipse.platform:org.eclipse.equinox.app:1.3.400
org.eclipse.equinox.common=A22125896FF8E25CE913371F54898AF733953ECB
org.eclipse.platform:org.eclipse.equinox.common:3.9.0
org.eclipse.equinox.preferences=78F9996FE3EAFA560A09EEE083C22154C689FFE1
org.eclipse.platform:org.eclipse.equinox.preferences:3.7.0
org.eclipse.equinox.registry=9874E42C373D8F90338DBB9A38DAB1DD81EFFFB5
org.eclipse.platform:org.eclipse.equinox.registry:3.7.0
org.eclipse.equinox.security=34FF7FB0878EE4297A6E99E5223D1F74D87D9C8D
org.eclipse.platform:org.eclipse.equinox.security:1.2.300
org.eclipse.osgi=D06B54D6947E5956694DEAE4AFEC4538711A7D08
org.eclipse.platform:org.eclipse.osgi:3.12.0