]> source.dussan.org Git - aspectj.git/commit
Recreate lib/commons from Apache Commons downloads
authorAlexander Kriegisch <Alexander@Kriegisch.name>
Mon, 29 Mar 2021 05:45:27 +0000 (12:45 +0700)
committerAlexander Kriegisch <Alexander@Kriegisch.name>
Mon, 29 Mar 2021 06:52:01 +0000 (13:52 +0700)
commit4a9828250970cdb4ac303a393cd516cf6be3ce7e
treeef15fd4f917a5abb7adfe8cd3c160e2ffacd5361
parentd574f1c039c92108fd0845f7c6775588b69041a0
Recreate lib/commons from Apache Commons downloads

Project archeology, binary and source code comparisons of contents in
lib/commons/commons.jar and lib/commons/commons-src.zip yielded the
following results:
  - All binaries are available on Maven Central in 4 different legacy
    Apache Commons dependencies:
      * commons-beanutils:commons-beanutils:1.4
      * commons-collections:commons-collections:2.0
      * commons-digester:commons-digester:1.3
      * commons-logging:commons-logging:1.0.1
  - Those Maven Central binaries are not accompanied by source JARs,
    i.e. in order to recreate lib/commons/commons-src.zip we have to
    download source archives from the corresponding Git tags. All
    projects are available on GitHub, so it is possible to download them
    using Maven Download Plugin.
  - Both the compound binaries and compound sources archives currently
    checked in in AspectJ can be recreated using TrueZIP Maven Plugin.
    This is rather tedious and involves additional Maven profiles in
    order not to generate the compound archives during every build, but
    fully implemented now.

Unfortunately, all of the above does not make the system-scoped
dependency on commons.jar obsolete. In order to achieve that, we either
have to publish the compound files on Maven Central or GitHub Packages,
or we find out which AspectJ modules use classes from which of the 4
individual Apache Commons packages and replace the compound system
dependency by the relevant single dependencies. Probably I am going to
try that in a next step.

Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
libx/pom.xml